Een vraag over Arduino Serial available

algemene C code
Gebruikers-avatar
Berichten: 1776
Geregistreerd: 06 Aug 2016, 01:03

Re: Een vraag over Arduino Serial available

Berichtdoor Koepel » 27 Okt 2017, 23:28

We begrijpen dat het frustrerend is, maar we willen niet jouw opdracht voor je maken.

De Serial.parseFloat() wordt niet zo vaak gebruikt, maar het kan een handige functie zijn. Dus helaas vind je die functie niet zo vaak in een duidelijk voorbeeld. Dat is helaas zo.

Als jouw leraar een voorbeeldsketch heeft gemaakt die eindigt op deze manier:
Code: Alles selecteren
 }}
dan heeft die leraar misschien nog nooit een "c" of "c++" programma geschreven.

In de allereerste reactie op jouw vraag schreef ik: "Dus in de 'loop()' lees je één keer de datastroom binnen (Serial.available en Serial.parseFloat), dan nog steeds binnen het if-statement van de Serial.available() gaan kijken of het 5.5 of hoger is en de tekst afdrukken.".

shooter schreef: "de riedel van koepel komt dan in de avaialble IF te staan, want die heb je niet. dus dat worden 2 if statements in elkaar".

Wat je bij de eerste vraag had (Serial.available en Serial.parseFloat) is okay. Misschien is een kleine correctie nodig om een CarriageReturn en/of LineFeed weg te werken, dat is een kleinigheidje.

Advertisement

Gebruikers-avatar
Berichten: 4857
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Een vraag over Arduino Serial available

Berichtdoor nicoverduin » 28 Okt 2017, 07:28

Eerder een gebrek aan inzet .....
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 253
Geregistreerd: 15 Nov 2015, 11:54

Re: Een vraag over Arduino Serial available

Berichtdoor Gij Kieken » 29 Okt 2017, 16:59

Hi Gester,
Leuk voor een zondag namiddag, http://forum.arduino.cc/index.php?topic=396450.0

Berichten: 27
Geregistreerd: 08 Okt 2017, 21:48

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 29 Okt 2017, 20:25

Nou het is me toch gelukt om het te laten werken. Dan heb ik het toch voor maandag af. Ik had niet door dat je meer if's kan gebruiken in een if. De laatste website van de comment boven mij heeft me weer de moed gegeven om het verder te proberen dus bedankt! En ook voor de andere tips van de andere programmeurs.

Opdracht 7.3

cpp code
void setup() {
Serial.begin(9600);


}
void loop() {
double getal;

getal = 0;

if(Serial.available() > 0){
getal = Serial.parseFloat();


if(getal < 5.5) {
getal = Serial.parseFloat();
Serial.println("Onvoldoende");
}

else {
Serial.println("Voldoende");
}

}
}

Opdracht 7.4
cpp code
void setup() {
Serial.begin(9600);


}
void loop() {
double getal;

getal = 0;

if(Serial.available() > 0){
getal = Serial.parseFloat();


if(getal > 5.49) {
getal = Serial.parseFloat();
Serial.println("Voldoende");

}
}

else if(Serial.available() > 0){
getal = Serial.parseFloat();

if(getal > 7.99) {
getal = Serial.parseFloat();
Serial.println("Goed");
}

else {
Serial.println("Onvoldoende");
}
}

}

Gebruikers-avatar
Berichten: 4857
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Een vraag over Arduino Serial available

Berichtdoor nicoverduin » 29 Okt 2017, 21:24

Ik kan me niet voorstellen dat dit werkt....en dan heb ik het over Beide opdrachten
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 27
Geregistreerd: 08 Okt 2017, 21:48

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 29 Okt 2017, 21:53

Het werkt toch echt. Probeer maar met een arduino uno

Gebruikers-avatar
Berichten: 4857
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Een vraag over Arduino Serial available

Berichtdoor nicoverduin » 29 Okt 2017, 22:07

Je leest een getal in.... de seriele buffer is leeg en je leest weer een getal binnen.....
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 27
Geregistreerd: 08 Okt 2017, 21:48

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 29 Okt 2017, 23:53

Het werkt toch echt. Het werkt heel erg goed zelfs :P

Berichten: 2416
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Een vraag over Arduino Serial available

Berichtdoor shooter » 30 Okt 2017, 18:28

Tja, nico heeft wel gelijk hoor, er staan wel 3 serial.parsefloats in en dat hoort er echt maar 1 te zijn.
Daar kom je achter als je straks comments erbij zet, en inlevert dan zal dat een opmerking zijn van de onderwijzer.
wel leuk dat je if available 2 keer vraagt en dan toch een true krijgt bij de 2e.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 4857
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Een vraag over Arduino Serial available

Berichtdoor nicoverduin » 30 Okt 2017, 20:47

Hij doet niets met het getal de 2e keer dus lijkt het goed te gaan. Door die 2e parsefloat wordt het restant buffer (denk aan cr/lf) alsnog gewist. Wat hij had moeten doen is na de eerste parse float die serial buffer verder leegmaken als hij dat nog niet was. Bij ons was ie door de bodem gezakt....scope volden (de opdracht was gedaan) design (die het zwaarst telt) onvoldoende, correctness voldoende, netheid onvoldoende. Per saldo dikke onvoldoende. Dus hij zal wel een voldoende krijgen....lang leve onze toekomstige generatie engineers.....
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

VorigeVolgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast