Stap 1: De switch() verklaring
Voordat we in de codering duiken, moeten we begrijpen wat we werken met. De basis van de verklaring van de switch() is dat je kijken naar een variabele, en afhankelijk van wat van de variabele waarde is, een ander geval in de switch() wordt geactiveerd.
Deze eigenschap maakt het zeer eenvoudig te maken van een programma-pointer die uw code, het toepassen van alle de juiste inputs en outputs op het juiste moment zal doorlopen. Er geldt ook een standaard, dus dat kun je een deel van het programma wanneer de variabele die u bekijkt niet overeenkomt met een van de geprogrammeerde gevallen gebeuren.
We hebben een passieve code voor het eerste voorbeeld. Door te kijken naar de seriële monitor, kunt u het programma tellen tot 5 meer dan 5 seconden. De schakelaar verklaring zit in elk geval tot 1 seconde is verstreken, wordt verplaatst naar de volgende. Zie de bijgevoegde code, lees de commentaren en uploaden om te zien hoe het werkt alvorens over te gaan.
Aangezien dit slechts test programma's, kunt u het bord aangesloten op de computer, zodat de Arduino macht kan ontvangen.
/* This code is to show the basic workings of a switch statement. It counts to 10 in the serial monitor using a delay.</p><p> Written by Progressive Automations Sept 21, 2015 This code is in the public domain */ int programCount = 0;//variable to move through the program void setup() { Serial.begin(9600);// initialize serial communication: programCount = 0;//start at the beginning }//end setup void loop() { switch (programCount) { case 0: delay(1000);//wait 1 second Serial.println("0");//print the number programCount = 1; break; case 1: delay(1000);//wait 1 second Serial.println("1");//print the number programCount = 2; break; case 2: delay(1000);//wait 1 second Serial.println("2");//print the number programCount = 3; break; case 3: delay(1000);//wait 1 second Serial.println("3");//print the number programCount = 4; break; case 4: delay(1000);//wait 1 second Serial.println("4");//print the number programCount = 5; break; case 5: delay(1000);//wait 1 second Serial.println("5");//print the number programCount = 6; break; default: Serial.print("Counting complete"); while(1); //freeze the program here }//end switch }//end loop