메인
home
소프트웨어
home
🧶

인공지능과 메이커프로젝트_상암고_3학년_2025_1학기

미디어파이프로 라즈베리파이 피코 제어하기

팀별 노션 위쪽 공간에 코드랑 동영상 넣어주세요 [4.시리얼 통신 미션] (미션 안내 및 기본 코드 제공 : aimk.notion.site/253)
4-1. 위에 있는 시리얼 통신 기본 코드 넣기
4-2. 다음과 같이 키값을 새로 배정할 것 1 : 외부 led 한개 깜빡이기 2 : 외부 led 두개 계속 켜지게 하기 3 : rgb led 레드계열 색상에서 다양한 색 나오게 하기 4 : rgb led 다양한 색상 나오게 하면서 깜빡이게 하기 5 : 서보모터 2개 와이퍼처럼 스위핑 움직이게 하기 6 : led, 서보모터 모두 멈추게 하기
led는 모두 off
서보모터는 90도로 돌아가게 하기
7 : 자유 동작 배정(가산점 요소)
q : 프로그램 종료 키 해야할 일 : 4-2 코드 올리고 영상 올리기, GPT에게 어떤 질문을 통해 코드를 받았는지도 기록할 것 ex) thoony 시리얼 통신에서 1하고 엔터 누르면 1번 동작
기본 코드 1 : 시리얼 통신 제어 코드
from machine import Pin import time # RGB LED에 연결된 GPIO 핀 설정 red = Pin(3, Pin.OUT) green = Pin(4, Pin.OUT) blue = Pin(5, Pin.OUT) # 초기에는 모든 LED를 끔 red.value(0) green.value(0) blue.value(0) # 키보드 입력을 받음 while True: x = input("Enter 'r' for red, 'g' for green, 'b' for blue, 'q' to quit: ") # 빨간색 LED 제어 if x == 'r': red.value(1) green.value(0) blue.value(0) # 초록색 LED 제어 elif x == 'g': red.value(0) green.value(1) blue.value(0) # 파란색 LED 제어 elif x == 'b': red.value(0) green.value(0) blue.value(1) # 종료 elif x == 'q': break else: print("Invalid input. Please enter 'r', 'g', 'b', or 'q'.") time.sleep(0.5) # 모든 LED를 끔 red.value(0) green.value(0) blue.value(0)
JavaScript
복사
기본 코드 2 : 서보모터 제어 코드
from machine import Pin, PWM from time import sleep # 서보모터가 연결된 핀 번호 설정 (: GP15) servo = PWM(Pin(15)) servo.freq(50) # 서보모터의 주파수 설정 (50Hz) # 최소, 중간, 최대 듀티 사이클 값 설정 min_duty = 1638 # 약 1ms 펄스 폭에 해당 (5% 듀티 사이클) mid_duty = 4915 # 약 1.5ms 펄스 폭에 해당 (7.5% 듀티 사이클) max_duty = 8192 # 약 2ms 펄스 폭에 해당 (10% 듀티 사이클) try: while True: print("0도 위치로 이동") servo.duty_u16(min_duty) sleep(1) print("90도 위치로 이동") servo.duty_u16(mid_duty) sleep(1) print("180도 위치로 이동") servo.duty_u16(max_duty) sleep(1) except KeyboardInterrupt: servo.deinit()
JavaScript
복사
기본코드 3 : 외부 led 3개 깜빡이는 코드
from machine import Pin from time import sleep # LED 핀 번호 설정 led_pins = [27, 22, 18] # LED 객체 생성 leds = [Pin(pin_num, Pin.OUT) for pin_num in led_pins] while True: for led in leds: # 모든 LED 끄기 for l in leds: l.off() # 현재 LED 켜기 led.on() sleep(1) # 1초 동안 대기
JavaScript
복사

마빗 기본 제어 : 라디오통신, 방향전환, LED 제어

 패들렛 과제 제출처

H반(최찬 없는반)
I반 (최찬 있는반)
Gallery
Search
AI 메이커 클래스 DB