본문 바로가기

Arduino<>Python

PA002. 파이션아두이노 버튼그래픽(1)

D2 버튼  --> "D30" 전송  

D3 버튼 --->"M20" 전송

회로구성

 

버튼핀이 수평(노란선)되게 배치합니다. 

배선 : A, B, C, D, E를 연결합니다. 

void setup() {
   Serial.begin(9600);
   pinMode(13,1);
   pinMode(2,INPUT_PULLUP);
   pinMode(3,INPUT_PULLUP);
    attachInterrupt(0, degree, RISING);
    attachInterrupt(1, forward, RISING);
}

void loop() {
  
    
}

void degree() {
   Serial.println("D30");
   digitalWrite(13,0);
}
void forward() {
   Serial.println("M25");
   digitalWrite(13,1);
}

■ : 아두이노 소스에서 시리얼 포트번호를 기억하세요.

import serial
from turtle import Turtle, Screen
T=Turtle()

def TurtleMove():
   Data=ser.readline()
   Data=Data.decode()
   Data=Data.rstrip()
   if(Data=="D30"):
        T.right(30)
   myScreen .update()
   if(Data=="M25"):
        T.forward(25)
   myScreen .update()


T = Turtle()
myScreen = Screen()
ser = serial.Serial('COM3')
T.shape("turtle")
T. speed(0)
myScreen. tracer(0,0)

while True:
 TurtleMove()

※ serial.Serial('COM x') : PC마다 다름니다.

 

D2, D3 버튼을 동작하면 다음과 같이 그래픽이 그려집니다.

파이션 소스 참조

>>> import serial
>>> from turtle import Turtle
>>> T=Turtle()
>>> T.shape("turtle")
>>> ser=serial.Serial('COM3')
>>> Data=ser.readline()
>>> Data
b'D30\r\n'
>>> Data=Data.decode()
>>> Data
'D30\r\n'
>>> Data=Data.rsplit()
>>> Data
['D30']
>>> 

 

T=Turtle()
T.shape("turtle")

 

'Arduino<>Python' 카테고리의 다른 글

PA004. 파이션 이두이노 버튼 turtle head 제어  (0) 2021.03.01
PA003. 파이션 아두이노 조이스틱 그래픽(2)  (0) 2021.03.01
PA001.tultle(x,y) 좌표  (0) 2021.03.01
PA001. LED On Off  (0) 2021.02.21
python<<>>Arduino  (0) 2021.02.20