Съдържание:

Arduino светулки: 11 стъпки (със снимки)
Arduino светулки: 11 стъпки (със снимки)

Видео: Arduino светулки: 11 стъпки (със снимки)

Видео: Arduino светулки: 11 стъпки (със снимки)
Видео: Почему светлячки светятся? | #shorts 2024, Юли
Anonim
Image
Image
Какво ще ви трябва
Какво ще ви трябва

Едно от нещата, които очаквам с нетърпение през лятото в Пенсилвания, са светулките в задния ми двор. Наскоро се научих на Adruino програмиране с цел да направя този прост проект. Това е страхотна програма за начало и е достатъчно лесна за всеки програмист, начинаещ за експерт, за изграждане, промяна и забавление само за няколко минути. Да започваме.

Стъпка 1: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва

За да мигат грешките ви, ще ви трябват следните компоненти:

  • Arduino. Започнах с Nano, но всеки съвместим с Arduino микроконтролер ще се справи.
  • Жълти светодиоди, 5 мм. Можете да използвате до 6 от тях.
  • Резистори. Ще ви е необходим един резистор на светодиод, за да ограничите тока. Използвах 470-ома, но всичко над 150 ома трябва да е наред, за да защити вашия микроконтролер.
  • Платка.
  • Джъмпер тел.

За да завършите проекта за задния си двор, ще ви трябва:

  • Противоустойчива кутия за проекти.
  • 9-волтова батерия с конектор. (Моля, вижте бележките в долната част на този раздел.)
  • Превключване. (Избрах тези водоустойчиви превключватели. Ако не използвате това навън, всеки превключвател ще свърши работа.)
  • Няколко ярда тел за поставяне на светодиодите около градината. Използвах около 10 фута Cat5 Ethernet проводник на светодиод.
  • Малка дъска или някаква перф дъска.
  • Кабелна втулка, устойчива на атмосферни влияния, през която преминават LED проводниците. (Можете да пропуснете това, ако не използвате това и навън.)
  • Термосвиваеми тръби, за да защитите LED фасовете си.
  • Зелени ленти за закачане (например велкро) за закрепване на светодиодните светулки към растения и стълбове във вашата градина.
  • Мъжки заглавки за включване на компоненти в малката ви дъска.

Инструменти:

  • Свредла за кутията на проекта. (Използвайте тази възможност, за да си направите хубава стъпка. Ще се радвате, че сте го направили).
  • Пистолет за горещо лепило.
  • Поялник.
  • Ротационен инструмент (т.е. Dremel) за изрязване на място в кутията за проекти, ако имате нужда от него.

Няколко бележки тук:

1. Изборът на батерията беше за бързо и лесно стартиране. Използването на 9-волтова батерия за постоянно е малко разточително. По-добре е да използвате 4x държач за батерии AA за по-дълъг живот (обаче ще ви е необходима по-голяма кутия за проекти, в която да го поставите).

2. Ако решите да деконструирате Cat 5 Ethernet кабел за проводниците, уверете се, че са от медно ядро и ги увийте добре около малко PVC, за да ги поддържате организирани, докато работите. Отново използвах около 10 фута проводник на светодиод. Ако искате да разпръснете светлините навсякъде, използвайте по -дълги проводници!

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

Стъпка 2: Изградете веригата

Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата

Този проект използва щифтове за модулация на ширината на импулса на вашия Arduino. Микроконтролерът има 6 от тези щифтове и можете да използвате колкото искате. Веригата е доста права. Свържете цялата мощност от щифтовете за широчинно -импулсна модулация (PWM) D3, D5, D6, D9, D10 и D11 към положителните краища на вашите светодиоди. Свържете отрицателните краища към резисторите и след това към обща маса. (Резисторите могат да отидат пред или зад светодиода. Няма значение, освен ако не искате да се предпазите от късо съединение при по -високи токове.) Включих няколко схеми, които да помогнат с окабеляването. (Диаграмите са създадени с помощта на софтуер за проектиране на Fritzing.)

Стъпка 3: Кодът

Image
Image

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

Кодните коментари излагат логиката на всеки раздел. Целият код е вграден тук и можете да изтеглите скицата по -долу.

