Arduino – Seriële communicatie met een computer

data versturen

Het volgende voorbeeld laat zien hoe je via de cpu een seriële string naar de arduino kan sturen zodat je verschillende hardware kan aansturen. Deze code is een “bijeen geraapt” en in elkaar gezet stukje, omdat documentatie op internet niet of nauwelijks te vinden is!, heb je verbeteringen, laat het maar weten!

Als je nu via de Arduino software de “serial monitor” opent, en daar wat in tikt met als “einde” van je input “#” geeft de arduino weer wat het ontvangen heeft:

arduino_serieel_naar_cpu_01

arduino_serieel_naar_cpu_02

Commandos uitvoeren met gegevens

Ik heb de bovenstaande code uitgebreid zodat je ook een digitale poort kan aansturen, zie het voorbeeld hieronder om het ledje (poort 13) aan en uit te zetten, door commando “hoog#” of “laag#” via de seriële poort te verzenden:

Als je nu via de Arduino software de “serial monitor” opent, kun je daar nu met “hoog#” en “laag#” digitale poort 13 aansturen:

arduino_serieel_naar_cpu_03

arduino_serieel_naar_cpu_04

Seriële communicatie met Autoit3

Wat heb je nodig?

1) Autoit3
2) Autoit3 CommMG UDF

Het volgende voorbeeld laat zien hoe je via Autoit3 (basic programmeertaal) deze gegevens die via de seriele poort verzonden worden kan laten weergeven.
Ik heb het voorbeeld op dit forum gebruikt (orginele bestand dd. 2012-09-27) en het gestript / aangepast zodat het in één oogopslag duidelijk wordt hoe het werkt.

De variabelen heb ik bovenin de code gezet, deze moeten uiteraard wel goed ingesteld staan, let erop dat de BAUD rate wel overeenkomt met dat van de Arduino, anders krijg je onjuiste gegevens binnen:

Hieronder zie je wanneer alles goed is gegaan de tekst in de “edit box” verschijnen:

arduino_serieel_hallo_wereld_03

Seriële communicatie met Autoit3 (GUI)

Met deze autoit code heb ik 2 knoppen op de gui geplaatst die “hoog#” en “laag#” versturen via de seriële verbinding, de arduino schakelt dan poort 13 (led) aan of uit:

arduino_serieel_naar_cpu_05

Seriële communicatie met Processing

Het volgende voorbeeld laat zien hoe je via Processing (ook een C++ programmertaal) deze gegevens die via de seriele poort verzonden worden kan laten weergeven, vergeet niet in onderstaande code je eigen COMpoort instellingen te configureren (denk ook aan de baud rate)

Het resultaat:
arduino_serieel_hallo_wereld_04