Innehållsförteckning:
- Steg 1: Ambitiös? Kanske
- Steg 2: Skriva koden för kontrollenheten
- Steg 3: NRF24L01 Breakout Board Mod
- Steg 4: Trafikljusenheter
- Steg 5: Trafikljus och test
- Steg 6: Korsvägen
- Steg 7: Allt klart
Video: 4 -vägs trafikljussystem med 5 Arduinos och 5 NRF24L01 trådlösa moduler: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
För ett tag sedan skapade jag en instruktionsbar detalj med ett par trafikljus på en bräda.
Jag skapade också en annan instruerbar som visar det grundläggande ramverket för användning av en trådlös NRF24L01 -modul.
Detta fick mig att tänka!
Det finns ganska många hobbyister runt om i världen som bygger modellstäder och järnvägar, och har nästan alltid trafikljus av någon beskrivning.
Vissa är fungerande modeller, och andra är endast av estetiska skäl.
Kan jag skapa en fungerande modell för ett fyrvägs trafikljussystem och ansluta dem trådlöst?
Jag satte mig ner och funderade på min lista över möjliga krav. Som blev lite så här.
Kontrollera 4 trafikriktningar, som ett vägskäl.
Varje riktning har två lampor; och varje par får sina instruktioner trådlöst från någon sorts styrenhet.
Kunna definiera och ändra driftsekvensen för lamporna,
- 1, 2, 3, 4 - medurs
- 1, 3, 4, 2
- 1, 4, 2, 3
- 1, 4, 3, 2-moturs
- 1, 2, 4, 3
- 1, 3, 2, 4
- 1 + 3, 2 + 4 - 2 på 2 av
- 1 + 3, 2, 4
- 1, 3, 2 + 4
All sekvensering ska styras av en enda kontrollenhet, och de mottagande enheterna tänder och släcker endast lamporna.
När jag sa att göra en modell, menade jag, gör en riktig modell, inget för tjusigt, men något som faktiskt skulle se ut ungefär som den riktiga, kanske, kanske ish.
Steg 1: Ambitiös? Kanske
Krav på huvuddelar:
En kontrollenhet och fyra lampor = fem Arduinos och fem trådlösa moduler. AliExpress till undsättning (igen).
Åtta trafikljusstativ. Jag har en dålig imitation av en 3D -skrivare, som tenderar att leverera mer foder än användbara produkter, men jag tänkte att jag skulle prova det ändå. Jag hittade några på Thingiverse, www.thingiverse.com/thing:2157324
Denna modell såg ut som den minst komplexa för min skrivare. Jag ville ha åtta, så jag pressade fortfarande på lyckan. Det visade sig att jag efter ett par misslyckade försök, om jag orienterade modellen i en viss riktning (från framsidan till baksidan), fick rimliga resultat. Totalt skrev jag ut tretton och fick åtta användbara.
Det var den stora dellistan som sorterades. De återstående delarna hade jag redan.
Den kompletta listan med delar är
- 5 x Arduino UNO
- 5 x NRF24L01 trådlösa kort
- 5 x YL-105 (eller liknande) breakout boards för NRF24L0s
- 8 x röda lysdioder
- 8 x gula lysdioder (jag har inga orange lysdioder)
- 8 x gröna lysdioder
- 4 x RGB -lysdioder
- 28 x 220 Ohm motstånd
- Brödbrädor / PCB ??
- 8 x modell trafikljus
- 6 x 8 långa stifthuvuden (den sjätte var för avstånd på kontrollkortet, se video)
- Krympslang
- Bygelkablar
- En bit hårdplatta eller något platt
- Andra träbitar ??
- Måla ??
- Varmt lim
- Val, tid, tålamod och alkohol
Steg 2: Skriva koden för kontrollenheten
Det här är det lilla jag måste göra först, bara om jag faktiskt inte kunde hantera det, vilket skulle ha varit en showstopper.
Detta var den klart mest komplexa delen eller projektet, men också den mest intressanta för mig.
Jag var tvungen att sätta mig ner och definiera alla möjliga kombinationer av ljusförändringar och hur de skulle fungera synkront.
Liksom all bra design började den på papper med en mycket lång lista med siffror, och eftersom jag ville kunna ha flera möjliga operationssekvenser blev listan ännu längre.
Men när jag var glad att jag hade allt som jag trodde var nödvändigt, och efter att ha stirrat på sidorna med siffror ett tag, började min OCD och jag började se mönster.
Genom att organisera mönstren lyckades jag samla ner all sekvensering i en enda tredimensionell uppsättning och två tvådimensionella matriser.
Allt jag behövde göra nu är att hitta ett sätt att manipulera dessa matriser till att skapa rätt sekvensering och lätta steg.
Det tog ett tag, men jag lyckades uppnå det på mindre än femtio kodrader, inklusive kommentarer etc.
Koden för detta är inte för svagt hjärta, men om du förstår flerdimensionella matriser bör det inte vara för svårt att följa. Eller en inlärningskurva för resten.
Poängen är att jag tror att det fungerar, och inte behöver kräva ändring ändå. Men…………
Steg 3: NRF24L01 Breakout Board Mod
NRF24L01-modulen och YL-105-brytbrädan är tyvärr inte särskilt brödbräda.
Breakout -brädan går delvis åt att åtgärda problemet och ännu viktigare, vilket gör det 5v -tolerant, men det är fortfarande inte brödbräda.
Så jag blev lite uppfinningsrik.
I min samling "saker" har jag ett antal 6 -stiftshuvuden med långa stift. Den sort som krävs för att göra Arduino Shields.
Jag tog en av dessa och böjde stiften i 90 grader.
Jag tog bort en av kraftskenorna från en brödbräda och pluggade huvudet i kanten på brödbrädet.
Det lämnade strömstiften på utbrottskortet. De är i vägen nu.
Så jag tog bort dem och placerade dem på andra sidan av utbrottskortet så att de nu sticker ut från brädans baksida.
För den här instruktionsboken kräver jag fem NRF24L01 -moduler, så jag monterade dem längs hela brädbrädan och fixerade sedan kraftskenan längs alla strömstiften på brytbordet.
Det såg ganska snyggt ut tills jag anslöt Arduinos och det blev lite trångt.
Plus, vilket är den viktiga biten, när strömskenan var ansluten skulle alla Arduinos vara anslutna till samma källa och det var det jag försökte undvika, så jag tog isär det mesta igen.
Jag kommer att behålla tavlan med ett par NRF24L01 -moduler på den för prototyper i framtiden, så inte ett fullständigt slöseri med tid.
Steg 4: Trafikljusenheter
Jag hittade några små 170 knytbräda. Dessa har ingen power rail så min modifierade breakout board skulle fortfarande passa. Om än på en liten vinkel på grund av höjden på utbrottskortet.
Jag byggde de fyra trafikljuskontrollerna samma, trådar i samma färg, positionering etc. De är nu verkligen fristående.
För styrenheten lägger jag NRF24L01 -modulen på ett kretskort med RGB -lysdioderna. Jag använde RGB för att även om jag inte behövde se alla lampor, bara de röda och gröna, tar de mindre plats.
Anslutde lysdioderna till Arduino på normalt sätt och lade till lite kod för att visa den röda eller gröna statusen för varje uppsättning trafikljus.
Jag försökte vara konsekvent med mina ledningsfärger så att jag lätt kunde se om jag hade gjort något annorlunda på en av brädorna.
Jag har några korta Dupont -ledningsuppsättningar, och eftersom ledningarna sitter ihop gjorde det denna del ganska lätt.
NRF24L01:
- CE Orange till Arduino pin 10 (definierad i koden)
- CSN Yellow To Arduino pin 9 (definierad i koden)
- SCK Green To Arduino pin 13 (obligatorisk)
- MOSI Blue To Arduino pin 11 (obligatorisk)
- MISO Purple To Arduino pin 12 (obligatoriskt)
- Vcc röd till 5v. Om du inte använder breakout boards måste detta vara 3,3v.
- GND Brown Till Arduino GND
Ljusenheter och Arduino -stift till lysdioder:
- Röd för röd LED
- Orange för den gula lysdioden (jag har inga orange lysdioder)
- Grönt för den gröna lysdioden
- Svart för GND
Min enda avvikelse från detta var när jag kopplade Control Arduino till RGB -lysdioderna. Jag använde vita och grå trådar eftersom jag hade slut på röda.
Steg 5: Trafikljus och test
Det är koden som slutförts och varje fristående kontroll har också slutförts. Allt jag behöver är själva trafikljusen.
Som jag sa tidigare hittade jag en okomplicerad modell på Thingiverse och lyckades skriva ut åtta som inte såg så illa ut.
Jag monterade lysdioderna med det erforderliga 200 Ohm -motståndet och en länk- och jordledning.
Krymp slangarna på ledningarna och varmlimmade allt på plats.
Jag bestämde mig för att måla dem svarta efter att alla lysdioder hade monterats. Dålig idé, jag borde ha gjort det först.
Jag kopplade ihop allt för ett test innan jag gick vidare.
Steg 6: Korsvägen
Jag bestämde mig för att montera dem alla på en bräda, så nu var jag tvungen att skapa något slags korsväg som liknade.
Jag bor i Storbritannien så vi kör på fel sida av vägen här, och därför gjorde jag mitt vägskäl så brittiskt vänligt som mina dåliga konstnärliga färdigheter tillåter.
Detta var ganska enkelt, bara tidskrävande; och jag är säker på att det inte finns några vägskäl som faktiskt ser ut så, men mina har inga gropar.
Jag ville inte offra mina Arduinos permanent för det här projektet, så jag komprometterade med att fylla var och en med 10 mm avstånd och varmlimade avstånden till brädans bas.
Vad jag dock gjorde är att limma mini -brödbrädan på sidan av Arduino.
För det första höll den NRF24L01 och breakout -brädan utanför korsningen, och för det andra använder jag sällan en Arduino utan någon form av brödbräda, så de kommer fortfarande att vara användbara så.
Steg 7: Allt klart
Alla kodfiler har inkluderats.
Jag gick inte igenom koden här eftersom denna Instructable är tillräckligt lång utan den.
Jag hoppas att detta har varit en användbar instruktion, även om det bara visar hur man styr ett antal andra Arduino -kort trådlöst med den mycket prisvärda NRF24L01.
Om du har några frågor, tveka inte att kommentera så ska jag göra mitt bästa för att hjälpa.
Rekommenderad:
Komma igång med trådlösa temperatur- och vibrationssensorer för långa avstånd: 7 steg
Komma igång med trådlösa temperatur- och vibrationssensorer för långa avstånd: Ibland orsakar vibrationer allvarliga problem i många applikationer. Från maskinaxlar och lager till hårddiskens prestanda, vibrationer orsakar maskinskador, tidigt byte, låg prestanda och orsakar en stor träff på noggrannheten. Övervakning
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Trådlös kommunikation med hjälp av billiga 433MHz RF -moduler och Pic -mikrokontroller. Del 2: 4 steg (med bilder)
Trådlös kommunikation med hjälp av billiga 433MHz RF -moduler och Pic -mikrokontroller. Del 2: På den första delen av denna instruerbara, visade jag hur man programmerar en PIC12F1822 med MPLAB IDE och XC8 -kompilator, för att skicka en enkel sträng trådlöst med billiga TX/RX 433MHz -moduler. Mottagarmodulen var ansluten via en USB till UART TTL kabelannons
Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): 10 steg (med bilder)
Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): Vad jag använde:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 pekskärm HXD8357D- summer- 4Ohm 3W högtalare- 5mm LED-lampor- Ultimaker 2+ skrivare m/ svart PLA-filament- Laserskärare m/ MDF-trä- Svart sprayfärg (för träet)- 3x nRF24
Så kyler du din trådlösa nätverksrouter och förhindrar att den saktar ner: 3 steg
Hur du kyler din trådlösa nätverksrouter och förhindrar att den saktar ner: Detta är en instruktion som visar hur du kyler din trådlösa nätverksrouter och undviker att sakta ner. Jag använde datorns fläkt för att kyla det trådlösa, anslut fläkten till det trådlösa och kommer att använda samma strömkälla för det trådlösa (trådlös NO -fläkt PÅ, wi