Съдържание:

4 -степенна система за светофари, използваща 5 безжични модула Arduinos и 5 NRF24L01: 7 стъпки (със снимки)
4 -степенна система за светофари, използваща 5 безжични модула Arduinos и 5 NRF24L01: 7 стъпки (със снимки)

Видео: 4 -степенна система за светофари, използваща 5 безжични модула Arduinos и 5 NRF24L01: 7 стъпки (със снимки)

Видео: 4 -степенна система за светофари, използваща 5 безжични модула Arduinos и 5 NRF24L01: 7 стъпки (със снимки)
Видео: BlitzWolf BW-IS22 - Сигнализация, wi-fi + GSM, Tuya Smart, интеграция и управление в Home Assistant 2024, Ноември
Anonim
Image
Image
Амбициозен? Може би!
Амбициозен? Може би!

Преди малко създадох Instructable, описващ подробно един чифт светофари на макет.

Създадох и друг Instructable, показващ основната рамка за използване на безжичен модул NRF24L01.

Това ме накара да се замисля!

По целия свят има много любители, които изграждат образцови градове и железници и почти винаги имат светофари с някакво описание.

Някои са работещи модели, а други са само за естетически цели.

Мога ли да създам работещ модел на четирипосочна система за светофари и да ги свържа безжично?

Седнах и обмислих списъка си с възможни изисквания. Което мина малко така.

Контролирайте 4 посоки на движение, като кръстовище.

Всяка посока има две светлини; и всяка двойка получава своите инструкции безжично от някакъв контролен блок.

Да може да дефинира и променя последователността на работа на светлините,

  • 1, 2, 3, 4 - по посока на часовниковата стрелка
  • 1, 3, 4, 2
  • 1, 4, 2, 3
  • 1, 4, 3, 2-обратно на часовниковата стрелка
  • 1, 2, 4, 3
  • 1, 3, 2, 4
  • 1 + 3, 2 + 4 - 2 на 2 изключено
  • 1 + 3, 2, 4
  • 1, 3, 2 + 4

Всички последователности да се контролират от един единствен контролен блок, а приемните единици само да включват и изключват светлините.

Когато казах да направя модел, имах предвид да направя истински модел, нищо прекалено фантастично, но нещо, което всъщност би изглеждало нещо като истинското, вероятно, може би иш.

Стъпка 1: Амбициозен? Може би

Изисквания към основните части:

Блок за управление и четири комплекта светлини = пет Arduinos и пет безжични модула. AliExpress на помощ (отново).

Осем светофарни стойки. Имам лоша имитация на 3D принтер, който има тенденция да доставя повече фураж, отколкото използваеми продукти, но мислех, че така или иначе ще го пробвам. Намерих някои в Thingiverse, www.thingiverse.com/thing:2157324

Този модел изглеждаше като най -малко сложния за моя принтер. Исках осем, така че все още прокарвах късмета си. Оказа се, че след няколко неуспешни опита, ако ориентирах модела в определена посока (отпред назад), получих разумни резултати. Отпечатах общо тринадесет и получих осем използваеми.

Това беше списъкът на основните части. Останалите части вече имах.

Пълният списък с части е

  • 5 x Arduino UNO
  • 5 x безжични платки NRF24L01
  • 5 x YL-105 (или подобни) пробивни платки за NRF24L0s
  • 8 x червени светодиоди
  • 8 x жълти светодиоди (нямам оранжеви светодиоди)
  • 8 x зелени светодиоди
  • 4 x RGB светодиода
  • Резистори 28 x 220 Ohm
  • Платки / печатни платки ??
  • 8 x Модел на светофари
  • 6 x 8 дълги щифта (шестият беше за раздалечаване на контролната платка, вижте видеото)
  • Свиваема тръба
  • Кабелни проводници
  • Парче твърда дъска или нещо плоско
  • Други парчета дърво ??
  • Боя ??
  • Горещо лепило
  • Време, търпение и алкохол по избор

Стъпка 2: Писане на кода за блока за управление

Това е частта, която трябваше да направя първо, само в случай, че всъщност не можех да се справя, което би било шоустопър.

Това беше най -сложната част или проектът, но и най -интересният за мен.

Трябваше да седна и да определя всички възможни комбинации от промени на светлината и как те да работят заедно синхронно.

Подобно на всеки добър дизайн, той започна, на хартия, с много дълъг списък от числа и тъй като исках да мога да имам множество възможни операционни последователности, списъкът стана още по -дълъг.

Но веднъж бях щастлив, че имам всичко, което смятах за необходимо и след като се втренчих в страниците с цифри за известно време, ОКР се включи и започнах да виждам модели.

Организирайки шаблоните, успях да събера цялата последователност в един триизмерен масив и два двуизмерни масива.

Всичко, което трябваше да направя сега, е да намеря начин да манипулирам тези масиви, за да създам правилното последователност и леки стъпки.

Това отне известно време, но успях да го постигна в по -малко от петдесет реда код, включително коментари и т.н.

Кодът за това не е за хора със слаби сърца, но ако разбирате многоизмерни масиви, не би трябвало да е твърде трудно да се следва. Или крива на обучение за останалите.

Въпросът е, че вярвам, че работи и така или иначе не трябва да се налага промяна. Но…………

Стъпка 3: NRF24L01 Breakout Board Mod

NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод
NRF24L01 Пробивна платка Мод

Модулът NRF24L01 и пробивната платка YL-105, за съжаление, не са много подходящи за макет.

