пятница, 25 августа 2017 г.

Ёлка шилд для ардуино - Xmas Tree Shield for Arduino

Давным-давно, наверное года три назад, вдохновившись прикольным проектом "LoL Shield" и познакомившись с понятием Charlieplexing, спроектировал к Новому Году платку в виде новогодней елки.
Проектировал изначально под свой проект Blockduino.

Т.е. как видно на схеме, установленны 72 светодиода которые управляются 7ю выводами микропроцессора: D2, D4-D8, D12.
Получилось вот так вот:

Вот первая проба пера на видео:
Управляется с помощью переделанной библиотеки: LoLshield от jprodgers. Может попозжее выложу.
Как видно из видео, светодиоды можно использовать разного цвета, главное, чтобы их параметры были близки, к примеру впаяв в эту плату синий светодиод выяснил, что ток идет не через него, а через пару параллельных светодиодов зеленого цвета. Т.е. вот так как на схеме.
Еще на плате можете увидеть место под RGB светодиод и три выводных резистора. Это я планировал сделать небольшую подсветку за платой-елкой, например набросать ваты, типа снежные сугробы, которые в темноте подсвечиваются плавно меняющимся цветом. Должно было бы быть красиво. Но мне не удалось подружить библиотеку Charlieplex c ШИМом, как бы работало, но заметно мерцало. В общем - оставил на потом.
Вдоволь наигравшись решил, что идея хорошая и должна получить продолжение. В итоге переделал плату под стандартный разъем Ардуино, ну и заодно решил поэксперементировать и освоить пайку SMD светодиодов:
Ну, пока на этом всё.

Update: Видео работы уже третьей версии платы с установленными Arduino Mini Pro.

четверг, 8 июня 2017 г.

Glyphdicator - Ingress Glyph Indicator


Вводная

Yolka - 42 светодиода, Sontse - 126 светодиодов, IngressGlyphs - 132 светодиода
Расскажу как я чуток, чем занимаюсь последнее время (т.е. почему заглох блог )))
Вот увлекся немного созданием плат с кучей светодиодов, по аналогу с LoLShield.
Серию назвал ArduinoFun, fun переводится как забава, веселье, потеха. Т.е. для меня это баловство с ардуино.
Сейчас расскажу о последней плате IngressGlyphs.

воскресенье, 5 июля 2015 г.

Адресная работа с несколькими датчиками температуры DS18B20 с выводом на графический дисплей - Contrlol Multiple 18b20 Arduino GLCD

Когда-то я уже отписывался о работе с тремя датчиками температуры от компании Dallas 18B20. Но на одном из форумов снова встретил обсуждение работы 10 датчиков. Так вот там утверждалось, что десять датчиков будут опрашиваться по секунде на каждого, те десять секунд на все. Меня это слегка смутило, не помню я такого, поэтому решил перепроверить все вживую. Тем более, что в прошлый раз я не доработал до ума код, тк те датчики не привязывались по адресам к объектам, а выбирались наугад, по очереди.
В общем поставил я 6 датчиков, хотел 9, но не нашел столько сходу. Так что пока только шесть. Но это не принципиально, код написал более менее универсальный, так что можно использовать под любое количество датчиков.

воскресенье, 28 июня 2015 г.

Велосипедный спидометр с графическим ЖК дисплеем 128х64 и библиотекой openGLCD - Bike Speedometer GLCD 128x64 openGLCD lib

Продолжаю играться в велосипедные спидометры.
На этот раз подключил графический ЖК дисплейчик с разрешением 128 на 64 точки. Припаял его на BlockProto2, довольно неплохо он там умостился.
Сюда уже можно вывести много информации, поэтому вывожу:
  • Скорость (Speed) - большими и красивыми цифрами, шрифт сделал сам с помощью проги из библиотеки, прилагается к коду отдельным файлом;
  • Общий пробег (Distance) - до 999.99 км
  • Общее время (TripTime) от включения спидометра
  • График скорости - по вертикали скорость от 0 до 30 км/ч, по горизонтали - время от 0 до 60 секунд. График не движется, а прорисовывается слева на право.

вторник, 23 июня 2015 г.

Велосипедный спидометр с ЖК дисплеем 16х4 и библиотекой BigCrystal - Bike Speedometer LCD JM164 BigCrystal lib

Продолжаю играться в велосипедные спидометры.
На этот раз подключил ЖК дисплейчик JM164A, т.е. 16 символов в 4 ряда. Что немножко избыточно для вывода скорости и расстояния. Но можно подключить библиотеку BigCristal для вывода больших цифр.
Правда нормального вывода чисел там нет, а только посимвольно, поэтому пришлось немного допилить библиотеку, чтоб можно было пользоваться просто функцией Print().

понедельник, 8 июня 2015 г.

Велосипедный спидометр с ЖК дисплеем - Bike Speedometer LCD0802

При компоновке велоспидометра для предыдущего поста, сразу было понятно, что ставить семисегментный индикатор для вывода скорости не совсем то что надо - информативность низкая: пройденное расстояние некуда уже выводить, видимость тоже не ахти: днем не видно, ночью глаза слепит. Но таким было техзадание.
Поэтому когда отполировал код, сразу же подключил ЖК дисплейчик. Вернее платку с BlockLCD0802_IC, т.е. дисплей с разрешением 8 символов в 2 строки с управлением по протоколу I2C (он же TWI).
Теперь видимость уже получше, да и больше инфо можно вывести

воскресенье, 7 июня 2015 г.

Велосипедный спидометр на семисегментном индикаторе - Bike Speedometer 7Segment Display

Привлекла мое внимание ветка на форуме Arduino.ru о создании велосипедного спидометра с выводом на семисегментный индикатор.
Захотелось и себе попробовать, ведь все компоненты для этого уже есть под рукой, да и в перспективе планирую прикупить велосипед.
Для спидометра мне понадобились:

пятница, 5 июня 2015 г.

Тотальное обновление библиотеки lib_Block7Seg, она же PrintTo7Seg

Еще на стадии написания библиотеки под блок для семисегментрого дисплея я понял, что выбрал не совсем правильный алгоритм, там информация в памяти хранится в виде выводимого текста, а в матрицу данных на светодиоды преобразуется каждый раз на лету при выводе на дисплей.
Во-первых, это затраты по времени, а во-вторых (что для меня важно) это не позволяло управлять отдельно любым светодиодом на дисплее, т.е. не давало возможности создавать кастомные символы и выводить какую-нибудь анимацию.
Но при написании библиотеки под Block7Seg_IC я уже подошел по другому, а заодно и переделал библиотеку для Block7Seg. Теперь в памяти хранится уже матрица данных на светодиоды.

среда, 29 апреля 2015 г.

Block7Seg_IC - управляем семи сегментным дисплеем по трем проводам, вывод на дисплей данных функцией print()

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

суббота, 15 ноября 2014 г.

Игра Simon Say 7Notes


Продолжение предыдущего поста - Игра Simon Say на Blockduino -  игра в которой нужно повторить все усложняющуюся последовательность загорающихся светодиодов. Общим количеством в семь. Так же каждому светодиоду соответствует нота, которая звучит одновременно со светящимся светодиодом.