Een vraag over Arduino Serial available

algemene C code
Berichten: 27
Geregistreerd: 08 Okt 2017, 21:48

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 26 Okt 2017, 23:27

Al neemt me leraar hier genoegen mee maar ik wil toch laten zien aan hem dat ik er meer moeite over heb gedaan dan andere klasgenoten.

Advertisement

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 00:53

Ik zie de volgende opdracht en daar heb ik nu ook problemen mee, ik snap 1 ding niet. Waarom kan ik serial available in een IF niet mixen met (getal < 6) Want hij blijft nu onvoldoende afdrukken omdat de if niet weet dat ik iets moet invoeren waarschijnlijk toch?

Mijn code is nu :
Code: Alles selecteren
void setup() {
  Serial.begin(9600);

}

void loop() {
  double getal;
  getal = 0;

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

    Serial.println("Onvoldoende");
  }
  if ( getal >= 8) {
    Serial.println("Goed");

  }
  else if (Serial.available() > 0) {

    Serial.println("Voldoende");


  }
}


En mijn opdracht is:
Schrijf een programma dat een toet cijfer inleest via de seriële monitor. Als het cijfer lager is
dan een 6 wordt er afgedrukt onvoldoende. Als het hoger is dan een 8 wordt er afgedrukt
goed en in het anders wordt er afgedrukt voldoende.

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 01:16

Code: Alles selecteren
void setup() {
  Serial.begin(9600);

}

void loop() {
  double getal;
  getal = 0;
  int onvoldoende = getal < 6;
  int goed = getal >= 8;
  int voldoende = 6 > 8;

  if (Serial.available() > 0) {

    onvoldoende = Serial.read();
    Serial.println("Onvoldoende");
  }
  if (Serial.available() > 0) {

    goed = Serial.read();
    Serial.println("Goed");

  }
  else if (Serial.available() > 0) {

    voldoende = Serial.read();
    Serial.println("Voldoende");


  }
}


Ik heb een nieuwe manier ontdekt maar of het de goede manier is is de vraag?

Ik krijg nu alleen maar doorelkaar het antwoord als ik een cijfer intik.

Onvoldoende
Voldoende
Onvoldoende
Goed
Goed
Voldoende
Onvoldoende
Goed
Goed
Voldoende
Voldoende
Onvoldoende
Onvoldoende
Voldoende
Voldoende
Goed


Ik ga slapen, ik vind het wel genoeg geweest. Ik hoop dat ik wat tips van jullie krijg als ik wakker word. Ik heb maandag een toets van applicatieprogrammeren en dan moet ik zulke codes gewoon uit me hoofd kunnen opschrijven dus dat word veel leren!

Alvast bedankt,

MVG,

Gester Paez

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

Re: Een vraag over Arduino Serial available

Berichtdoor Koepel » 27 Okt 2017, 12:36

Je hebt nu op Ctrl+T gedrukt, maar nog niet zelf verder netjes gemaakt.

Weet je welke '{' bij '}' hoort ? Het lijkt alsof je niet weet hoe een if-statement werkt. Als je wilt weten wat "Serial.read()" doet, dat staat allemaal online: https://www.arduino.cc/en/Serial/Read. Die leest dus een enkel byte, geen floating point getal.

Het gaat er niet om, om zomaar iets te proberen en nieuwe dingen te ontdekken. Het belangrijkste is nu om wat basiskennis te leren door te studeren.

Als je wilt weten hoe een if-statement werkt, dan kun de sketch hieronder proberen. Je kunt voor 'getal' verschillende waarden invullen.

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

void loop()
{
int getal = 5; // wijzig dit getal om het effect te zien.

Serial.print("Het getal is ");
Serial.println(getal);

if (getal >= 6) // dit is een if-statement
{
Serial.println("Het getal is groter of gelijk aan 6.");
}
else
{
Serial.println("Het getal is niet groter of gelijk aan 6, dus kleiner dan 6.");
}

delay (5000);
}

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

Re: Een vraag over Arduino Serial available

Berichtdoor shooter » 27 Okt 2017, 14:29

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.
paul deelen
shooter@home.nl

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 19:16

Koepel schreef:Je hebt nu op Ctrl+T gedrukt, maar nog niet zelf verder netjes gemaakt.