Пробивната платка допринася за отстраняването на проблема и по -важното е, че го прави 5V толерантен, но все още не е подходящ за макет.

Така че станах малко изобретателен.

В моята колекция от „неща“имам редица 6 -пинови заглавия с дълги щифтове. Сортът, който е необходим за направата на Arduino Shields.

Взех един от тях и огънах щифтовете на 90 градуса.

Извадих една от релсите за захранване от макет и включих заглавката в ръба на дъската.

Това остави щифтовете за захранване на пробивната платка. Сега те са на пътя.

Затова ги премахнах и ги поставих от другата страна на пробивната дъска, така че сега да излизат от задната страна на дъската.

За целите на тази инструкция се нуждая от пет модула NRF24L01, така че ги монтирах по протежение на макета и след това фиксирах захранващата шина по протежение на всички захранващи щифтове на пробивната платка.

Изглеждаше доста подредено, докато не свързах Arduinos и стана малко пренаселено.

Плюс това, което е важното, след като захранващата шина беше свързана, всички Arduinos ще бъдат свързани към един и същ източник и това се опитвах да избегна, така че отново разглобих повечето от тях.

Ще запазя платката с няколко модула NRF24L01 върху нея за прототипиране в бъдеще, така че не е пълна загуба на време.

Стъпка 4: Светофари

Светофари
Светофари
Светофари
Светофари
Светофари
Светофари

Намерих някои малки 170 дъски за връзки. Те нямат захранваща шина, така че моята модифицирана дъска ще продължи да се побира. Макар и под лек ъгъл поради височината на пробивната дъска.

Изградих четирите контрола на светофара със същите, цветни проводници, позициониране и т.н. Сега те са наистина самостоятелни.

За блока за управление поставих модула NRF24L01 върху печатна платка с RGB светодиоди. Използвах RGB, защото, въпреки че не трябваше да виждам всички светлини, само червеното и зеленото, те заемат по -малко място.

Свърза светодиодите към Arduino по нормалния начин и добави малко код, за да покаже червеното или зеленото състояние на всеки комплект светофари.

Опитах се да бъда в съответствие с цветовете на окабеляването ми, за да мога лесно да видя дали съм направил нещо различно на една от дъските.

Имам няколко къси комплекта олово Dupont и тъй като проводниците са залепени заедно, това направи тази част доста лесна.

NRF24L01:

  • CE Orange To Arduino пин 10 (дефиниран в кода)
  • CSN Yellow To Arduino пин 9 (дефиниран в кода)
  • SCK Green към Arduino пин 13 (задължително)
  • MOSI Blue To Arduino пин 11 (задължително)
  • MISO Purple To Arduino pin 12 (задължително)
  • Vcc червен до 5v. Ако не използвате пробивните дъски, това трябва да е 3.3v.
  • GND Браун към Arduino GND

Светлинни единици и щифтове Arduino към светодиоди:

  • Червено за червен светодиод
  • Оранжево за жълтия светодиод (нямам оранжеви светодиоди)
  • Зелено за зеления светодиод
  • Черен за GND

Единственото ми отклонение от това беше, когато свързах Control Arduino към RGB светодиодите. Използвах бели и сиви проводници, защото ми бяха свършили червените.

Стъпка 5: Светофари и тестване

Image
Image
Светофари и тестване
Светофари и тестване
Светофари и тестване
Светофари и тестване

Това е кодът завършен и всеки самостоятелен контрол също е завършен. Всичко, от което се нуждая сега, са самите светофари.

Както казах по -рано, намерих прост модел в Thingiverse и успях да отпечатам осем, които не изглеждаха толкова зле.

Монтирах светодиодите с необходимия им резистор от 200 ома и свързващ и заземен проводник.

Свийте тръбите на тръбите и залепете горещо всичко на място.

Реших да ги боядисам в черно, след като всички светодиоди бяха монтирани. Лоша идея, трябваше да направя това първо.

Свързах всичко за тест, преди да продължа по -нататък.

Стъпка 6: Кръстопът

Кръстопът
Кръстопът
Кръстопът
Кръстопът
Кръстопът
Кръстопът
Кръстопът
Кръстопът

Реших да ги монтирам всички на дъска, така че сега трябваше да създам някакво кръстовище, подобно на вид.

Живея в Обединеното кралство, затова караме по грешната страна на пътя тук и затова направих кръстопът си толкова приятелски към Обединеното кралство, колкото биха ми позволили бедните ми артистични умения.

Това беше съвсем просто, отнемаше много време; и съм сигурен, че няма кръстовища, които да изглеждат така, но моите нямат дупки.

Не исках да жертвам завинаги моите Arduinos на този проект, затова направих компромис, като попълних всеки от тях с 10 -милиметрови стойки и горещо залепих стойките към основата на дъската.

Това, което направих обаче, е да залепя горещо мини дъската отстрани на Arduino.

Първо, той държеше NRF24L01 и пробивната дъска извън основата на кръстовището, и второ, рядко използвам Arduino без някаква схема, така че те все още ще бъдат полезни по този начин.

Стъпка 7: Всичко е готово

Готово
Готово
Готово
Готово

Всички кодови файлове са включени.

Не разгледах кода тук, тъй като този Instructable е достатъчно дълъг без него.

Надявам се, че това е било полезно за инструктиране, дори ако показва само как да управлявате безжично редица други платки Arduino с много разумна цена NRF24L01.

Ако имате въпроси, моля не се колебайте да направите коментар и аз ще направя всичко възможно да помогна.

Препоръчано: