Att kommunicera mellan Python och Arduino UNO över serien gör att du kan styra hårdvara med Python -skript eller skicka data från Arduino till Python för bearbetning. Denna handledning kommer att vägleda dig genom att ställa in och använda Python för att kommunicera med en Arduino UNO över en seriell anslutning.
Vad du behöver
- Arduino Uno med USB -kabel
- Python installerad på din dator (version 3.x rekommenderas)
- Arduino ide installerad
- Ett bibliotek för Python seriekommunikation (t.ex.
pyserial
)
Steg 1: Installera nödvändig programvara
1. Installera Python
Om du inte har Python installerat, ladda ner den från python.org och följ installationsinstruktionerna.
2. Installera Arduino IDE
Ladda ner och installera Arduino IDE från arduino.cc.
3. Installera pyserialbiblioteket
Pyserial krävs för att Python ska kommunicera över seriella portar. Installera det med följande kommando:
Steg 2: Skriv och ladda upp Arduino -koden
Arduino kommer att skicka och ta emot data över serieporten. Nedan är ett exempel Sketch:
Arduinokod
- Öppna Arduino IDE.
- Klistra in koden ovan i redigeraren.
- Välj rätt Styrelse och Hamn under Verktyg meny.
- Klick Ladda upp För att ladda upp koden till Arduino Uno.
Steg 3: Skriv Python -koden
Nedan är ett exempel Python -skript för att kommunicera med Arduino:
Pytonkod
Steg 4: Testa installationen
- Anslut Arduino till din dator via USB.
- Hitta Arduino's Port:
- På Windows: Kontrollera porten i enhetshanteraren (t.ex. COM3).
- På macOS/Linux: använd
ls /dev/tty.*
kommando för att hitta rätt port (t.ex.,/dev/ttyUSB0
).
- Uppdatera
port
Värde i Python -skriptet för att matcha din Arduinos port. - Kör pythonskriptet med kommandot:
- Observera kommunikationen mellan Python och Arduino i terminal- och seriell monitor.
Applikationer av Python-Artuino-kommunikation
- Automatisering av hårdvaruuppgifter (t.ex. slå på lysdioder, kontrollera motorer)
- Loggningssensordata till en fil eller databas
- Skapa anpassade GUIS för Arduino -projekt som använder Python -bibliotek som Tkinnter eller Pyqt
- Integrering av Arduino med IoT -plattformar
Felsökning
-
Ingen anslutning till Arduino:
- Se till att rätt port anges i Python -skriptet.
- Kontrollera att baudhastigheten matchar Arduino -skissen.
-
Inget svar från Arduino:
- Lägg till en försening efter att ha öppnat den seriella anslutningen (
time.sleep(2)
). - Se till att Arduino inte används av ett annat program (t.ex. seriell monitor i Arduino IDE).
- Lägg till en försening efter att ha öppnat den seriella anslutningen (
-
UnicodedecodeError:
- Kontrollera kodningen av data som skickas/mottagas. Använda
.decode(errors='ignore')
om så behövs.
- Kontrollera kodningen av data som skickas/mottagas. Använda
Slutsats
Du har framgångsrikt skapat kommunikation mellan Python och Arduino Uno över Serial. Detta öppnar oändliga möjligheter för att integrera Pythons kraftfulla bibliotek med Arduinos hårdvarufunktioner. Experimentera ytterligare genom att lägga till sensorer, motorer eller skapa pythonbaserade GUIS för dina projekt!