/*

Този скрипт мига 6 светодиода (жълт, разбира се) в случаен ред на произволни интервали, използвайки ШИМ. Всеки светодиод се управлява от собствена функция. */ int led1 = 3; // LED свързан към PWM пин 3 и т.н. Използвах всичките 6 PWM пина. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; дълъг рандън; // randnum контролира интервала от време между проблясъци и дълъг randbug; // randbug контролира коя грешка светва. void setup () {pinMode (led1, OUTPUT); // Задаване на всички PWM щифтове като изходи. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // randbug произволно избира функция за изпълнение, // по този начин произволно избира грешка, която да светне. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Всяка от тези функции работи по същия начин. "за контури" увеличете, след това намалете * изхода на този щифт, за да контролирате яркостта на LED. * 'randnum' е случаен интервал от време между 10 и 3000 ms * и избира интервал от време между грешки. * 'забавяне 10' е само за ефекта на избледняване. */ void bug1 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); забавяне (10); } забавяне (randnum); } void bug2 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); забавяне (10); } забавяне (randnum); } void bug3 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); забавяне (10); } забавяне (randnum); } void bug4 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); забавяне (10); } забавяне (randnum); } void bug5 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); забавяне (10); } забавяне (randnum); } void bug6 () {randnum = random (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); забавяне (10); } забавяне (randnum); }

Стъпка 4: Изградете кутията

Изграждане на фасове за грешки!
Изграждане на фасове за грешки!

След като подхвърлите вашия Arduino с код и накарате вашите светулки да работят така, както ви харесва, може да искате да ги поставите в градината; това означава кутия за проект и известно термично свиване, за да поддържа Arduino и светодиодите сухи. Нека направим!

Стъпка 5: Изграждане на фасове за грешки

Изграждане на фасове за грешки!
Изграждане на фасове за грешки!
Изграждане на фасове за грешки!
Изграждане на фасове за грешки!
Изграждане на грешки!
Изграждане на грешки!
  • Подстрижете светодиодите до около 5 мм.
  • Отстранете и калайдайте краищата на проводниците, които използвате, също около 5 мм.
  • Плъзнете 1 мм термосвиваема тръба над всеки край на проводника.
  • Запоявайте светодиода към проводника. (В този момент трябва да изберете кой проводник във вашата двойка ще бъде вашият положителен и кой ще бъде отрицателен. Избрах плътния проводник като положителен, а белия проводник като отрицателен. Поддържайте тази стратегия през целия проект, за да избегнете главоболие по -късно!)
  • Плъзнете топлинното свиване докрай по оголения проводник и LED проводниците. Пуснете бърз пламък върху тях, за да ги свиете до проводниците.
  • Плъзнете още едно парче термично свиване върху светодиода и проводниците с LED лещата, стърчащи в края и го разтопете на място.
  • Плъзнете няколко парчета термосвиване върху проводника през цялата му дължина и го разтопете на всеки няколко крака, за да поддържате жицата подредена.

Стъпка 6: Подгответе кутията за проекти

Подгответе кутията за проекти
Подгответе кутията за проекти
Подгответе кутията за проекти
Подгответе кутията за проекти
  • Използвайте въртящ се инструмент с шлифовъчен барабан, за да почистите всяка ненужна пластмаса във вашата кутия за проект. (Внимавайте да не отрежете всички винтове, които може да се наложи да сглобите отново кутията.)
  • Решете къде искате да бъде вашият превключвател и LED проводниците да излязат. Предлагам страни, но използвайте това, което работи с вашите нужди.
  • Използвайте свредло с подходящ размер, за да направите дупки за кабелната ви уплътнение и превключвателя.

Забележка: На горната снимка ще видите, че направих „манекен за кабел“. Това е сноп от 6 чифта проводник, който използвах за светодиодите с термосвиване, за да ги сглобявам. Използвах го, за да се уверя, че кабелният уплътнител ще пасне добре на действителната купчина кабели, а също и за да тествам водоустойчивостта на кутията, след като превключвателят, кабелната уплътнение и капакът бяха включени. (След като беше потопен за 24 часа във вода от 6 инча, имаше много малко влага вътре. Ще се радвам да нарека тази кутия „устойчива на атмосферни влияния“.)

Стъпка 7: Донесете силата

Донесете силата!
Донесете силата!
Донесете силата!
Донесете силата!
  • Определете колко батерия и кабел за превключване ще ви трябват, за да стигнете до вашия Arduino, като грубо поставите и трите компонента в кутията за проекти. Подрежете проводниците на превключвателя и 9V конектора на батерията. Обелете и оловете краищата. Плъзнете малко термосвиване на място за следващата стъпка.
  • Изрежете два щифта за мъжки заглавки от лентата си (но ги дръжте заедно).
  • Запоявайте червения проводник на конектора на 9V батерията към единия край на превключвателя. Запоявайте другия край на превключвателя към мъжки щифт на заглавката. Запоявайте черния проводник на батерията към другия мъжки щифт на заглавката.
  • Както е показано на диаграмата по -горе, щифтовете на заглавката ще влязат в макета за захранване на Nano при VIN (положително) и GND (отрицателно). VIN щифтът може да се справи със 7 до 12 волта. Ако планирате да захранвате вашия Arduino по начин, различен от 9V батерия, използвайте друг захранващ щифт.

