Stap 34: programma
Vervolgens upload de volgende code naar de Arduino:
/ * Lunch Decider wiel Code door Rand Sarafan voor meer info bezoek: deze code in het publieke domein is * / #include < Wire.h > #include "RTClib.h" RTC_DS1307 RTC; int koppeling = 2; int motor = 3; int pickAgain = 4; int buttonState = 0; variabele voor het lezen van de drukknop status int delaylegnth = 4000; de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset: void setup {Serial.begin(57600); Wire.begin(); RTC.begin(); Initialiseer de digitale pin als uitgang. pinMode (clutch, uitvoer); pinMode (motor, uitgang); pinMode (pickAgain, INPUT); } / / de routine lus loopt over en weer forever: void loop {//if het is 11:45:00 draai aan het wiel eenmaal DateTime nu = RTC.now(); als (now.hour() == 11) {als (now.minute() == 45) {als (now.second() == 0) {spinTheWheel();}}} //if drukt u op de drukknop, respin de wiel-buttonState = digitalRead(pickAgain); als (buttonState == HIGH) {spinTheWheel();}} //Wheel routine nietig spinTheWheel() {//engage de koppeling digitalWrite (koppeling, hoge); delay(500); //spin de motor voor een willekeurige interval tussen 1 en 5 seconden digitalWrite (motor spinnen HOGE); delaylegnth = (random(4000) + 1000); delay(delaylegnth); uitschakelen van de motor en koppeling digitalWrite (motor, laag); delay(500); digitalWrite (koppeling, laag); delay(10000); }