Obligatorisk oppgave nr. 3, trafikklys
Hva som skal leveres
Fysisk demonstrasjon for din gruppel?rer av f?lgende:
- Arduino som styrer trafikklys som reagerer p? at fotgjenger trykker inn en bryter. Hele sekvensen som starter med at bryteren trykkes m? vises. Oppkobling p? br?dbrett
- Kj?ring av samme kode p? ekte trafikklys
All kode m? lastes opp p? Devilry. Det kan bli etterspurt muntlig forklaring av koden.
Regler for gjennomf?ring av obligatoriske oppgaver
Leveringsfrist
- 27/3
Sikkerhet, regler og ressurser
- V?rt labreglement / sikkerhet p? labben
- Kj?p av Arduino student kit
- Nettressurser som medf?lger Arduino student kit. Arduino Online Learning Content, (hvis man har lyst p? mye mer nyttig info og eksempler)
- Hvordan unng? ? ?delegge Arduino
Oppgave 1
I denne oppgaven skal dere lage Arduinokode som styrer et trafikklys i et lysregulert gangfelt.

LYS:
- Biler:
- R?d/gul/gr?nn trafikklys i begge retninger. Vi antar at lysene i begge retninger viser det samme.
- Implementeres ved 3 LEDs i serie med 220 Ohm motstander og kobles til Arduinos digitale utganger som f?lger:
- Gr?nn LED med seriemotstend kobles til utgang nr.2
- Gul LED med seriemotstend kobles til utgang nr.3
- R?d LED med seriemotstend kobles til utgang nr.4
- Implementeres ved 3 LEDs i serie med 220 Ohm motstander og kobles til Arduinos digitale utganger som f?lger:
- R?d/gul/gr?nn trafikklys i begge retninger. Vi antar at lysene i begge retninger viser det samme.
- Fotgjengere:
- R?d/gr?nn trafikklys i begge retninger over gangfeltet. Vi antar at lysene i begge retninger viser det samme.
- Implementeres ved 2 LEDs i serie med 220 Ohm motstander og kobles til Arduinos digitale utganger som f?lger:
- Gr?nn LED med seriemotstend kobles til utgang nr.5
- R?d LED med seriemotstend kobles til utgang nr.6
- Implementeres ved 2 LEDs i serie med 220 Ohm motstander og kobles til Arduinos digitale utganger som f?lger:
- Lys p? bryterboksen for ? indikere at bryter er trykket ned.
- Implementeres ved Arduinos innebygde LED p? pinne 13.
- R?d/gr?nn trafikklys i begge retninger over gangfeltet. Vi antar at lysene i begge retninger viser det samme.
I/O:
- Inngang: knapp som fotgjengere trykker p? for ? f? gr?nt lys
- Kobles til utgang nr.10
- Utgang: Lydsignal (piezo element) som kommuniserer lystilstand til fotgjenger
- Kobles til utgang nr.11
Tilstandene for trafikklysene:
- S? lenge ingen trykker p? knappen, skal:
- Trafikklys biler:
- Lyse gr?nt.
- Trafikklys fotgjengere:
- Lyse r?dt.
- Piezo elementet skal pipe i sekvens: 0,5 sekunder AV og 0,5 sekunder P?.
- Trafikklys biler:
- N?r en fotgjenger trykker p? knappen, skal:
- Trafikklys biler:
- Etter 2 sekund skal trafikklyset for biler lyse gult.
- Etter 1 sekund med gult skal trafikklyset for biler lyse r?dt.
- Trafikklys fotgjengere:
- Innebygd LED p? pinne 13 skal lyse n?r fotgjenger trykker inn bryteren inntil det blir gr?nt lys for fotgjengere.
- N?r det har blitt r?dt lys for biler skal det g? 1 sekund f?r det blir gr?nt for fotgjengere.
- N?r det er gr?nt lys for fotgjengere skal piezo elementet pipe i selvens: 0,125 sekunder AV og 0,125 sekunder P?.
- N?r det har v?rt gr?nt lys for fotgjengere i 6 sekunder, skal det blinke gr?nt (0.5 sekunder av/p?) i tre iterasjoner. Deretter skal det lyse r?dt for fotgjengere.
- Trafikklys bil:
- N?r det har blitt r?dt lys for fotgjengere blir det f?rst gult lys for biler i 1 sekund, og s? gr?nt lys for biler.
- Trafikklys biler:
(Demo p? gruppe?velsen evt. video. Video m? ogs? vise Arduinokoden p? PC skjermen). Hele sekvensen som starter ved at fotgjenger trykker p? knappen m? vises.
?
Oppgave 2
Vi kobler Arduino til v?rt "ekte" trafikklys vist i figuren under. Dette st?r p? labben og kobles til Arduino med en ferdig konnektor som man stikker ned i alle de digitale pinnene samtidig. Har man brukt rette pinnenummre slik som spesifisert over, vil den lyse og fungere p? samme m?te som oppkoblingen p? eget breadboard. NB: bryteren i dette lyset kobler pinne 10 til jord uten pullupmotstand n?r man trykker, slik at man m? bruke pinMode(10, INPUT_PULLUP) og sjekke mot verdien LOW eller 0 for ? se om bryteren er trykket inn.

?