Сообщество - Arduino & Pi

Arduino & Pi

1 493 поста 20 825 подписчиков

Популярные теги в сообществе:

51

WIFI часы на ESP8266 и MAX7219 с веб интерфейсом

Для часов нам понадобится:

1)Плата разработчика NodeMcu на основе модуля ESP8266 (2шт.)


NodeMCU — это полноценная платформа для создания устройств IoT (Интернет вещей) на основе модуля ESP8266, который умеет принимать и посылать данные в локальную сеть или интернет через Wi-Fi.


2)Модуль матрицы светодиодной 8x32 на MAX7219 (2шт.)


Матричный светодиодный модуль 8x32 на драйверах MAX7219. Модуль состоит из 4-х светодиодных матриц 8x8 LD-1088BS красного свечения и 4-х драйверов MAX7219. Драйвер MAX7219 управляется по трехпроводной последовательной шине Microwire (3-Wire).


3) Блок питания 5V 3A.


4) Arduino Software (IDE)


5) Скетч отправлю всем желающим на mail.


6) Для получения погоды (API key) регистрация на сайте http://openweathermap.org/


Код города http://openweathermap.org/help/city_list.txt


Подключения:


NodeMCU -> Matrix


MOSI-D7-GPIO13 -> DIN


CLK-D5-GPIO14 -> Clk


GPIO0-D3 -> LOAD

Показать полностью 2
258

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2.

Привет пикабу и моим 13 подписчикам, прошел почти год с моего первого поста.


Спустя некоторое время после того, как часы были сделаны и прошли проверку временем были выявлены часть недостатков часов на ds1302. Я решил, что надо двигаться дальше и попробовать переделать их под ds1307 или ds3231, но у новых rtc модулей тип подключения другие, следовательно, надо переосмыслить органы управления. У меня получилось следующие варианты:

1. Bluetooth

2. Энкодер

3. Ик-приемник

Начал читать мануал, подключение блютуза оказалось проще, чем я думал. С энкодером пришлось побаловаться на макетке, ему требуются пины с прерыванием (2 и 3 в идеале), хотя можно обойтись любыми, но будет очень сильный дребезг контактов, что затруднит настройку светодиодов. С ик-приемник пришлось повозиться, он работает на 2-м таймере (TIME2), так же можно поставить и 1-й таймер этот способ управления не подходит под обычный способ подсветки с помощью RGB-светодиодов.

Через некоторое время я открыл для себя адресные светодиоды ws2812b и их аналоги, анимацией этих светодиодов меня заворожила. Мне захотелось сделать часы с использованием этих светодиодов, и проект разделился на 2 подпроекта.

Для обычных светодиодов подходили варианты блютуз и энкодер, а с адресными светодиодами можно использовать все три варианта. Принялся за доработку существующие схемы и прошивоки. Платы травил как обычно с помощью термотрансферной бумаги + раствор перекиси и лимонной кислоты.

Без ламп затестил светодиоды и их анимацию, вот одна из них.

Следующим этапом было создание прошивок для Arduino. Хотел начать с ИК-приемника, но тут он меня подвел, что-то с ним случилось и пришлось заказать новые. Пришлось начать с блюзута, прога под него была написано достаточно быстро, для отправки команд думал написать простое приложение под android, но передумал после того как, нашел для себя подходящий блютуз терминал в google play (я пользуюсь Serial Bluetooth Terminal), в настройках необходимо установить Newline:LF, что бы arduino понимала, где конец переданной ей строки. У меня получились следующие команды:

0: //синхронизация приложения с ардуинкой

1:150;150;150 //установка цвета светодиодов

2:255 //яркость

3:+ или - ///смена мода

4:15/12/17 //установка даты

5:2/53/00 //установка времени

6: //смена между временем и датой


Можно добавить еще при необходимости, но пока будет достаточно этих. Добавил перемычку для возможности отключения блютуза от питания, что бы можно без всякого проблем перепрошить ардуинку, туда подходи джамперы от жестких дисков (выделил стрелочками).

Дождавшись ИК-приемников стал работать с ним, буду использовать распространённую библиотеку IRremote. Первым шагом надо было перевести библиотеку на 1й таймер. Открываем IRremoteInt.h в папке с библиотекой, находим

// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc

#else

//#define IR_USE_TIMER1 // tx = pin 9

#define IR_USE_TIMER2 // tx = pin 3

#endif


Как мы видим, библиотека IRremote использует TIMER2. Меняем данный код на этот

#else

#define IR_USE_TIMER1 // tx = pin 9

//#define IR_USE_TIMER2 // tx = pin 3

#endif


