Arduino uno via usb input of output laten schakelen.
6 berichten
• Pagina 1 van 1
Arduino uno via usb input of output laten schakelen.
Beste mede forumers,
Hierbij heb ik even het volgende.
Is het mogelijk om via een arduino uno via de USB port een input of een output hoog dan wel laag te maken op het arduino uno board.
Ik heb een stukje software op de pc in gebruik die schakelaartjes in het scherm aan of uit kan zetten.
deze communicatie zou dan via de usb port naar buiten komen de arduino uno in.
en dan zou der dus een pin dan wel hoog of laag gemaakt mogen worden.
Nu is mijn vraag of dit zeg maar zo mogelijk is?
Graag hoor ik van de gene die dit weet en de info met mij zou willen delen.
Bij voorbaat mijn dank.
Mvg,
Frans36
Hierbij heb ik even het volgende.
Is het mogelijk om via een arduino uno via de USB port een input of een output hoog dan wel laag te maken op het arduino uno board.
Ik heb een stukje software op de pc in gebruik die schakelaartjes in het scherm aan of uit kan zetten.
deze communicatie zou dan via de usb port naar buiten komen de arduino uno in.
en dan zou der dus een pin dan wel hoog of laag gemaakt mogen worden.
Nu is mijn vraag of dit zeg maar zo mogelijk is?
Graag hoor ik van de gene die dit weet en de info met mij zou willen delen.
Bij voorbaat mijn dank.
Mvg,
Frans36
Advertisement
- sterretjeToo
- Berichten: 62
- Geregistreerd: 05 Feb 2023, 13:30
Re: Arduino uno via usb input of output laten schakelen.
Dat is zeker mogelijk. Je moet seriële communicatie aan je PC programma toevoegen zodat je commandos naar deArduino kunt sturen en een bijbehorend programma schrijven voor de Uno die die commandos begrijpt en omzet naar pinnen en nivos.
Bv
Om pin 2 hoog te maken.
Om pin 2 laag te maken en pin 3 hoog te maken.
Voor het gegeven voorbeeld kun je aan de Arduino kant https://forum.arduino.cc/t/serial-input-basics-updated/382007 lezen. Je kunt dit testen met de Seriele monitor en als het goed werkt the PC kant invullen.
Er zijn ook andere mogelijkheden, bv binary commandos versturen; dat is echter ietsje moeilijker testen omdat de seriële monitor alleen tekst kan versturen.
PS
Wees je ervan bewust dat als je een seriëele poort opent op de PC, een Uno door een reset gaat en niet direct commandos kan ontvangen. Je moet even wachten of doen zoals het gedaan is in de gegeven link waar data naar der PC wordt gestuurd (in setup()) zodat het PC programma weet dat data verstuurd kan worden.
Bv
- Code: Alles selecteren
<2:1>
Om pin 2 hoog te maken.
- Code: Alles selecteren
<2:0,3:1>
Om pin 2 laag te maken en pin 3 hoog te maken.
Voor het gegeven voorbeeld kun je aan de Arduino kant https://forum.arduino.cc/t/serial-input-basics-updated/382007 lezen. Je kunt dit testen met de Seriele monitor en als het goed werkt the PC kant invullen.
Er zijn ook andere mogelijkheden, bv binary commandos versturen; dat is echter ietsje moeilijker testen omdat de seriële monitor alleen tekst kan versturen.
PS
Wees je ervan bewust dat als je een seriëele poort opent op de PC, een Uno door een reset gaat en niet direct commandos kan ontvangen. Je moet even wachten of doen zoals het gedaan is in de gegeven link waar data naar der PC wordt gestuurd (in setup()) zodat het PC programma weet dat data verstuurd kan worden.
Re: Arduino uno via usb input of output laten schakelen.
Hallo SterretjeToo,
Bedankt als eerst voor uw snelle reactie.
ik heb zojuist even geprobeert de eerste sketch en het stukje software uit uw aangegeven stuk te proberen.
via de seriel monitor zie ik als ik de tekst bijvoorbeeld type Hello world!!
dan zie ik deze als ik het goed zeg terug komen met THIS JUST IN...... hello world!!.
ik zie ook tevens de 2 rode ledjes op het uno board gaan knipperen bij RX en TX.
Nu voor een test zou ik graag een ledje pakken en een weerstandje van zeg 220ohm
en 5 volt naar het ledje dan zou der 15mA over het ledje staan.
Is het dan simpel in de software te zeggen dat bijvoorbeeld pin 2 hoog gemaakt mag worden zodat het ledje dan gaat
branden als deze is aangesloten met een weerstandje a 220ohm en het andere pootje van de led naar de GND.
Als ik dan in de serial monitor een commando geef dat de led dan aan gaat en weer een commando dat de led uit gaat.
zodat ik dan ook werkelijk kan zien dat dit werkt.
elke vorm van input qua software regels is welkom.
Mvg,
Frans36
Bedankt als eerst voor uw snelle reactie.
ik heb zojuist even geprobeert de eerste sketch en het stukje software uit uw aangegeven stuk te proberen.
via de seriel monitor zie ik als ik de tekst bijvoorbeeld type Hello world!!
dan zie ik deze als ik het goed zeg terug komen met THIS JUST IN...... hello world!!.
ik zie ook tevens de 2 rode ledjes op het uno board gaan knipperen bij RX en TX.
Nu voor een test zou ik graag een ledje pakken en een weerstandje van zeg 220ohm
en 5 volt naar het ledje dan zou der 15mA over het ledje staan.
Is het dan simpel in de software te zeggen dat bijvoorbeeld pin 2 hoog gemaakt mag worden zodat het ledje dan gaat
branden als deze is aangesloten met een weerstandje a 220ohm en het andere pootje van de led naar de GND.
Als ik dan in de serial monitor een commando geef dat de led dan aan gaat en weer een commando dat de led uit gaat.
zodat ik dan ook werkelijk kan zien dat dit werkt.
elke vorm van input qua software regels is welkom.
Mvg,
Frans36
Re: Arduino uno via usb input of output laten schakelen.
begin eens met het programma blink (dat is een voorbeeld) en je kunt ook processing gebruiken als het ingewikkelder wordt
paul deelen
shooter@home.nl
shooter@home.nl
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Arduino uno via usb input of output laten schakelen.
Bijgevoegd een heel eenvoudig test programaatje voor communicatie via Usb.
In de serial monitor typ je bijvoorbeeld 1 en dan Enter ofwel 0 en dan Enter.
Veel plezier bij het experimenteren.
In de serial monitor typ je bijvoorbeeld 1 en dan Enter ofwel 0 en dan Enter.
Veel plezier bij het experimenteren.
- Code: Alles selecteren
/*
Gij Kieken 24/06/2023
Little program to control a Led via Usb.
Suitable for Uno or Nano.
Using the serial monitor to experiment.
*/
const byte LED = 13; //We gerbruiken de ingebouwde led voor het gemak
// Als je een andere output port wilt gebruiken,
// Neem dan een Led met serie weerstand 470ohm,
// Kathode aan Gnd en Anode via weerstandje aan je poort naar keuze.
// Voorbeeld poort 2, const byte LED=2;
char data;//Nodig om het binnenkomende character te lezen
void setup() {
Serial.begin(9600);//Opent je communicatie met b.v. je serial monitor
pinMode(LED, OUTPUT); //Maak van je gekozen poort een uitgang
}
void loop() {
if (Serial.available() > 0) { //Doe alleen iets als er iets in de Input buffer zit?
data = Serial.read(); //Lees een Byte Data
if (data == '1') {
digitalWrite(LED, HIGH); //LED Aan
Serial.println(" De LED is AAN ");//Print naar de serial monitor
}
else if (data == '0') {
digitalWrite(LED, LOW); //LED Uit
Serial.println(" De LED is nu UIT ");//Print naar de serial monitor
}
}
}
- sterretjeToo
- Berichten: 62
- Geregistreerd: 05 Feb 2023, 13:30
Re: Arduino uno via usb input of output laten schakelen.
frans36 schreef:Is het dan simpel in de software te zeggen dat bijvoorbeeld pin 2 hoog gemaakt mag worden zodat het ledje dan gaat
branden als deze is aangesloten met een weerstandje a 220ohm en het andere pootje van de led naar de GND.
Als ik dan in de serial monitor een commando geef dat de led dan aan gaat en weer een commando dat de led uit gaat.
Dit is een aangepaste parseData voor voorbeeld 5 dat zal werken met bv <2:1>
- Code: Alles selecteren
void parseData() { // split the data into its parts
char * strtokIndx; // this is used by strtok() as an index
strtokIndx = strtok(tempChars, ":");
pinNumber = atoi(strtokIndx); // eerste deel is pin nummer
strtokIndx = strtok(NULL, ":");
pinStatus = atoi(strtokIndx); // tweede deel is pin status (1 = hoog, 2 = laag
}
Je zult wel even de twee variabelen pinNumber en pinStatus moeten toevoegen aan het begin van je programma.
Je kunt nu showParsedData aanpassen om met pinNumber en pinStatus een pin te besturen
- Code: Alles selecteren
void showParsedData() {
digitalWrite(pinNumber, pinStatus);
}
Opmerking:
Om het tweede voorbeeld (<2:0,3:1>) te kunnen behandelen in Arduino is een stukje gecompliceerder. Je kunt ook <2:0><3:1> sturen vanuit de seriële monitor of je programma.
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten