Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтроллеры ATmega328 дёшевы и стоят около 10$. Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.
Аппаратная часть
Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5В или +3,3В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях керамическим резонатором). В микроконтроллер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.
На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, например, Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-Serial FTDI FT232R. В версии платформы Arduino Uno в качестве конвертера используется микроконтроллер Atmega8 в SMD-корпусе. Данное решение позволяет программировать конвертер так, чтобы платформа сразу определялась как мышь, джойстик или иное устройство по усмотрению разработчика со всеми необходимыми дополнительными сигналами управления. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-Serial или кабеля.
Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых входов/выходов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти сигналы доступны на плате через контактные площадки или штыревые разъемы. Также доступны несколько видов внешних плат расширения, называемых «shields» («щиты»), которые присоединяются к плате Arduino через штыревые разъёмы.
Программное обеспечение
Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.
Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.
Соединяем кнопку к контакту 2 которая будет использована как прерывание.
Sketch дает возможность светодиодам чтобы мигать поочередно.
Красный:
Зеленый:
Quote:
ÎnchideЗакрыть
Светодиодная новогодняя елка
Это месиво проводов и светодиодов является на самом деле далеким родственником новогодней елки. Правда, елки об этом пока не в курсе, но мы их спрашивать не будем.
Преследуемая цель — собрать быстро нечто новогодне-светящееся из минимум подручных материалов, которые есть у каждого.
Пролог
Копаясь по ящикам стола я набрел на горстку разноцветных светодиодов, которые были «непонятно зачем» (часть сленга моей жены) куплены на eBay.
Вечерело, за окном падал пушистый снег, камин уютно грел пятую точку… То есть, все распологало к тому, что бы взять паяльник и попросить вернуть соседа старый долг что-то такое праздничное и простенькое наваять.
В итоге мне удалось поймать за хвост идею сделать светодиодную елку на Arduino.
Идея
Идея, хоть, и была навеселе, но предложила мне следующий простой концепт: объединить несколько светодиодов в виде матрицы и на каркасе из одножильного провода типа 24 AWG соорудить что-то немного напоминающее елку.
Светодиоды соединены в четыре группы. Каждая группа состоит из трех светодиодов с общим катодом анодом катодом анодом (никак не могу запомнить кто из них кто).
Схема примерно такая (резисторы добавить по вкусу):
Ряды идут на цифровые выходы Arduino, группы я подсоединил на аналоговые выходы (по идее можно их тоже на цифровые, но у меня не было подходящих токоограничительных резисторов и я решил просто ограничивать яркость ШИМом на скорую руку).
То есть, когда у ряда на выходе 0, то можно управлять светодиодами в группе. Когда у ряда 1, то светодиоды терпеливо молчат и ждут своей очереди.
P.S.: Только я не что-то не смог придумать как аккуратно повесить один светодиод (белый?) в виде звезды сверху. Разве что просто отдельно повесить, но конструкция будет не очень устойчива. Оставлю это как домашнее задание для любопытного читателя. Предложения в комментариях приветствуются.
Нам понадобится
Желание и время заниматься этой ерундой
Горстка светодиодов (я использовал 5 мм светодиоды разных цветов — 3 красных, 3 желтых, 3 синих и 3 зеленых)
Arduino или любую другую подходящую плату с микроконтроллером (я использовать Arduino Fio так как ее удобно запитать от Lipo аккумулятора)
Одножильный провод для каркаса
Инструменты для пайки
Сборка
Для начала светодиоды я решил обработать наждачкой, так как хотелось что бы они немного рассеивали свет:
Фотик старый, руки дрожат, горизонт завален — к сожалению, это отразилось на всех фотках. Но надеюсь, что процесс передать получилось.
Саму сборку я начал с формирования и пайки отдельных рядов.
Нижний ряд имеет сторону примерно 60мм, средний ряд примерно 50мм, а верхний получился примерно 30мм.
Так выглядят отдельно собранные три ряда:
Напаиваем первую цепочку светодиодов и там самым формируя нашу «типа елку»:
Дальше уже проще. Вот тут уже напаяна вторая цепочка светодиодов (фотка с дальним родственником):
Таким образом напаиваем остальные светодиодные цепочки на каркас.
Проверка и код
Проверено на Arduino Mega2560, так как это единственная Arduino плата, которая согласилась на сей опасный эксперимент (все остальные куда-то попрятались когда узнали что я решил замутить):
Код
ÎnchideЗакрыть
Результат
После отладки и проверки я перенес все это безобразие на Arduino Fio с Lipo аккумулятором дабы придать некую законченность и мобильность конструкции:
#6 by Saifer (Power User) (0 mesaje) at 2013-02-24 22:27:01 (614 săptămâni în urmă) - [Link]
wow, nu mă așteptam să apară așa topic pe forum , ba chiar nici în Moldova))
mi-aș fi dorit să am și eu așa jucărele, dar din păcate prețul ma oprește (de la 50$ în sus p/t un produs Arduino
În viitor poate mi-l strîng singur sau îl cumpar de pe ebay; nușt exact, tre să văd dacă se merită să-l folosesc p/t proiectul meu personal
#10 by Krakadil (Power User) (0 mesaje) at 2013-02-25 23:31:28 (614 săptămâni în urmă) - [Link]
eu creed atit timp cit la noi e problematic cu electronica nu avem ce crea la noi in tara
eu am prieten care se ocupa cu modelarile avia si alte multe legate chiar si de mici roboti,insa el se afla in germania unde acolo cu usurinta poti gasi electronica data
pe cind la noi nimic concret,ca sa comenzi de pe ebay pina ba una ba alta iti trrece dorul cind ajung la destinatie componentele
Mesaj util ?
Da0 puncte
#11 by Saifer (Power User) (0 mesaje) at 2013-02-26 11:04:42 (614 săptămâni în urmă) - [Link]
#7 sarakuz, "... - lumea a cam uitat cum arată un LPT și cum arată un COM"
nu neapărat LPT - doar programarea prin acest port (e comod căci sunt 25 fire)
#8 viorelio33, "#6 Saifer, "... proiectul meu personal ..." - ne spui si noua ?"
Păi, nu e cine știe ce... doar lenea mă face să fac o bucățică de casă inteligentă ))
sistem de irigare prin pigătură a grădinei, gestionat prin clock(timer) sau detector de lumină(zi/noapte) sau de la distanță (căci dacă plouă păi nu mai treb udat).
Ar fi bine să aibă și detector de umiditate și temperatură și poate chiar video să intru de pe mobil să văd cum o mai duc florile))))
deși pînă la urmă am să văd cu ce mă limitez
Mesaj util ?
Da0 puncte
#12 by vovcik94 (Uploader) (0 mesaje) at 2013-02-26 13:27:55 (614 săptămâni în urmă) - [Link]
interesant
Mesaj util ?
Da0 puncte
#13 by BloodyBooy (⊗ Ghost of Terlingυa..) (0 mesaje) at 2013-02-26 13:29:02 (614 săptămâni în urmă) - [Link]
Prima oara vad si imi place deja
Mesaj util ?
Da0 puncte
#14 by viorelio33 (Uploader) (0 mesaje) at 2013-02-27 00:32:43 (613 săptămâni în urmă) - [Link]
#11 Saifer, sper sa-ti iasa
#13 BloodyBooy, "... Prima oara vad si imi place deja ..." - eu tot asa m-am bolnajit
Mesaj util ?
Da0 puncte
#15 by SLOVE (User) (0 mesaje) at 2013-03-03 13:49:47 (613 săptămâni în urmă) - [Link]
Norok cine stie de ce imi vine erroarea aceasta:
eu folosesc Arduino Due da cind pun la Board Arduino Uno tat normal
thx.
Mesaj util ?
Da0 puncte
#16 by MisterMX (◕ ◡ ◕) (0 mesaje) at 2013-03-03 19:00:59 (613 săptămâni în urmă) - [Link]
#15 SLOVE, arata tot codul
Mesaj util ?
Da0 puncte
#17 by SLOVE (User) (0 mesaje) at 2013-03-03 23:38:59 (613 săptămâni în urmă) - [Link]
#16 MisterMX,
Quote:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
String stato;
#18 by System at 2013-03-04 07:26:39 (613 săptămâni în urmă) - [Link]
#17 SLOVE, ceva probleme cu biblioteca interrupt.h
Mesaj util ?
Da0 puncte
#19 by SLOVE (User) (0 mesaje) at 2013-03-04 14:35:21 (613 săptămâni în urmă) - [Link]
#18 trolic, asta am observat si eu, da kind Board Arduino Uno tat normal nis o erroare
Mesaj util ?
Da0 puncte
#20 by MisterMX (◕ ◡ ◕) (0 mesaje) at 2013-03-04 17:08:14 (613 săptămâni în urmă) - [Link]
#19 SLOVE,
Quote:
Some of the libraries are now in hardware/arduino/avr/libraries (or hardware/arduino/sam/libraries) because their implementations are specific to the given platform. A few libraries still need to be ported to the Due and are only available for the AVR-based boards.