본문 바로가기

Arduino<>Python

(21)
arduino -->python 데이터 전송 아두이노에서 python으로 데이터를 전송 한 후 연산 할 수 있도록 정수형으로 변환해봅니다. 아두이노 보드에 다음 코드를 업로드 한 후 시리얼 모니터에서 확인 합니다. void setup() { Serial.begin(9600); for (int x = 100; x
문자 변수와 숫자 변수 컴퓨터에서 사용하는 문자에서 숫자를 구분하여 사용합니다. 키보드는 컴퓨터에서 사용되는 모든 문자가 있습니다. 컴퓨터에서는 숫자와 문자를 확실하게 구분해야 합니다. 숫자는 숫자가 될 수도 있고, 일반적인 문자도 될 수 있습니다. 숫자 : 0~9 문자: A~Z, 여러가지 기호문자 문자변수 python에서 IDLE shell를 열과 다음과 같이 코딩해봅니다. 따음표로 사용하면 문자변수가 됩니다. print(type(x)는 변수 값의 속성을 알수 있습니다. str는 문자를 의미합니다. 숫자변수 x=123는 숫자변수입니다. int는 정수를 의미합니다. 문자변수는 연산결과 숫자변수의 연산결과 입니다.
LED OnOff const int ledPin = 2; // LED 접속 핀 int incomingByte; // 시리얼 데이터 저장변수 void setup() { // 직렬통신 초기화 Serial.begin(9600); // LED 출력으로 설정 pinMode(ledPin, OUTPUT); } void loop() { // 수신되는 데이터가 있는지 확인 if (Serial.available() > 0) { // 수신버퍼에서 맨처음 바이트단위 데이터를 읽음 incomingByte = Serial.read(); // 대문자 "H"이면 LED On if (incomingByte == 'H') { digitalWrite(ledPin, HIGH); } // 대문자 "L"이면 LED Off if (incomingByte == '..
아두이노와 Python(firmata)-[2] 다지털 2번 핀에 버튼을 연결하여, 디지텅 13번 핀을 On, Off 합니다. 준비물 : 아누이노 나노, 저항 10k, 버튼, 점프선
아두니노와 파이션(firmata) -[1] StandardFirmata를 업로드 하여, 파이션과 직렬 통신하여, 아두이노 디지털 핀, 아나로그 핀을 파이션에서 제어 합니다. 먼저 아두이노 nano, uno 핀 13번에 연결된 LED를 점멸(On, Off)합니다. 준비 : arduino nano 나 uno ( atmega328p) 같습니다) : 브레드 보드, : python 3.9.2 순서 1: 아두이노 IDE에서 예제 → firmata →StandardFirmata를 업로드합니다. 순서 2: pip install pyfirmata를 설치합니다. ( 설치 에러가 발생하면 아래와 같이 합니다.) 도스 터미널를 실행합니다.( 단 파이션 설치가 C:에 설치된 경우입니다) Scripts 폴더에서 설치합니다. 윈도우 + R cmd cd .. 엔터 또 다시 ..
조이스틱 으로 그래픽 생성
PA005. 아두이노> 파이션 Mouse 파이션소스 import mouse, sys import time import serial mouse.FAILSAFE=False ArduinoSerial=serial.Serial('com3',9600) #아두이노 소스 통신과 일치 해야 합니다. time.sleep(1) #1초간 정치 while 1: data=str(ArduinoSerial.readline().decode('ascii')) #데이터를 읽습니다. (x,y,z)=data.split(":") # x,y,z를 지정 (X,Y)=mouse.get_position() #현재 위치의 읽습니다. (x,y)=(int(x),int(y)) #정수 변환 mouse.move(X+x,Y-y) #마우스 포인터 이동 if '1' in z: # 스위치 상태를 읽습니다. m..
PA004. 파이션 이두이노 버튼 turtle head 제어 >>> import serial >>> from turtle import Turtle >>> T=Turtle() >>> ser=serial.Serial('COM3') >>> Data=ser.readline() >>> Data b'90,100,100\r\n' >>> Data=Data.decode() >>> Data '90,100,100\r\n' >>> Data=Data.rstrip() >>> Data '90,100,100' >>> Data=Data.split(",") >>> Data[0] '90' >>> Data[1] '100' >>> Data[2] '100' >>> degree=int(Data[0]) >>> degree 90 >>> x=int(Data[1]) >>> x 100 >>> y=int(Data[..