Стъпка 8: Променете Nano, ако е необходимо

Променете Nano, ако е необходимо
Променете Nano, ако е необходимо

Тъй като проектната ми кутия беше доста плитка, трябваше да премахна щифтовете на ICSP заглавката, за да се поберат. Тези щифтове са вторичен интерфейс с вашия Arduino. Премахването им няма да повреди вашия Nano, тъй като винаги можете да зареждате скриптове през USB порта.

Забележка: Ако вашият Nano се нуждае от запояване на щифтове за заглавки, просто пропуснете тези щифтове, когато сглобявате вашия Arduino.

Стъпка 9: Свържете кабела отвътре

Image
Image
Кабел отвътре
Кабел отвътре
Кабел отвътре
Кабел отвътре
  • Прикрепете порта на кабелната уплътнение към кутията за проектиране в отвора, който сте пробили за нея. Ако сте объркани относно начина на използване на кабелна втулка, този видеоклип, който намерих в YouTube, показва, че се сглобява. (бързо напред до 0:57.) Вашият може да има гумена шайба. Това минава между проектната кутия и външната гайка на кабелния уплътнител.
  • Съберете разхлабените краища на LED проводниците. Отделете това време, за да ги отрежете на еднаква дължина, да отстраните и отрежете краищата. Прокарайте краищата през капачката на кабелния уплътнител и използвайте парче термосвиване, за да сглобите краищата заедно, оставяйки достатъчно дължина, за да достигнете до макета от вътрешната страна на кутията.
  • Прокарайте снопа тел през отвора за кабелни уплътнения в кутията за проектиране и завъртете капачката на уплътнението, за да заключите проводниците на място, за предпочитане около термосвиването, което сте използвали, за да ги сглобите.
  • Отделете заземяващите проводници от положителните проводници (помнете кои сте избрали по -рано). Запоявайте заедно всички заземяващи проводници в едно общо заземяване. Прикрепете къса жица от тази група и я завършете с 1 мъжка заглавка. Използвайте термосвиваемо, за да защитите голите си спойки.
  • Запоявайте мъжки заглавки по краищата на всеки положителен проводник. Отново използвайте термосвиване.
  • Вмъкнете заглавките с положителен край в чертежа, за да се свържете към PWM щифтовете на Arduino.
  • Поставете общата основа в макета, така че да премине през резистор за ограничаване на тока и след това към GND на Arduino.
  • Поставете батерията и поставете превключвателя през отвора в кутията, която сте пробили по -рано. Поставете гумената шайба между проектната кутия и винтовата капачка. Включете захранващите кабели в платката.
  • Щракнете или завийте капака върху кутията. Готови сте!

Забележка: Забележете в схемите и в етапите на развитие използвах по един ограничаващ тока резистор на светодиод. Обикновено всеки светодиод трябва да има собствен резистор, тъй като обикновено повече от един светодиод светва наведнъж. Кодът не позволява повече от един светодиод да светне едновременно, поради което използването само на един резистор е добре за защита на Arduino. Това също спестява място на малката дъска или време за запояване на всеки светодиод с вграден резистор. Това каза … ВНИМАНИЕ !!! Ако планирате да промените кода, така че да свети повече от един светодиод едновременно, ще ви трябват отделни резистори за всеки светодиод.

Стъпка 10: Използвайте го

Използваи го
Използваи го

Използвайте велкро ленти или парчета горещо лепило, за да прикрепите светодиодите към растения, огради, розови фламинго или нещо друго във вашия двор. Използвайте ги вътре, като ги пъхнете във винени шкафове, зад завеси или дори окачете кабелите от тавана за 3D плаващ ефект на тъмно! Това би било чудесно докосване за партита, сватби, филм и фотография.

Стъпка 11: Продължаване…

Както бе споменато по -рано, това е ранна версия на този проект, но е пълна с толкова голям потенциал! Пуснете повече светодиоди, като свържете регистър за смяна (Вижте инструкциите от JColvin91, за да научите как.) Добавете сензор за светлина, слънчево зарядно устройство и таймер за функция „задайте го и забравете“! Забъркайте се с кода, за да добавите свой собствен сигнал към грешките. Споделете какво правите и се наслаждавайте !!

АКТУАЛИЗАЦИЯ: През последните две седмици от публикуването на тази инструкция много сътрудници предложиха блестящи подобрения в кода, хардуера и изпълнението на този проект. Силно съветвам, ако планирате да изградите това, прочетете коментарите и отговорите за идеи как да направите тези светкавици по начини, които не съм планирал. В духа на създаването на отворен код приветствам всички идеи, които помагат да се превърне този проект в повече, отколкото си мислех, че е възможно … и благодаря на всички, които го направиха.

Отивам. Направи !!!

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