이 튜토리얼은 다음의 일부입니다: SunFounder Raspberry Pi Pico Pico 4WD 스마트카 키트
이 그룹과 관련된 파일들이 함께 표시됩니다. 다른 동영상 링크는 이 글 아래에 있습니다.
코스 강의 2/10: 라즈베리 파이 피코 4WD 스마트 카 키트를 구동하는 기초 파이썬
이번 Robojax Raspberry Pi Pico 4WD 스마트카 강좌의 두 번째 수업에서는 로봇을 제어하는 데 필요한 기본적인 Python 프로그래밍 개념을 깊이 있게 다룹니다. 이 가이드는 코딩 경험이 전혀 없는 상태에서 하드웨어를 제어하는 스크립트를 자신 있게 작성할 수 있도록 설계되었습니다. 단순히 문법을 암기하는 대신 각 개념 뒤에 숨은 '이유'를 탐구하여 자신만의 프로젝트를 구축하고 맞춤화할 수 있는 도구를 제공합니다. 이 수업이 끝나면 모든 향후 프로젝트의 기초가 되는 변수, 제어 흐름, 함수, 리스트에 대한 확실한 이해를 갖게 될 것입니다.
이 지식은 스마트카에만 국한되지 않습니다. 여기서 배우는 원리는 수많은 실제 응용 프로그램에서 사용되는 것과 동일합니다. 이러한 기술을 다음과 같은 분야에 적용할 수 있습니다:
- 센서 데이터를 기반으로 팬, 펌프, 조명을 제어하는 가정용 온실 자동화.
- 경보를 울리거나 알림을 보내는 맞춤형 보안 시스템 구축.
- 환경에 반응하는 인터랙티브 아트 설치물 제작.
- 사전 프로그래밍된 동작을 넘어 자신만의 맞춤형 로봇 동작 개발.
하드웨어/부품
이 수업의 하드웨어 예제를 따라 하려면 다음 부품이 필요합니다. 이 모든 부품은 SunFounder Raspberry Pi Pico 4WD 스마트카 키트에 포함되어 있지만, 독립적인 실험을 위해 개별적으로 구매할 수도 있습니다.
- Raspberry Pi Pico: 프로젝트의 두뇌 역할을 하는 마이크로컨트롤러입니다.
- LED: 디지털 출력 제어를 시연하는 데 사용됩니다.
- 저항(150Ω - 330Ω): 전류를 제한하고 LED를 보호합니다.
- 점퍼 와이어: 브레드보드에서 연결을 만드는 데 사용됩니다.
- 브레드보드: 회로 프로토타입 제작용입니다.
배선 가이드
이 수업의 하드웨어 시연에서는 Raspberry Pi Pico로 LED를 제어하는 간단한 회로를 구축합니다. 배선은 간단하며 물리적 컴퓨팅의 고전적인 첫 단계입니다. 핵심은 LED가 타지 않도록 전류 제한 저항을 사용하는 것입니다. 저항은 LED와 직렬로 연결됩니다. LED의 긴 다리(양극)는 양극 연결부이고, 짧은 다리(음극)는 음극 연결부입니다.
비디오에서 강사는 접지 핀과 LED의 짧은 다리에 연결된 저항을 사용합니다. 긴 다리는 GPIO 핀 22에 연결됩니다. 이 설정을 통해 Pico는 핀에 높은(3.3V) 신호를 보내 LED를 켜고 낮은(0V) 신호를 보내 끌 수 있습니다.
참고: 배선도는 비디오에 나와 있습니다. 정확한 위치는 시각적 가이드를 참조하세요.
코드 설명
이 수업은 로봇 제어에 필수적인 핵심 Python 문법과 논리에 중점을 둡니다. 비디오에서 다루는 주요 개념을 자세히 살펴보겠습니다. 코드 예제는 Raspberry Pi Pico와 같은 마이크로컨트롤러에서 실행되도록 설계된 Python 버전인 MicroPython으로 작성되었습니다.
변수와 데이터 유형
변수는 정보를 저장하는 라벨이 붙은 상자와 같습니다. Python에서는 변수의 유형을 선언할 필요가 없으며 할당하는 값에서 자동으로 유추됩니다. (비디오 03:33)
age = 23 # 정수입니다
name = "Ahmad" # 문자열(텍스트)입니다
pi = 3.14 # 실수(소수)입니다
이 변수들을 계산에 사용하고 값을 출력할 수 있습니다. 예를 들어 주어진 나이의 일수를 계산하려면 days = age * 365를 사용할 수 있습니다. print() 함수는 콘솔에 출력을 표시하는 데 사용됩니다.
조건문(If/Else)
조건문을 사용하면 코드가 결정을 내릴 수 있습니다. 이는 장애물을 감지했을 때 멈추는 것처럼 로봇이 환경에 반응하는 데 중요합니다. (비디오 07:39)
age = 16
if age >= 17:
print("운전할 수 있습니다")
else:
print("운전하기에는 너무 어립니다")
if 문은 조건을 확인합니다. 조건이 True이면 아래의 들여쓰기된 코드 블록이 실행됩니다. False이면 else 문 아래의 코드가 실행됩니다. 들여쓰기(줄 시작 부분의 공백)는 Python에서 매우 중요하며 어떤 코드가 어떤 블록에 속하는지 정의합니다.
반복문(For 및 While)
반복문은 코드 블록을 반복하는 데 사용됩니다. 센서 값을 스캔하거나 일련의 단계로 모터를 움직이는 작업에 이상적입니다. (비디오 09:04)
For 반복문: 이 반복문은 특정 횟수만큼 반복합니다.
for x in range(5): # x는 0, 1, 2, 3, 4가 됩니다
print(x)
While 반복문: 이 반복문은 조건이 참인 동안 계속됩니다. 특정 이벤트가 발생할 때까지 영원히 실행되는 메인 프로그램 루프를 만드는 데 유용합니다. (비디오 12:13)
x = 9
while x > 5:
print("x의 값:", x)
x = x - 1 # x 감소
print("반복문 종료")
while True: 반복문에 주의하세요. break 문을 사용하여 반복문을 종료하거나 프로그램을 중지하지 않으면 영원히 실행됩니다.
함수
함수는 특정 작업을 수행하는 재사용 가능한 코드 블록입니다. 코드를 체계적으로 유지하고 반복을 방지하는 데 도움이 됩니다. (비디오 14:52)
def calculate_days(years):
days = years * 365
return days
# 이제 이 함수를 여러 번 사용할 수 있습니다
days_in_10_years = calculate_days(10)
print("10년의 일수:", days_in_10_years)
여기서 calculate_days는 인수(years)를 받아 값을 반환하는 함수입니다. 이는 동일한 계산을 반복해서 작성하는 것보다 효율적입니다. 비디오는 또한 한 함수가 다른 함수를 호출할 수 있는 방법을 보여주며, 이를 통해 간단하고 테스트 가능한 부분들로 복잡한 작업을 구성할 수 있습니다.
리스트
리스트는 항목의 순서가 있는 모음을 저장하는 데 사용됩니다. 이는 로봇을 위한 "앞으로", "뒤로", "왼쪽", "오른쪽"과 같은 명령 시퀀스를 저장하는 데 완벽합니다. (비디오 19:15에서)
move = ["forward", "back", "left", "right", "stop"]
print(len(move)) # 리스트의 항목 수를 출력합니다 (5)
print(move[0]) # 첫 번째 항목인 "forward"를 출력합니다
# 항목을 추가할 수 있습니다
move.append("cliff")
# 항목을 제거할 수 있습니다
move.pop() # "cliff"를 제거합니다
# 항목을 변경할 수 있습니다
move[2] = "fly" # 세 번째 항목을 "fly"로 변경합니다
리스트는 0부터 인덱싱됩니다. 즉, 첫 번째 항목은 인덱스 0에 있습니다. len() 함수는 리스트의 길이를 제공하며, for 루프를 사용하여 모든 항목을 반복할 수 있습니다. 또한 enumerate() 함수가 소개되는데, 이는 루프 중에 인덱스와 값을 모두 제공하여 여러 핀이나 센서를 작업할 때 유용합니다.
핀과 시간 다루기
이 부분은 Python 논리를 물리적 세계에 연결하는 곳입니다. machine 라이브러리를 사용하여 Pico의 GPIO 핀을 제어합니다. (비디오 25:16에서)
from machine import Pin
import time
# 핀 22를 출력으로 설정
led = Pin(22, Pin.OUT)
# LED를 켜고 끕니다
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Pin(2, Pin.IN)으로 핀을 입력으로 설정하여 핀에서 값을 읽을 수도 있습니다. time 라이브러리는 지연(time.sleep())을 추가하고 time.ticks_ms()를 사용하여 경과 시간을 측정하거나 time.localtime() 및 time.mktime()으로 시간 형식을 변환하는 데 필수적입니다. 이는 모터 속도를 제어하기 위한 펄스 폭 변조(PWM) 신호 생성과 같은 시간 기반 논리에 중요합니다.
실시간 프로젝트/데모
비디오에서 강사는 이러한 개념에 대한 실시간 데모를 제공합니다. 그는 Python 인터프리터에서 간단한 print() 문과 변수 할당을 보여주는 것으로 시작합니다. 그런 다음 더 복잡한 예제로 넘어가 if 문이 변수 값에 따라 프로그램의 흐름을 어떻게 변경하는지 시각적으로 보여줍니다.
강사는 Raspberry Pi Pico에 LED를 연결하여 실용적인 하드웨어 예제를 시연합니다. 그는 1초 지연으로 LED를 켜고 끄는 간단한 MicroPython 스크립트를 작성하여 코드로 물리적 출력을 제어하는 직접적인 결과를 보여줍니다. 이 실습 예제는 프로그래밍 논리와 실제 세계의 동작 사이의 연결을 확고히 합니다. 수업은 enumerate를 사용하여 여러 핀을 관리하는 방법과 time 모듈을 사용하여 더 고급 타이밍 및 스케줄링 작업을 수행하는 방법을 보여주며 마무리됩니다.
챕터
- [00:00] Raspberry Pi Pico 스마트 카 코스 소개
- [01:31] 코스 개요 및 키트 기능
- [03:33] Python의 변수와 데이터 유형
- [07:39] 조건문 (If/Else)
- [09:04] For 루프 이해
- [12:13] While 루프 탐구
- [14:52] 함수 정의 및 사용
- [19:15] 리스트 및 데이터 구조 작업
- [25:16] MicroPython으로 GPIO 핀 제어
- [29:54] 실용 예제: LED 깜빡이기
- [31:15] Enumerate를 사용한 고급 핀 제어
- [31:24] 시간 함수 작업
이 튜토리얼은 다음의 일부입니다: SunFounder Raspberry Pi Pico Pico 4WD 스마트카 키트
- 코스 강의 10개 중 1강: Robojax의 SunFounder Raspberry Pi Pico 4WD 스마트 자동차 키트
- 코스 강의 10개 중 3번째: Robojax의 SunFounder Raspberry Pi Pico 4WD 스마트 자동차 키트 조립하기
- 코스 강의 10개 중 4번째: 4WD 스마트 자동차 키트용 라즈베리 파이 피코 확장 보드
- 코스 10개 중 5번째 강의: 라즈베리 파이 피코를 사용한 RGB LED WS2812B 제어
- 코스 강의 10개 중 6번째: 라즈베리 파이 피코 4WD 스마트 자동차 키트를 사용한 DC 모터 제어
- 제10과 중 7과: 라인 트래킹, 절벽 감지 그레이스케일 센서 보정 라즈베리 파이 피코 자동차
- 코스 레슨 10개 중 8번째: 라즈베리 파이 피코 스마트 카 – 레슨 8: 서보 모터와 객체 추적
- 코스 레슨 10개 중 9번째: 라즈베리 파이 피코 4WD 스마트 카를 이용한 장애물 회피
- 코스 강의 10/10: 모바일 앱으로 라즈베리 파이 피코 4WD 스마트 카 키트 제어하기
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
자원 및 참고자료
아직 자원이 없습니다.
파일📁
파일이 없습니다.