Med uttrycket Switch() som sekvensering kontroll (3 / 6 steg)
Steg 3: Lägga till grundläggande analoga ingångar
Det nästa vi ska försöka är en analog ingång. De flesta sensorer ge någon slags analog signal, för detta exempel kommer vi att använda en potentiometer. Koden kommer att läsa potentiometern, och bara förväg när önskat värde uppnås.
Wire potentiometer enligt diagrammet, och ladda upp koden nedan.
Eftersom dessa är bara test program, kan du lämna styrelsen plugg in i computern så Arduino kan få makt.
/ * Denna kod är att visa hur en analog ingång kan användas för att flytta genom en
byta uttalande. Potentiometern måste flyttas till önskat värde
innan vidare till nästa steg i programmet.
Skrivet av progressiva automatiseringar
21 sept, 2015
Denna kod är offentlig
*/
CONST int pot = A0; //attach potten till stift A0
int potValue = 0; //variable att hålla potterna läsning
int programCount = 0; //variable att flytta genom programmet
void setup() {
Serial.BEGIN(9600); / / initiera seriell kommunikation:
pinMode (potten, indata); Ställ krukan som indata
programCount = 0; //start i början av programmet
Serial.println ("flytta potentiometern till önskade platser att avancera");
} //end setup
void loop() {
växel (programCount) {
fall 0:
potValue = analogRead (kruka); //read pot's värde
Serial.println ("flytta potentiometern helt åt sidan för att få max läsning");
medan (potValue < = 1000) //1023 är max värde
{
potValue = analogRead (kruka); //read pot's värde
fördröjning (10), //small fördröjning mellan behandlingarna
}
Serial.println (potValue), //show vad läsning är
Serial.println ("en gräns nått!");
Serial.println(""); //print en extra rad
om (potValue > = 1000) programCount = 1; //once värdet är på önskad position, flytta på
bryta;
fall 1:
potValue = analogRead (kruka); //read pot's värde
Serial.println ("flytta potentiometern till mitten");
medan (potValue > = 500) //~512 är mitt
{
potValue = analogRead (kruka); //read pot's värde
fördröjning (10), //small fördröjning mellan behandlingarna
}
Serial.println (potValue), //show vad läsning är
Serial.println ("Middle position nått!");
Serial.println(""); //print en extra rad
om (potValue < = 500) programCount = 2; //once värdet är på önskad position, flytta på
bryta;
fall 2:
potValue = analogRead (kruka); //read pot's värde
Serial.println ("flytta potentiometern helt till andra sidan för att få min läsning");
medan (potValue > = 10) //0 är min värde
{
potValue = analogRead (kruka); //read pot's värde
fördröjning (10), //small fördröjning mellan behandlingarna
}
Serial.println (potValue), //show vad läsning är
Serial.println ("sista gräns nått!");
Serial.println(""); //print en extra rad
om (potValue < = 10) programCount = 3; //once värdet är på önskad position, flytta på
bryta;
standard:
Serial.println ("programmet komplett");
samtidigt (1). frysa programmet här
} //end switch
} //end loop