[Arduino] Arduino與Python通訊(二)使用Python點亮Arduino上的LED

  • 使用 python 程式透過通訊埠(COM PORT)傳輸指令給 arduino  ,來控制 LED 燈的開關(亮暗)。
  • python程式
import serial

COM_PORT = 'COM4'  # 根據連結的Arduino的通訊埠修改設定
BAUD_RATES = 9600
arduinoSerial = serial.Serial(COM_PORT, BAUD_RATES)

try:
    while True:
        choice = input('1:開燈 0:關燈 9:關閉程式  ')
        if choice == '1':
            print('開燈')
            arduinoSerial.write(b'1')
        elif choice == '0':
            print('關燈')
            arduinoSerial.write(b'0')
        elif choice == '9':
            print('關閉程式')
            arduinoSerial.close()
            exit()
        else:
            print('指令錯誤')

except KeyboardInterrupt:
    arduinoSerial.close()    # 清除序列通訊物件
    print('關閉程式')
  • arduino 接線
arduino LED
D10 正(長腳)
GND 負(短腳)
  • arduino程式
char serialData;
int LedPin = 10;

void setup() 
{
  pinMode(LedPin, OUTPUT);  
  Serial.begin(9600);
}

void loop() 
{
  if(Serial.available() > 0)
  {
    serialData = Serial.read();
    Serial.print(serialData);

    if(serialData == '1')
      digitalWrite(LedPin, HIGH);
    else if(serialData == '0')
      digitalWrite(LedPin, LOW);
  }
}