工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Python 3からArduino UNOを制御 – シリアル通信でLED点滅デモ

必要な部品と材料

部品数量
Arduino UNO1
USBケーブル (A-Bタイプ)1

プロジェクト概要

Python 3からシリアル通信でArduinoにコマンドを送り、ボード上の内蔵LED(Lチカ)を制御する最小構成のデモです。Python 2系の情報が多い中、Python 3.7+での動作確認済みコードを提供します。

Python 3からArduino UNOを制御 – シリアル通信でLED点滅デモ

準備

  1. Python 3.xをインストール(公式サイトから)
  2. pyserialパッケージをインストール:
    pip install pyserial
    
  3. Arduino IDEでスケッチを書き込み
  4. Pythonスクリプトを実行

※必ず先にArduinoスケッチをアップロードしてからPythonを実行してください

Arduinoスケッチ

int dataFromUser = 0;

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

void loop() {
  if(Serial.available() > 0) {
    dataFromUser = Serial.read();
  }
  if(dataFromUser == '1') {
    digitalWrite(LED_BUILTIN, HIGH);
  } else if(dataFromUser == '0') {
    digitalWrite(LED_BUILTIN, LOW);
  }
}

Python 3スクリプト

import serial
import time

# ポート名は環境に合わせて変更 (Windows: COM3など, Mac/Linux: /dev/ttyUSB0など)
arduino = serial.Serial(port='COM3', baudrate=9600, timeout=1)
time.sleep(2)  # Arduinoリセット待ち

print("Enter 1 to turn ON LED, 0 to turn OFF LED")

while True:
    cmd = input().strip()
    if cmd == '1':
        arduino.write(b'1')
        print("LED turned ON")
    elif cmd == '0':
        arduino.write(b'0')
        print("LED turned OFF")
    else:
        print("Invalid input. Use 1 or 0.")

ポイント

応用アイデア

製造プロセス

  1. シームレスMQTT統合:NodeMCU DHT22センサーとRaspberry Pi 3 B+ブローカー
  2. 1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
  3. Arduino UNOで作るLCDアニメーション&ゲーム入門
  4. SERENA:Arduino Mega 2560とTFT LCDタッチスクリーン搭載カスタムアラームシステム
  5. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  6. Arduino Nanoと128x64 OLEDで実行するセルラーオートマトン「ライフゲーム」
  7. Arduino NanoとRDA5807Mで作るコンパクトFMラジオ
  8. MKR1000 + DHT22: 温湿度データをAzureへリアルタイム送信
  9. Raspberry Pi 3とArduinoで作る自作ノートPC:ステップバイステップガイド
  10. ArduinoとPythonで作るAIアシスタントロボット「ジャウndice」
  11. Arduinoセンサー:種類、応用、実世界プロジェクト