(Когда я лазит туда второй раз этих строк не нашел поэтому скину библиотеку что у меня которая работает на 1м таймере)

Для передачи команд можно взять любой пульт и настроить под себя, я использовал китайские пульты. Для поиска кодов кнопок в примерах библиотеке есть скетчи.

Прога была написана и проверена. Использовал пульт тот, что справа.

Немного о функционале:

• Стрелка верх: если находимся в режиме настройки то «+» к разряду, иначе нет то «+» к яркости.

• Стрелка вниз: то же самое, что и стрелка верх только «–».

• Стрелка вправо: если находимся в режиме настройки, то перемешает по разрядам вправо, иначе изменяет мод +1.

• Стрелка влево: если находимся в режиме настройки, то перемешает по разрядам влево, иначе изменяет мод -1.

• Кнопка «OK»: одно кратное нажатие смена между временем и датой, если удерживать переходит в режим настройки, так же при удержании выходить из него(во время удержание сработает смена, но настройка все равно перейдет туда откуда была задержана кнопка т.е если вы удерживаете кнопку в то время когда показывалось время то оно и будет настраиваться, аналогично с датой).

• Кнопка: 1 и 4: отвечают за красный цвет 1:+, 4:-.

• Кнопка: 2 и 5: отвечают за красный цвет 2:+, 5:-.

• Кнопка: 3 и 6: отвечают за красный цвет 3:+, 6:-.

• Кнопка 8: обнуляет цвета и переходит в первый режим.

• Все остальные кнопки пустые.


И остался энкодер, это устройство, которое предназначено чтобы преобразовать угол поворота вала в электрические импульсы, по которым можно определить: угол поворота, скорость вращения, направление вращения, и текущее положение относительно начальной точки. С ним сделал плату под RGB-светодиоды, была написано прога и протестирована, после чего выявил некоторые недочеты, было решено передать плату и переписать прогу под энкодер. Прогу под ws2812b тоже переписал, но не протестировал ее (если с ней будут проблемы, напишите на почту).


В общей сложности было написано 5 программ и сделано столько же разводок плат:

• ws2812b + энкодер;

• ws2812b + Bluetooth

• ws2812b + Ик-приемник

• RGB + энкодер

• RGB + Bluetooth


Вот и результат:

Из нововведений:

1. Добавил стабилизатор L7805CV(видно его на фото и на схеме)

2. Теперь дата показывается с интервалом 5 мин. на 10 сек.

3. Добавлено 5 анимации: плавная смена цветов всей ленты, крутящаяся радуга, случайная смена цветов, пульсация со сменой цветов, крутая плавная вращающаяся радуга (у часов с RGB подсветкой только 1 радуга всех светодиодов) в конце будет гифки с анимацией.

4. В схемах добавлен бизер, как задел на будущее дописать будильник.

Еще немного фотографий и гифки с анимацией, полное видео так же в папке по ссылке ниже или прямая ссылка.

Прикладываю ССЫЛКУ на архив с необходимыми материалами, НАЗВАНИЕ АРХИВА «Часы на ИН-14_v2».

Спасибо что дочитали до конца, удачного дня!

П.С. Отдельное спасибо за фото другу Дмитрию из первого поста.

Показать полностью 12
24

Крутящаяся платформа на Arduino

Любому обзорщику или моделисту нужна вращающаяся платформа. Такие изделия стоят кучу денег и это не оправдано. Так что, представляю Вашему вниманию самодельную такую платформу. Использовать целый микроконтроллер - это расточительно. Поэтому скоро я модернизирую эту конструкцию, использовав 555 таймер)

120

Игровая консоль на raspberry pi | SEGA в кармане. Часть 1

Люблю игры на SEGA, особенно червяка Джима)

Хотел вот скачать и установить эмулятор на малинку, только для того, чтобы заработало нужно не только малинку с дисплеем купить, но и какие-то дполнительные платы, либо геймпад.

Но блин! У Raspberry pi аж 40 пинов, и нельзя часть из них тупо использовать под кнопки?

На самом деле можно, на пример есть такой образ от Adafruit, НО ёмаё, для его работы нужен дисплей от adafruit)).

Взял я за основу просто чистый образ Rasbian без иксов, и всё по порядку установил, сконфигурировал так, чтобы собрать карманную консоль было максимально просто и дешево, в итоге уложился в 2К рублей!
Дисплея как такового не покупал, заказал монитор заднего вида для автомобиля, вскрыл, а там всё прекрасно (кроме качества сборки). Самое главное - имеется вход для композитного видео. В цепи питания обошел DC-DC (понижайку) и дисплей заработал от 5 вольт, как и Raspberry Pi zero.

