реклама

ардуино коледни светлиниТова е следващата част от нашата учебна серия Arduino, а този път ние? Ще науча и да използвам Масивите за да направите малко украшение за коледно дърво с различни мигащи последователности. Това би бил идеален проект за задържане на децата, ако искате да ги научите на основно запояване - просто монтирайте светодиодите върху парче карта и можете да получите захранване от стандартна 9V батерия.

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

Забележка: Това е урок за много начинаещи и със сигурност сме спечелили? да не нарушавате нова основа - нали? с? просто устройство за преподаване на концепциите за използване Масивите и За бримки да се справят с a голям брой светодиоди (или други устройства за изход).

Ако нямате? t вече, сега ще е подходящ момент да следвате заедно с другите статии от поредицата:

  • Какво е Arduino и какво можете да направите с него Какво е Arduino и какво можете да направите с него?
    instagram viewer
    Arduino е забележително малко електронно устройство, но ако никога досега не сте използвали такова, какви точно са те и какво можете да направите с такова? Прочетете още
    ?
  • Какво представлява стартов комплект Arduino и какво съдържа? Какво е включено в стартовия комплект за Arduino? [MakeUseOf обяснява]По-рано представих хардуера с отворен код на Arduino тук на MakeUseOf, но ще ви трябва повече от само действителния Arduino, за да изградите нещо от него и всъщност да започнете. Arduino "стартови комплекти" са ... Прочетете още
  • Още готини компоненти, които да купите с вашия стартов комплект 8 повече готини компоненти за вашите проекти на ArduinoТака че мислите да вземете стартов комплект Arduino, но се чудите дали някои основни светодиоди и резистори ще бъдат достатъчни, за да ви занимават за уикенда? Вероятно не. Ето още 8 ... Прочетете още
  • Първи стъпки с вашия стартов комплект Arduino? Инсталиране на драйвери и настройка на платката и порта Първи стъпки с вашия Arduino Starter Kit - Инсталиране на драйвери и настройка на дъската и портаТака че, купихте си стартов комплект Arduino и вероятно някои други произволни готини компоненти - сега какво? Как всъщност започвате с програмирането на това нещо от Arduino? Как да го настроите ... Прочетете още
  • Fritzing, безплатен инструмент за рисуване на схеми Fritzing - Най-добрият инструмент за очертаване на проекти за електроника [Cross Platform]Въпреки че звучи като алкопоп, Fritzing всъщност е невероятен бит безплатен софтуер, който можете да използвате за създаване схеми за схеми и компоненти за използване с бързо-прототипиращи електронни платки като фантастичния отворен код Arduino ... Прочетете още
  • По-подробен поглед върху структурата на приложението на Arduino и примерната програма за мигане Първи стъпки с Arduino: По-внимателен поглед към платката и структурата на програматаПоследният път ви оставих да настроите вашия Arduino да работи с Mac или Windows и качих обикновено пробно приложение, което мигаше на бордовия светодиод. Днес ще обясня кода ... Прочетете още

За този проект, нали? ще ви трябва поне 8 или 9 светодиода в червено или зелено, a резистор за всеки от тях, a breadboard и някои проводници за свързване. Стартовият комплект от Ooomlout, който наскоро закупих сам и е изобразен в този урок, предлага страхотна стойност на парите и има повече светодиоди и резистори от вас? Винаги ще има нужда, както и да дойдете с чист дънник и калъф Arduino, за да поддържате нещата подредени.

Тук? е последното нещо:

ардуино коледни светлини

И видеоклип от него в действие.

Тук? оглед на окабеляването от Fritzing. То? е много основен - просто свържете положителните проводници на светодиодите с щифтове 2-> каквото (до щифт 13) и свържете отрицателните крака към земята, реплично. Стойността I? тук се използва 560 ома. Че? е за окабеляване.

ардуино коледни светлини

От страна на софтуера, помислете как можете да напишете на всички тези светодиоди в кода. Можете да го направите така:

