Inhoudsopgave:
Video: Arduino en Python seriële communicatie - toetsenbordweergave - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Dit project is gemaakt voor Mac-gebruikers, maar het kan ook worden geïmplementeerd voor Linux en Windows, de enige stap die anders moet zijn, is de installatie.
Stap 1: Software-installatie
- Download en installeer Arduino ->
- Download en installeer Python 2.7 ->
- Download Python-bibliotheek "pyserial-2.7.tar.gz" ->
- Pak pyserial-2.7.tar.gz. uit
- Open Terminal en typ:
cd /users/"Uw-gebruikersaccount"/Downloads/pyserial-2.7
sudo python setup.py installeren
Software-installatie klaar!
Stap 2: Bedrading
- Arduino Uno
- Sparkfun-toetsenbord met 12 knoppen
De bedrading is gedaan zonder externe weerstanden, in plaats daarvan heb ik de interne Pullup-Resistors van de microcontroller gebruikt (interne Pullup-Resistors van Arduino hebben een waarde van 20K-Ohm tot 50K-Ohm)
Om de interne Pullup-Resistors te activeren, zet u de INPUT-Pins HOOG in de code
Als je een ander toetsenbord gebruikt, kijk dan in het gegevensblad voor de juiste bedrading, anders kan het je microcontroller beschadigen
Stap 3: Arduino-code
- Eerst definiëren we een chars-Matrix voor de Keys
- Het toetsenbord gebruikt normale schakelaarconnectoren die zijn gerangschikt in 4 rijen (Pin 7, 2, 3 en 5) en 3 kolommen (Pin 6, 8 en 4), gedefinieerd als Arrays rowPins en colPins
-
De setup() functie
- Open de seriële poort met Serial.begin();
- Stel kolommen in als OUTPUT-Pins HIGH
- Activeer de Pullup-Resistors, stel hiervoor rijen in als INPUT-Pins HIGH;
-
De getkey() functie
- Stel elke rij LAAG in en test of een van de kolommen LAAG is. Door de Pullup-Resistors zijn alle rijen HOOG totdat er één toets wordt ingedrukt. De ingedrukte toets genereert een LAAG-signaal op de INPUT-pin. Deze LOW geeft de ingedrukte toets in deze rij en kolom aan
- Wacht tot de toets wordt losgelaten en retourneert de char van de keymap-Array of 0 als er geen toets is ingedrukt
- Gebruik een vertraging (debounceTime) om het signaal te stabiliseren
Stap 4: Python_2.7-code
- De seriële bibliotheek importeren
- Definieer een variabele connected=FALSE, later wordt deze variabele gebruikt om te testen of de seriële verbinding beschikbaar is of niet
-
Open de seriële poort met serial. Serial ("Naam van uw seriële poort", baud)
- Om de naam van uw seriële poort te krijgen, klikt u op -> Tools/Serial Port in de Arduino IDLE
- de baud moet hetzelfde zijn als in de Arduino-code
- In een while-lustest of de verbinding beschikbaar is of het seriële signaal niet leest en de variabele connected=TRUE instelt, wordt er een lus uitgevoerd totdat het een seriële verbinding krijgt
- Lees na de verbinding het serienummer in een while-lus en plaats deze invoer in een nieuwe variabele "var"
- sluit de poort met ser.close()
Aanbevolen:
Arduino seriële communicatie: 5 stappen
Arduino seriële communicatie: veel Arduino-projecten zijn afhankelijk van het verzenden van gegevens tussen verschillende Arduino's. Of u nu een hobbyist bent die een RC-auto, een RC-vliegtuig bouwt of een weerstation met een extern display ontwerpt, u moet weten hoe u op betrouwbare wijze overdracht serie
PIC MCU en Python seriële communicatie: 5 stappen
PIC MCU en Python seriële communicatie: Hallo, jongens! In dit project zal ik proberen mijn experimenten op PIC MCU en Python seriële communicatie uit te leggen. Via internet zijn er veel tutorials en video's over hoe te communiceren met PIC MCU via een virtuele terminal, wat erg handig is. maar
Draadloze seriële communicatie met Bluefruit: 4 stappen
Draadloze seriële communicatie met Bluefruit: Hier is een eenvoudige stapsgewijze handleiding om uw draden te vervangen door een Bluetooth low energy-verbinding: het kostte me een tijdje om dit uit te zoeken omdat er nauwelijks documentatie is om dit te doen met moderne Bluetooth low energy-technologie zoals als de Bluefrui
Webgebaseerde SmartMirror met seriële communicatie: 6 stappen
Webgebaseerde SmartMirror met behulp van seriële communicatie: deze instructable wordt geleverd met alle code klaar voor gebruik. De ontwikkeling was erg ingewikkeld, maar als het eenmaal is ingesteld, is het heel eenvoudig aan te passen. Neem een kijkje en geniet ervan;)
Seriële communicatie met ARM Cortex-M4: 4 stappen
Seriële communicatie met ARM Cortex-M4: dit is een op breadboard gebaseerd project dat ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) gebruikt voor seriële communicatie met behulp van Virtual Terminal. De uitvoer kan worden verkregen op een 16x2 LCD-scherm en invoer voor seriële communicatie kan worden gegeven in Serial Mo