Sisällysluettelo:
- Vaihe 1: Kunnianhimoinen? Voi olla
- Vaihe 2: Kirjoita ohjausyksikön koodi
- Vaihe 3: NRF24L01 Breakout Board Mod
- Vaihe 4: Liikennevaloyksiköt
- Vaihe 5: Liikennevalot ja testaus
- Vaihe 6: Risteys
- Vaihe 7: Kaikki tehty
Video: 4 -suuntainen liikennevalojärjestelmä, jossa käytetään 5 Arduinoa ja 5 langatonta NRF24L01 -moduulia: 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Hetki sitten loin Instructable -ohjelman, jossa kerrotaan yksityiskohtaisesti yhdestä liikennevaloparista leipälaudalla.
Tein myös toisen Instructable -ohjelman, joka näyttää langattoman NRF24L01 -moduulin käytön peruskehyksen.
Tämä sai minut miettimään!
Maailmassa on melko paljon harrastajia, jotka rakentavat mallikaupunkeja ja rautateitä, ja heillä on lähes aina jonkinlaisia kuvaavia liikennevaloja.
Jotkut ovat toimivia malleja ja toiset vain esteettisiä tarkoituksia varten.
Voinko luoda toimivan mallin nelisuuntaisesta liikennevalojärjestelmästä ja yhdistää ne langattomasti?
Istuin alas ja mietin luetteloa mahdollisista vaatimuksista. Joka meni vähän näin.
Hallitse 4 liikennesuuntaa, kuten risteyksen risteys.
Jokaisessa suunnassa on kaksi valoa; ja jokainen pari saa ohjeet langattomasti jonkinlaisesta ohjausyksiköstä.
Osaa määritellä ja muokata valojen toimintajärjestystä,
- 1, 2, 3, 4 - myötäpäivään
- 1, 3, 4, 2
- 1, 4, 2, 3
- 1, 4, 3, 2-vastapäivään
- 1, 2, 4, 3
- 1, 3, 2, 4
- 1 + 3, 2 + 4-2 pois päältä 2
- 1 + 3, 2, 4
- 1, 3, 2 + 4
Kaikkia sekvensointeja ohjataan yhdellä ohjausyksiköllä, ja vastaanottoyksiköt sammuttavat ja sammuttavat vain valot.
Kun sanoin, että tee malli, tarkoitin todellista mallia, ei mitään liian hienoa, mutta jotain, joka todella näyttäisi jotain oikealta, mahdollisesti, ehkä ish.
Vaihe 1: Kunnianhimoinen? Voi olla
Tärkeimmät osat:
Ohjausyksikkö ja neljä valosarjaa = viisi Arduinoa ja viisi langatonta moduulia. AliExpress pelastamaan (jälleen).
Kahdeksan liikennevaloja. Minulla on huono jäljitelmä 3D -tulostimesta, joka tuottaa yleensä enemmän roskakoria kuin käyttökelpoisia tuotteita, mutta ajattelin kuitenkin kokeilla sitä. Löysin joitain Thingiversestä, www.thingiverse.com/thing:2157324
Tämä malli näytti vähiten monimutkaiselta tulostimelleni. Halusin kahdeksan, joten jatkoin edelleen onneani. Kuten kävi ilmi, huomasin, että muutaman epäonnistuneen yrityksen jälkeen, jos suunnasin mallin tiettyyn suuntaan (edestä taakse), sain kohtuullisia tuloksia. Yhteensä painoin kolmetoista, ja sain kahdeksan käyttökelpoista.
Se oli tärkeimpien osien luettelo. Loput osat, minulla oli jo.
Täydellinen osaluettelo on
- 5 x Arduino UNO: ta
- 5 x langatonta NRF24L01 -korttia
- 5 x YL-105 (tai vastaava) katkaisulautaa NRF24L0-laitteille
- 8 x punaista LEDiä
- 8 x keltaista LEDiä (minulla ei ole oransseja LED -valoja)
- 8 x vihreää LEDiä
- 4 x RGB -LEDiä
- 28 x 220 ohmin vastukset
- Leipälevyt / piirilevyt ??
- 8 x Malli liikennevalot
- 6 x 8 pitkää nastaista otsikkoa (kuudes oli tarkoitettu ohjauslevyn välille, katso video)
- Kutista putki
- Hyppyjohdot
- Pala kovalevyä tai jotain tasaista
- Muita puukappaleita ??
- Maali ??
- Kuuma liima
- Aika, kärsivällisyys ja valitsemasi alkoholi
Vaihe 2: Kirjoita ohjausyksikön koodi
Tämä oli se juttu, joka minun piti tehdä ensin, siltä varalta, että en voisi itse hallita sitä, mikä olisi ollut showstopper.
Tämä oli ylivoimaisesti monimutkaisin osa tai projekti, mutta myös mielenkiintoisin minulle.
Minun piti istua alas ja määritellä kaikki mahdolliset valomuutosten yhdistelmät ja miten ne toimisivat yhdessä synkronisesti.
Kuten kaikki hyvä suunnittelu, se alkoi paperilla erittäin pitkällä numeroluettelolla, ja koska halusin saada useita mahdollisia toimintajaksoja, luettelo pidentyi entisestään.
Mutta kerran olin onnellinen siitä, että minulla oli kaikki, mitä luulin, että vaadittiin, ja kun olin tuijottanut numeroiden sivuja jonkin aikaa, OCD alkoi ja aloin nähdä kuvioita.
Kuvioiden järjestämisessä onnistuin kokoamaan kaikki sekvensoinnit yhdeksi 3-ulotteiseksi matriisiksi ja kahdeksi 2-ulotteiseksi matriisiksi.
Ainoa mitä minun piti nyt tehdä, oli löytää tapa manipuloida näitä matriiseja oikeiden sekvensointi- ja valovaiheiden luomiseksi.
Kesti jonkin aikaa, mutta onnistuin saavuttamaan sen alle viidenkymmenen rivin koodilla, mukaan lukien kommentit jne.
Tämän koodi ei ole heikkohermoisille, mutta jos ymmärrät moniulotteisia matriiseja, sen ei pitäisi olla liian vaikeaa seurata. Tai oppimiskäyrä muille.
Pointti on siinä, että uskon sen toimivan, eikä sen pitäisi vaatia muutosta. Mutta…………
Vaihe 3: NRF24L01 Breakout Board Mod
Valitettavasti NRF24L01-moduuli ja YL-105-murtolevy eivät ole kovin leipälautaystävällisiä.
Breakout -levy osittain korjaa ongelman ja mikä tärkeintä, tekee siitä 5v: n suvaitsevan, mutta se ei silti ole leipälautaystävällinen.
Sain siis vähän kekseliäisyyttä.
"Tavara" -kokoelmassani on useita 6 -nastaisia otsikoita, joissa on pitkät nastat. Laji, jota tarvitaan Arduino -kilpien tekemiseen.
Otin yhden näistä ja taivutin tappeja 90 astetta.
Irrotin yhden virtakiskon leipälaudalta ja liitin otsikon leipälaudan reunaan.
Tämä jätti virtatapit katkaisulaudalle. He ovat nyt tiellä.
Joten poistin ne ja asetin ne katkaisulaudan toiselle puolelle niin, että ne ovat nyt ulkonevat levyn takaa.
Tätä opetusohjelmaa varten tarvitsen viisi NRF24L01 -moduulia, joten asensin ne kaikki leipälautaa pitkin ja kiinnitin sitten virtakiskon kaikkien katkaisulaudan virtanastat pitkin.
Se näytti melko siistiltä, kunnes liitin Arduinot ja se oli hieman täynnä.
Lisäksi, mikä on tärkeä asia, kun virtakisko on kytketty, kaikki Arduinosit olisi kytketty samaan lähteeseen, ja sitä yritin välttää, joten purin suurimman osan siitä uudelleen.
Aion pitää levyn parilla NRF24L01 -moduulilla prototyyppien valmistusta varten tulevaisuudessa, joten en ole täysin ajanhukkaa.
Vaihe 4: Liikennevaloyksiköt
Löysin pieniä 170 solmukohdan leipälevyä. Näissä ei ole virtakiskoa, joten muokattu katkaisulauta sopisi silti. Vaikka pienessä kulmassa katkaisulaudan korkeuden vuoksi.
Rakensin neljä liikennevalo -ohjainta samaan, samanvärisiin johtoihin, paikannukseen jne. Ne ovat nyt todella itsenäisiä.
Ohjausyksikköä varten asetin NRF24L01 -moduulin piirilevylle, jossa on RGB -LEDit. Käytin RGB: tä, koska vaikka minun ei tarvinnut nähdä kaikkia valoja, vain punaista ja vihreää, ne vievät vähemmän tilaa.
Yhdisti LEDit Arduinoon tavalliseen tapaan ja lisäsi hieman koodia näyttääkseen kunkin liikennevalosarjan punaisen tai vihreän tilan.
Yritin olla johdonmukainen johdotusvärieni kanssa, jotta voisin helposti nähdä, olinko tehnyt jotain toisella levyllä.
Minulla on joitain lyhyitä Dupont -johtojoukkoja, ja koska johdot ovat juuttuneet yhteen, se teki tämän osan melko helpoksi.
NRF24L01:
- CE Orange - Arduino pin 10 (määritelty koodissa)
- CSN keltainen - Arduino -nasta 9 (määritelty koodissa)
- SCK Green - Arduino -nasta 13 (pakollinen)
- MOSI Blue - Arduino pin 11 (pakollinen)
- MISO Purple - Arduino -nasta 12 (pakollinen)
- Vcc punainen 5v. Jos et käytä katkaisulautoja, sen on oltava 3.3v.
- GND Brown - Arduino GND
Valoyksiköt ja Arduino -nastat LEDeihin:
- Punainen punainen LED
- Oranssi keltaiselle LEDille (minulla ei ole oransseja LED -valoja)
- Vihreä vihreälle LEDille
- Musta GND: lle
Ainoa poikkeamani tästä oli, kun liitin Control Arduinon RGB -merkkivaloihin. Käytin valkoisia ja harmaita johtoja, koska punaiset olivat loppuneet.
Vaihe 5: Liikennevalot ja testaus
Se on koodi valmis ja jokainen erillinen ohjaus valmis. Tarvitsen nyt vain liikennevalot.
Kuten aiemmin sanoin, löysin Thingiversesta yksinkertaisen mallin ja onnistuin tulostamaan kahdeksan, jotka eivät näyttäneet kovin pahoilta.
Asensin LEDit tarvittavalla 200 ohmin vastuksella ja linkillä ja maadoitusjohdolla.
Kutista letkut letkuihin ja liimaa ne kaikki paikoilleen.
Päätin maalata ne mustiksi, kun kaikki LEDit oli asennettu. Huono idea, minun olisi pitänyt tehdä se ensin.
Laitoin kaiken testiin, ennen kuin edistyin eteenpäin.
Vaihe 6: Risteys
Päätin asentaa ne kaikki laudalle, joten nyt minun piti luoda jonkinlainen risteys.
Asun Yhdistyneessä kuningaskunnassa, joten ajamme täällä väärää tietä, ja siksi tein risteykseni niin Yhdistyneessä kuningaskunnassa ystävälliseksi kuin huonot taiteelliset taitoni sallivat.
Tämä oli melko suoraviivaista, vain aikaa vievää; ja olen varma, että sellaisia risteyksiä ei todellakaan ole, mutta omissani ei ole kuoppia.
En halunnut uhrata Arduinojani pysyvästi tähän projektiin, joten tein kompromisseja täyttämällä kukin 10 mm: n seisokkeilla ja liimaamalla pysäytykset levyn pohjaan.
Tein kuitenkin kuuman liiman minileipälevyn Arduinon puolelle.
Ensinnäkin se piti NRF24L01: n ja katkaisulaudan risteyksen pohjalta, ja toiseksi, käytän harvoin Arduinoa ilman jonkinlaista leipälautaa, joten ne ovat edelleen hyödyllisiä.
Vaihe 7: Kaikki tehty
Kaikki kooditiedostot on sisällytetty.
En käynyt läpi koodia täällä, koska tämä Instructable on tarpeeksi pitkä ilman sitä.
Toivon, että tämä on ollut hyödyllinen ohje, vaikka se vain näyttää kuinka hallita useita muita Arduino -levyjä langattomasti erittäin kohtuuhintaisella NRF24L01 -laitteella.
Jos sinulla on kysyttävää, älä epäröi kommentoida ja autan parhaani mukaan.
Suositeltava:
Vierailijalaskuri, jossa käytetään 8051- ja infrapuna -anturia nestekidenäytöllä: 3 vaihetta
Vierailijalaskuri, jossa käytetään 8051- ja infrapuna -anturia nestekidenäytöllä: Hyvät ystävät, olen selittänyt, kuinka tehdä vierailijalaskuri 8051- ja IR -anturin avulla ja näyttänyt sen nestekidenäytössä. 8051 on yksi suosituimmista mikrokontrollereista, joita käytetään harrastus-, kaupallisten sovellusten tekemiseen ympäri maailmaa. Olen tehnyt vis
ULTRASONIC LEVITATION Machine, joka käyttää ARDUINOa: 8 vaihetta (kuvien kanssa)
ULTRASONIC LEVITATION Machine ARDUINOa käyttäen: On erittäin mielenkiintoista nähdä jotain kelluvaa ilmassa tai vapaassa tilassa, kuten avaruusolennot. Juuri tästä antigravitaatiohankkeessa on kyse. Esine (pohjimmiltaan pieni paperi tai termokolli) on sijoitettu kahden ultraäänikalvon väliin
Käytä Arduinoa moottorin kierrosluvun näyttämiseen: 10 vaihetta (kuvien kanssa)
Käytä Arduinoa moottorin kierrosluvun näyttämiseen: Tässä oppaassa kuvataan, miten käytin Arduino UNO R3: ta, 16x2 LCD -näyttöä I2C: llä ja LED -nauhaa, jota käytettiin moottorin kierroslukumittarina ja vaihteenvalona Acura Integra -raiteessa. Se on kirjoitettu henkilöllä, jolla on jonkin verran kokemusta tai altistumista
Langaton Arduino -yhdistelmälukko, jossa NRF24L01 ja 4 -numeroinen 7 -segmenttinäyttö: 6 vaihetta (kuvien kanssa)
Langaton Arduino -yhdistelmälukko, jossa NRF24L01 ja 4 -numeroinen 7 -segmenttinäyttö: Tämä projekti aloitti toimintansa harjoituksena tehdä jotain 4 -numeroisella 7 -segmenttinäytöllä. se oli valmis, se oli aika tylsää. Rakensin sen Arduino UNO: lla
Käytä Arduinoa N64 -ohjaimella: 5 vaihetta (kuvien kanssa)
Käytä Arduinoa N64 -ohjaimen kanssa: Siellä on opetusohjelmia NES -ohjaimen käyttämisestä Arduinon kanssa, mutta monimutkaisemman N64 -ohjaimen ja sen analogisen ohjaussauvan käyttäminen on selvä. Jos sinulla on Arduino ympärilläsi etkä halua ostaa Adaptoidia, tämä ohje