int led1 = 2; // първи светодиод на щифт 2. int led2 = 3; // втори на щифт 3. // и т.н. и т.н. void loop () {digitalWrite (led1, HIGH); забавяне (100); digitalWrite (led1, LOW); забавяне (100); digitalWrite (led2, HIGH); // т.н. }

Трябва да можете да видите, че с 9 светодиода, това бързо ще се умори. Отговорът се крие в Масивите, което ако можете? не помня нашите Програмиране 101 за основни типове данни Основите на компютърното програмиране 101 - Променливи и типове данниСлед като се запознахме и поговорихме малко за обектно-ориентираното програмиране преди и къде е съименникът му идва от, реших, че е време да преминем през абсолютните основи на програмирането в неезиков специфичен начин. Това... Прочетете още - са основно списъци.

Синтаксисът изглежда така (поставете това като първи ред във вашия код):

int led [] = {2,3,4,5,6,7,8,9,10};

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

Сега, за да използваме масив, трябва да го адресираме чрез номера на индекса. Най- индексът започва от 0и следователно винаги ще достигне до 1 по-малко от общия брой неща в него (така че с 9 елемента, последният би имал индекс 8).

Пишете го така:

светодиоди [0]

Кое в нашия случай би донесло числото 2, защото това? s какво? s в индекс 0 в нашия масив.

Следвате досега? Страхотен. Само това не е ли? t достатъчно за нас обаче - имаме нужда и от някакъв начин за итерация над всеки елемент от нашия светодиоден масив. За това ще използваме за контур. Синтаксисът да го направите е такъв:

за (начална променлива; състояние, при което отново повтаряме; промяна към променлива всяка итерация)

Например:

за (int i = 0; и <9; и ++)

Което казва

  • стартирайте този цикъл с променлива, аз, която има стойност от нула
  • продължете да циклирате само докато аз съм по-малко от 9? (така: 0,1,2,3,4,5,6,7,8)
  • всеки път, добавете 1 към i (i ++ е кратък начин да кажем i = i + 1)

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

Ние? Ще използвам тази структура два пъти, за да започнете с. След като влезете във функцията за настройка, за да накараме всичките ни щифтове да преминат в изходен режим, така:

void setup () {for (int i = 0; i <9; i ++) {pinMode (led [i], OUTPUT); } }

Можете ли да видите какво направихме там? Вместо да пишем 9 реда код, за да декларираме всеки отделен пин като изход, ние създаваме цикъл „за“, който да се повтори 9 пъти, всеки път задавайки друг пин.

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

void loop () {for (int i = 0; i <9; i ++) {digitalWrite (led [i], HIGH); забавяне (100); digitalWrite (води [i], LOW); } }

Опитайте това. Можеш изтеглете пълния код за днешния проект от тук ако ти? d по-скоро не го въвеждайте отново (въпреки че ви насърчавам, тъй като това помага на процеса на обучение).

Добре, така че сега имаме доста скучна последователност на осветление. Позволявам? s програма още една. Само за забавление, нека? и го направи напълно случаен. Заменете основния код с този:

void loop () { int randomLed = случаен (0,8); digitalWrite (води [randomLed], HIGH); забавяне (50); randomLed = случаен (0,8); digitalWrite (води [randomLed], LOW); }

Вместо да използваме цикъл „за“, за да повторим всеки светодиод, вместо това избираме произволно число от 0-9 и го променяме.

Ще го оставя там за днес, тъй като сега трябва да сте въоръжени с достатъчно знания, за да програмирате всички нови последователности и да експериментирате с бримки. За да докажа колко лесно е всичко това, аз предизвиках жена ми да мисли за последователност, която тя? бих искал да видя и след това имам?тя сама да го програмира, като се има предвид само кода и уроците, които? досега имах. Тя излезе с това, така че вижте дали можете да съпоставите това с домашните!

Въпроси, предложения, проблеми - моля, свържете се с коментарите.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.