Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä opetusohjelmassa opimme luomaan liikennevalon ja hallitsemaan sitä Drivemall -kortilla.
Näemme kuinka luoda liikennevalot autoille ja jalankulkijoille varauspainikkeella.
Jos meillä ei ole drivermallia, voimme käyttää arduinoa, mutta Drivemallin kehittämisen linkin alapuolella.
Etuna Drivemallin asettaminen klassiseen Arduino -korttiin verrattuna on se, että se vähentää yhteyksien monimutkaisuutta, mikä johtaa siistimpään kokoonpanoon. Tämä on kuitenkin valinnaista: kaikki tulokset ovat edelleen voimassa arduino -levyn, leipälevyn ja tarpeeksi dupont -hyppyjohtimia varten.
Vaihe 1: Materiaaliluettelo
- Baord Drivemall / ArduinoMega
- 4 lediä punaisena
- 4 lediä vihreänä
- 4 lediä keltaisena
- 8 transistori npn
- 16 vastusta 220 ohmia
- 8 vastusta 22 k ohmia
- 1 vastus 1 k ohmia
- kaapeli
- 1 -painiketta
Vaihe 2: Liitännät
Liikennevaloa ohjataan kahdella PNP -transistorilla, jotka on kytketty kuvan 2 kaavion mukaisesti. PNP -transistorin toiminta on hyvin yksinkertaista, kun kanta on kytketty GND: hen, virran kulku lähettimen ja keräimen välillä on käytössä.
Käytämme transistoreita vähentämään jokaisen liikennevalon sytyttämiseen tarvittavien piirilevyjen määrää.
Joten jos molemmat PERUSTEET ovat VDD, punainen LED syttyy tai on selkeämpi LED 21 17 14 6.
Jos kytket virran toisen transistorin BASE -laitteeseen, LEDit 3 15 18 19 syttyvät.
Viimeiseksi, jos liitämme molemmat KANNAT GND: hen, LEDit 20 16 13 10 syttyvät
Painikkeen liitäntä on sen sijaan klassinen vastus, joka on kytketty GND: hen yhdellä napin tapilla ja toinen VDD: llä.
Rekisteröidyt Arduino -nastat ovat 1-10.
Vaihe 3: Laiteohjelmisto
Ajoittain vain yksi liikennevaloista on vihreä. Kun jalankulkijapainiketta painetaan, seuraavalla jaksolla jalankulkijoiden liikennevalo muuttuu vihreäksi
Kävelyn painikekutsun hallitsemiseksi viipymättä reaaliajassa käytettiin toimintoa millis (), joka palauttaa laitteen käynnistämisestä kuluneen ajan millisekunteina, jotta sitä voidaan käyttää
esimerkki
allekirjoittamaton pitkävirtaMillis = millis ();.
if (currentMillis - previousMillis> 2000 ja bt03 == true ja bbot == false)
{
Sarja.println (1);
T1 ();
previousMillis = currentMillis;
bt1 = totta;
BT03 = epätosi;
}
Ladataan nykyinen aika kullekin silmukalle ja jos nykyinen miinus edellinen on suurempi kuin valittu aika, syötä if jos haluat muuttaa liikennevalon tilaa, joka aktivoi Boolen muuttujan seuraavaan siirtymään, tietysti ensimmäisen Boolen muuttujan pitää paikkansa jo ennen silmukan sisäänkäyntiä.
Vaihe 4: Vastuuvapauslauseke
Tämä opetusohjelma on laadittu osana Makerspace for Inclusion -hanketta, jota rahoittaa Euroopan komission Erasmus + -ohjelma.
Hankkeen tavoitteena on edistää epävirallista koulutusmuotoa keinona edistää nuorten sosiaalista osallisuutta.
Tämä opetusohjelma kuvastaa vain kirjoittajien näkemyksiä, eikä Euroopan komissiota voida pitää vastuussa sen sisältämien tietojen mahdollisesta käytöstä.