Заработало! Для начала не плохо, дальше буду делать звук, с использованием копеечного усилка D класса из Китая.


Образ SD карты разворачивать на карточке 16Гб, в скором времени сделаю его в размер 8Гб и 4Гб, сейчас их просто у меня нет)

Образ качаем тут: https://yadi.sk/d/HgVM7hLr3SSVjr


Комплектующие есть под видео (на YouTube)

А вот распиновка:

Игровая консоль на raspberry pi | SEGA в кармане. Часть 1

Всем спасибо!

Продолжение будет.

Показать полностью 1 1
181

Законченный проект часов с термометром и барометром на Arduino

Проект сделан под экран LCD 2004, для сборки еще понадобится барометр BMP180 и модуль часов реального времени. Собирается все по схеме. Питание через USB порт Arduino Nano

Прошивка и файлы для 3D печати есть на странице проекта: https://github.com/voltnik/WeatherClock-2004

Корпус можно использовать универсальный китайский или напечатать на 3Д принтере. Поэтому часы можно легко повторить самостоятельно.

Схема:

Все подробности проектирования, разработки и сборки можно посмотреть в этом видео:

Известные недостатки:

- модуль реального времени DS1302 имеет низкую точность и может убегать. Т.е. сильно зависит от кварца. Поэтому лучше собирать на модуле DS3231 - он точнее.


Планирую дорабатывать проект под внешний датчик температуры и добавить график изменения давления.

Показать полностью 1 1
253

Продолжаем медленно но верно пилить контроллер для авиасимуляторов.

Для начала приведу ссылки на предыдущие свои посты, связанные с темой, дабы новый читатель понимал, о чем идет речь:

1) https://pikabu.ru/story/kontroller_dlya_aviasimulyatorov_svo...

2) https://pikabu.ru/story/virtualnyiy_polet_v_warthunder_51123...

3) https://pikabu.ru/story/aviakontroller_na_arduino_pererastae...


строительство, конечно, затянулось по срокам, т.к. больше думается, чем делается, но тем не менее продвигается. Собрана Альфа-версия рамы, в которую закрепляются кресло, педали, и РУС (палка), крепление для РУД (управление дросселем) еще не делали, т.к. стало очевидным, что эту раму придется сильно переделать, но для начала на ней бы все собрать)

Кстати и РУС уже расчленены на 2 отдельных блока методом жены болгарина, для того что бы можно было двигать педали по направляющим на раме в зависимости от длины ног вирпила) Так же палка РУС из предыдущего поста, та что с реального самолета, уже покрашена, натыкана кнопками, правда теми, что нашлись в радиодеталях, т.к. на оригинальных уже пластик разваливается весь от времени. Палка уже стоит на законном месте, механизм РУС усилен более мощными пружинами, дабы вытягивать эту тяжелую рукоять, и немного ограничен ход отклонения, что бы не быть палкой по коленям при маневрах (эта проблема видна на видео во втором посте). Фотографий этих моментов к сожалению просто не делалось в виду увлеченности. Зато в связи с проводимыми и предстоящими работами моя драгоценная супруга подарила мне на новый год крутой сварочный инвертор и маску-хамелион, да такие, о которых можно только мечтать:

Так же сейчас заканчивается работа над РУД (Ручка управления двигателем), ручка перемещается радиально, ось вращается на керамических подшипниках, так же предусмотрен механизм регулировки прикладываемого усилия при перемещении рукояти. Тут в очередной раз выручает 3D принтер. Кстати, вот таким гладким и глянцевым получается напечатанное изделие после обработки в ацетоновой бане:

Вот такая Вундервафля вырисовывается, сбоку джойстик:

Ну и конечно же нам нужно больше кнопок!! =)

Множество этих кнопок будет подключаться к ардуине через сдвиговый 24х битный регистр, разведенный на плате из трех 8ми битных, соединенных последовательно. Таким образом мы подключаем до 24 кнопок к ардуине при помощи 5 проводов. На фото припаян только один, для теста, но сейчас регистр полность собран, причем в двух экземплярах в DIP корпусах и один экземпляр в SMD исполнении, все экземпляры успешно прошли тестирование.

На этом новости по проекту пока что иссякли, но работы ведутся, и кажется, я окончательно стал техноманьяком))

Показать полностью 19
16

Таймер на Arduino [Arduino Timer]

DIY обычно не распространяется на кухню. Однако, этот проект - исключение! Таймер на кухне используют довольно часто, а сделанный своими руками использовать гораздо приятнее. В этом таймере я использовал не очень распространённый дисплей, так что это своего рода гайд по нему.


Приятного просмотра!

Отличная работа, все прочитано!