4.TrafikSekvens
Video: GenomgÄng av fÀrgning av etiketter med Nano-styrning.
// Kod 4 TrafikSekvens #include <Arduino.h> void TrafikSekvens(); // Kan tas bort i Arduino IDE void KlickDelay(unsigned long); // Kan tas bort i Arduino IDE #define KNAPP_PINNE 2 // Valt pinne 2 för knapp #define PIEZO_PINNE 11 // Valt pinne 11 för piezo #define WALK_RED_PINNE 7 #define WALK_YELLOW_PINNE 8 #define WALK_GREEN_PINNE 9 #define CAR_RED_PINNE 4 #define CAR_YELLOW_PINNE 5 #define CAR_GREEN_PINNE 6 unsigned long _TimeToNextTick; // Sparad tid för nÀsta klick void setup() { pinMode(KNAPP_PINNE, INPUT_PULLUP); // Knapp med pullup pinMode(PIEZO_PINNE, OUTPUT); pinMode(CAR_RED_PINNE, OUTPUT); pinMode(CAR_YELLOW_PINNE, OUTPUT); pinMode(CAR_GREEN_PINNE, OUTPUT); pinMode(WALK_RED_PINNE, OUTPUT); pinMode(WALK_YELLOW_PINNE, OUTPUT); pinMode(WALK_GREEN_PINNE, OUTPUT); digitalWrite(WALK_RED_PINNE, HIGH); digitalWrite(CAR_GREEN_PINNE, HIGH); _TimeToNextTick = millis() + 999; // StartvÀrde ungefÀr 1 s framÄt } void loop() { KlickDelay(1); bool statusKnapp = digitalRead(KNAPP_PINNE); if (statusKnapp == LOW) { tone(PIEZO_PINNE, 3000, 100); // Kort ton vid knapptryck TrafikSekvens(); KlickDelay(30000); // VÀnta 30 s innan ny sekvens tillÄts } } void TrafikSekvens() { digitalWrite(CAR_GREEN_PINNE, LOW); digitalWrite(CAR_YELLOW_PINNE, HIGH); KlickDelay(3000); digitalWrite(CAR_YELLOW_PINNE, LOW); digitalWrite(CAR_RED_PINNE, HIGH); KlickDelay(2000); digitalWrite(WALK_RED_PINNE, LOW); digitalWrite(WALK_GREEN_PINNE, HIGH); KlickDelay(6000); KlickDelay(4000); digitalWrite(WALK_GREEN_PINNE, LOW); digitalWrite(WALK_RED_PINNE, HIGH); KlickDelay(3000); digitalWrite(CAR_YELLOW_PINNE, HIGH); KlickDelay(1000); digitalWrite(CAR_RED_PINNE, LOW); digitalWrite(CAR_YELLOW_PINNE, LOW); digitalWrite(CAR_GREEN_PINNE, HIGH); } void KlickDelay(unsigned long time) { for (size_t i = 0; i < time; i++) { // Repetera 'time' gÄnger if (millis() > _TimeToNextTick) { digitalWrite(PIEZO_PINNE, HIGH); delay(1); digitalWrite(PIEZO_PINNE, LOW); _TimeToNextTick = millis() + 999; } delay(1); } }
Nu liknar det trafikljus vid ett övergÄngsstÀlle, men det Àr fortfarande en del problem.
- NÀr TrafikSekvensen pÄgÄr, hÀnder det inget nÀr knappen trycks.
- NÀr det blir grön gubbe ska det klicka fortare.
Inköpslista.
Artikel: 2805 Trafikljus kit, med kod som passar nybörjare.
Direkt lÀnk: https://pchbutik.se/mcu/1794-trafikljus-kit-med-kod-som-passar-nyborjare.html
Denna sida Àr konverterad med hjÀlp av AI.
En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.


