Probleem van een nieuweling

IDE gerelateerde berichten
Berichten: 22
Geregistreerd: 07 Nov 2020, 10:29

Probleem van een nieuweling

Berichtdoor Danny. » 07 Nov 2020, 10:50

Hello iedereen, nadat het virus over een lange tijd was ingeslapen is het nu opnieuw aanwezig, en probeer ik mij te verdiepen in de Arduino.
Daarvoor heb ik tutorials gevonden die door een zekere Paul Mcwhorter geschreven werden.
In de tutorial waar men met de seriële monitor aan het werk gaat en waar Paul de Arduino laat vragen naar de naam, geeft Paul daar zijn naam in.
De Arduino antwoord dan met "Hello Paul, welkom bij Arduino"
Als ik hetzelfde wil doen met mijn Laptop Medion, dan staat die ",welkom bij Arduino" op een volgende lijn, dus niet naast mijn naam zoals bij Paul.
Ik veronderstel dat bij de toets van mijn laptop de Enter toets niet enkel enkel een CR (cariage return) geeft maar ook een LF (linefeed), en dat de Arduino bij met weergeven van mijn naam (die in de variabele mijnNaam ingelezen is) ook die LF naar de seriële monitor stuurt.
Ik probeer nu iets te vinden om de inhoud van mijnNaam te ontleden en alles wat kleiner is dan ASCII 30 eruit te filteren.
Kan iemand mij een tip geven waarvoor dank, en sorry voor mijn lange uitleg.
Groetjes
Danny

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Probleem van een nieuweling

Berichtdoor Koepel » 07 Nov 2020, 11:31

Hallo Danny, welkom op dit forum.
Kun je wat meer informatie geven, zodat wij weten waar het over gaat ?

Dit lijkt er op, maar de juiste tutorial kon ik niet vinden:
https://toptechboy.com/arduino-tutorial-11-understanding-the-arduino-serial-port-and-print-commands/.

Kun je jouw sketch laten zien ?
Op dit forum kun je een sketch tussen code-tags zetten. Gebruik de "Code" knop en zet de sketch tussen [ code ] en [ / code ] (maar dan zonder die spaties).

De seriële monitor van de Arduino IDE heeft rechts onderin de instellingen voor CR en LF. Dat hangt dus niet af van jouw laptop maar van die instellingen.
Een CR of LF kun je eenvoudig er uit filteren in je sketch. Een goede sketch houdt altijd rekening met CR of LF of beide of niets op het eind.

Volgens mij heb ik de filmpjes van Paul McWhorter eerder bekeken, het is zo langdradig !
Kijk ook eens naar BasOnTech: https://arduino-lessen.nl/ (scroll wat naar beneden voor de beginners lessen).

Berichten: 22
Geregistreerd: 07 Nov 2020, 10:29

Re: Probleem van een nieuweling

Berichtdoor Danny. » 07 Nov 2020, 12:31

Hello Koepel, en bedankt voor dit vlugge antwoord op mijn vraag.
Die tutorial is de tutorial 19.
Ik heb ondertussen de fout kunnen oplossen dankzij jouw verwijzing naar die instellingen onderaan de seriële monitor.
Is het dan nog nodig dat ik mijn sketch hier laat verschijnen? (het is deze van de tutorial 19 maar dan met de vragen en antwoorden in het Nederlands :D )
Ik zal ook eens een oogje gaan werpen naar de site die jij aangeeft.
Voorlopig heel erg bedankt voor uw hulp en tot ...
Groetjes
Danny

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Probleem van een nieuweling

Berichtdoor Koepel » 07 Nov 2020, 17:59

Ja, een sketch is altijd handig. Zelfs als die ergens anders vandaan gekopieerd is.

Tutorial 19: https://toptechboy.com/arduino-tutorial-19-reading-strings-from-the-serial-monitor/.
Youtube filmpje daar van: https://www.youtube.com/watch?v=MAnAc_t0OrM.

Bij het Youtube filmpje staat: "GUYS MAKE SURE YOUR SERIAL MONITOR IS SET TO 'NO LINE ENDING'!!! Otherwise you will have problems with this code".
Dat is zijn fout, hij hoort een sketch te maken die altijd werkt. Dat weet iedereen die met seriële communicatie aan de slag gaat.
Trouwens, over die zin struikel ik ook. Is het 'no line ending' voor guys en 'carriage return' voor girls ? :lol:

Voor een Arduino Uno wordt afgeraden om een String te gebruiken. Het geheugen dat een String nodig heeft wordt runtime van de heap gehaald. Als dat niet lekker gaat kunnen er fragmenten ontstaan met "kaboom" als gevolg: https://learn.adafruit.com/memories-of-an-arduino/solving-memory-problems.

Berichten: 22
Geregistreerd: 07 Nov 2020, 10:29

Re: Probleem van een nieuweling

Berichtdoor Danny. » 07 Nov 2020, 18:52

Bedankt voor dit antwoord.
Nu heb ik ook gezien, dankzij jouw opmerking, dat daar verwezen werd naar de instellingen van de seriële monitor, als beginneling is men te zeer geconcentreerd op het volgen bij her schrijven van die sketch. :oops:
Hierna de sketch

quote
String mijnNaam;
String msg1="Wat is je naam? ";
String msg2="Hey ";
String msg3=", welkom op deze Arduino!";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}


void loop() {
// put your main code here, to run repeatedly:
Serial.println(msg1);

while (Serial.available()==0){
}
mijnNaam=Serial.readString();

Serial.print(msg2);
Serial.print(mijnNaam);
Serial.println(msg3);

}
/quote

Nogmaals bedankt en groetjes
Danny

Terug naar Arduino IDE

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 18 gasten