PIC Opgave 16 - Lyskryds
Opgaven går ud på at konstruere, dokumentere, simulere, opbygge og efterkontrollere et lyskryds.
PIC Programmeringsopgave - At lave styringen til et Lyskryds
Lyskrydset opbygges som et program i en PIC.
Lysene for vej A og C er ens. Lysene for vej B og D er ens. Lysene for vej B skal være de samme som for vej A, bare tidsforskudt. Udnyt det at man kan sætte flere lysdioder til samme udgang.
- Rød- og Grøn-perioderne skal være ca. lige lange.
- Gul-perioden efter grøn skal være ca. 10% af grøn-perioden.
- Gul-perioden efter rød skal være ca. 5% af rød-perioden
- Gul må ikke tænde før grøn slukker.
- Gul efter grøn skal være tændt et stykke tid, før rød tænder.
- Gul efter grøn skal være tændt et stykke tid sammen med rød.
- Gul efter rød tænder sammen med rød før grøn.
- Grøn tænder når gul og rød slukker.
- Grøn for vej B må først tænde, når rød for vej A og rød for vej B har været tændt samtidigt i ca. 10% af rød-perioden, og lige sådan for grøn for vej A.
Start med at tegne en pulsplan for hvordan lysene afvikles.
Udvidelse 1
Hvis I vil have en mindre udvidelse, så kan I bygge lys på til fodgængerfeltet.
Fodgængerne skal kun have grønt i de første 80% af bilernes grøn-periode. Fodgængerne har ingen gul, og deres røde skal være tændt, når deres grøn er slukket.
Udvidelse 2
Lav en trafik-afhængig styring, således at vej A altid står med grønt, indtil der kommer en bil på vej B (brug kontakt 14). Når der kommer en bil på vej B, så skal vej B gennemløbe en periode som i den grundlæggende opgave, og den skal så gå tilbage på vej A.
Udvid således at vej A altid vil få de 7 sekunder, inden vej B kan få en ny periode, således at mange biler på ved B ikke resulterer i kødannelse på vej A.
Udvidelse 3
Denne opgave kører igen automatisk uden trafikstyring fra bilerne, så det kan være en fordel at starte i løsningen fra starten af opgaven.
Vi skal nu have fodgænger-lys på, så vi skal have flere indikatorer nok som lysdioder. Man kan også for at holde styr på det skrive noget ud til Seriel Monitor.
Fodgængertrykket til vej A og fodgængertrykket på vej B skal forbindes til 2 kontakter.
For fodgængerne skal lyset vise rødt hele tiden, med mindre fodgængertrykket er blevet aktiveret. En fuld periode for fodgængerne er at den grønne starter sammen med bilernes grønt, men at den slutter 1 sekund før, og gul-rød har samme slutsekvens som bilernes, bare forskudt 1 sekund. Dette er for at fodgængerne skal kunne nå over.
For at beskytte fodgængerne må der heller ikke være for kort en periode med bil-grønt, så hvis fodgænger-trykket bliver aktiveret senere end 2 sekunder inde i bilernes grønne periode (for begge veje), så skal fodgænger-perioden ikke komme i denne periode – den skal så til gengæld komme i den næste grønne bil-periode for den aktuelle vej. Tilsvarende skal der selvfølgelig huskes på fodgængertrykket hvis det aktiveres i bilernes gul- eller rød-periode.
Test at alle betingelser af, at det fungerer i alle tilfælde (man skulle jo nødigt genere fodgængerne, eller endnu værre, have grønt i begge retninger samtidigt).
Udvidelse 4
Dette er egentlig ikke en udvidelse, men en helt ny opgave, hvor det kan være en fordel at starte helt fra bunden.
Find ud af hvordan lyskrydset Døesvej - Nørrebrogade i Holstebro ser ud, og hvordan det kan styres.
Opbyg styringen med tidsstyring.
Udvidelse 5
Lyskrydset Døesvej - Nørrebrogade er trafikstyret, også med cykler - analyser hvordan styringen kan optimeres, og hvordan det kan programmeres.
| PIC | |
|---|---|
| PIC-Typer | PIC16F84 - PIC12F675 - PIC16F628 - PIC16F684 - PIC16F690 - PIC16F877 - PIC18F2550 |
| Programmeringsbegreber | Maskinkode - Mikrocontroller |
| Programmeringsmiljø | PIC-brænder - UsbPicProg - Analog indgang - ICSP |