Weet je welke '{' bij '}' hoort ? Het lijkt alsof je niet weet hoe een if-statement werkt. Als je wilt weten wat "Serial.read()" doet, dat staat allemaal online: https://www.arduino.cc/en/Serial/Read. Die leest dus een enkel byte, geen floating point getal.

Het gaat er niet om, om zomaar iets te proberen en nieuwe dingen te ontdekken. Het belangrijkste is nu om wat basiskennis te leren door te studeren.

Als je wilt weten hoe een if-statement werkt, dan kun de sketch hieronder proberen. Je kunt voor 'getal' verschillende waarden invullen.

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

void loop()
{
int getal = 5; // wijzig dit getal om het effect te zien.

Serial.print("Het getal is ");
Serial.println(getal);

if (getal >= 6) // dit is een if-statement
{
Serial.println("Het getal is groter of gelijk aan 6.");
}
else
{
Serial.println("Het getal is niet groter of gelijk aan 6, dus kleiner dan 6.");
}

delay (5000);
}



Maar dat is dus het probleem, op deze manier werkt het wel zoals jou code(die ken ik wel). Maar het werkt niet in combinatie met Serial.available die je bij elke IF statement erbij moet zetten anders blijft het bijvoorbeeld onvoldoende uit printen. Ik denk niet dat ik verder ga komen door het hier op de forum te vragen. Ik lever het gewoon zo in en dan vraag ik de meneer op maandagochtend of hij me ermee kan helpen. Ik moet namelijk alles voor maandag inleveren. Ik heb iets van 30 opdrachten gemaakt, bij alles stond een duidelijke uitleg maar niet bij hoe je een Serial.available moet gebruiken met combinatie van (getal > 6) ofzo. Daar wou ik eigenlijk antwoord op. Als ik serial.available gebruik kan ik daarbij geen (getal > 6) gebruiken vandaar dat ik Serial.read heb gebruikt. Op die manier stopte de loop van elke keer onvoldoende te printen. En daarin kon ik wel de (getal > 6) in bijvoegen op die manier. Wat is dan de goede manier?

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 19:33

Ik heb trouwens van de arduino website dat ik het op deze manier moet doen https://www.arduino.cc/en/Serial/Available. Maar jij zegt mij dus dat het enkel een byte leest en niet een getal, hoe kan ik het dan een getal laten lezen op deze manier? En ik weet hoe goed hoe een if else else if statement werkt maar NIET met serial.available erbij. En dat staat ook nergens onlilne ik heb overal gekeken. Geef mij een website waarin staat hoe ik met serial available een if else statement moet schrijven + ( getal > 6 ). Nergens is het uitgelegd echt super irritant!

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 19:42

Dit werkt gewoon goed van een andere opdracht.
Code: Alles selecteren


double getal1;
double getal2;
double gem;

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

}

void loop() {

  if(Serial.available() >0){
    getal1 = Serial.parseFloat();
     getal2 = Serial.parseFloat();
      gem = (getal1 + getal2)/2 ;
    Serial.print("Het gemiddelde is: ");
    Serial.println(gem);
 
  }}


En dit werkt ook goed:
Code: Alles selecteren
int getal1 = 0;
int getal2 = 0;
int getal3 = 0;
int totaal = 0;
void setup() {
  Serial.begin(9600);

}

void loop() {

  if(Serial.available() >0){
    getal1 = Serial.parseInt();
    getal2 = Serial.parseInt();
    getal3 = Serial.parseInt();
 
 
    totaal = getal1 + getal2 + getal3;
    Serial.print("Dat is in totaal  : ");
    Serial.println(totaal);
 
  }}


Maar kan IEMAND mij gewoon uitleggen hoe het werkt met if else serial.available in combinatie met voldoende uitprinten of onvoldoende.

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

Re: Een vraag over Arduino Serial available

Berichtdoor nicoverduin » 27 Okt 2017, 19:45

Die opdrachten zijn zeker niet van jou? Want anders had je het antwoord niet gevraagd....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: Een vraag over Arduino Serial available

Berichtdoor Gester1989 » 27 Okt 2017, 23:03

Die opdrachten zijn van mij. Alleen zien jullie niet waar ik een probleem mee heb, zoals ik het al 3 keer heb gezegt dat ik niet weet hoe ik in combinatie van Serial.available moet werken, want ik krijg een error of een of andere fout omdat er iets aan de code niet klopt. Maaar laat maar zitten ik lever het zo wel in. Ik heb hier geen zin meer in

VorigeVolgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten