Diorama, Bat i grottan (13 / 15 steg)
Steg 13: Steg 11: Arduino kod
int photocellReading3; Ett heltal och lagra läsningen från ljussensornbooleska ledStatus = false; Ett booleskt värde för att felsöka om lysdioderna ska vara på eller av
int counter = 0; En räknare för att kontrollera när motorn ska vara på eller av
void setup(void) {
Serial.BEGIN(9600);
pinMode (7, OUTPUT); Initierar LED utgång 7
pinMode (13, OUTPUT); Initierar Motor pin
pinMode (8, OUTPUT); Initierar Motor broms pin
digitalWrite 13, låg. Upprättar riktning framåt av motorn
digitalWrite 8, låg. Lossa bromsen för motorn
}
void loop(void) {
photocellReading3 = analogRead(3); Läs ljussensor värde
om (photocellReading3 < 300) {/ / om ljussensorn inte tar emot betydande ljus göra detta
digitalWrite (7, hög). Slå på lysdioder
ledStatus = sant; Ställa in debug LED Boolean True
om (counter % 5 == 0) {/ / varje 5 intervaller på denna slinga (0,5 sekund) göra detta
analogWrite (11, 255); Ställa in hastigheten på motor till full fart
}
annars om (counter % 5 == 1) {/ / efter 2/20 av en andra stänga av motorn
analogWrite (11, 0); Anger hastigheten på motorn till 0
}
}
annat {/ / om det är ljus utanför, AKA sensor läser över 300
analogWrite (11, 0); Ange hastigheten på motorn till 0
digitalWrite (7, låg). Stänga av lysdioder
ledStatus = false; ställa in debug smal avsats ställningen boolean false
}
räknare = räknare + 1. Öka stegräknare med 1
DEBUG INFORMATION:
Serial.Print ("Analog läsning 3 =");
Serial.println(photocellReading3);
Serial.Print ("LED Status =");
Serial.println(ledStatus);
Serial.Print ("Counter =");
Serial.println(Counter);
AVSLUTA DEBUG INFO:
Serial.println("");
Delay(100);
}