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

Arduino & Pi

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

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

6

Raspberry Pi и ЦАП к ней

На днях приобрел сие чудо инженерной мысли и тут же стал вопрос о создании для неё цифро-аналогового преобразователя.
В планах самому вытравить плату с R-2R матрицей, но как передать информацию на неё - не знаю.
Поэтому прошу посоветовать, есть-ли какой-то последовательно-паралельный регистр для передачи информации по I2C протоколу, или же можно по другому делать?
Готовые ммикросхемы ЦАПов не предлагать, тут дело принцыпа :)
Ставлю тэг "Моё", ибо травить и делать буду я :)

17

Wi-Fi микрофон

Всем доброго времени суток!
Суть в чем: есть малина, на которой запущен ubuntu. Есть orange pi zerro plus 2, в которой есть микрофон. Можно ли реализовать идею таким образом, чтобы на малине Оранж определялся как звуковая карта либо есть какое-нибудь готовое решение под линукс а-ля сервак-клиент. Задача передать голос с оранжа на малину с минимальной задержкой. Все внутри локалки. В идеале потоковая передача.
Заранее спасибо.

От/за крыто

Во время оно восхотелось мне собрать какое-либо простенькое электронное устройство.


Условий к проекту было три:

1. Практическое применение (или хотя-бы потенциальная возможность применения)

2. Низкая заморочность по времени (чтобы не заволокитить) и знаниям

3. Ну и цена, цена вопроса!


Наконец решил спаять табличку «открыто» с подсветкой. Подсветку очень хотелось анимировать, т.к. нравится эффект пробегающего блика.

Вышло как-то так:

Сказано — сделано! На всё про всё ушло, наверное, пара дней (точнее, вечеров после работы).


Недолго думая, на подсветку взял RGB светодиодную ленту, а в качестве управления решил воткнуть между драйвером и лентой транзисторную сборку. Так как в нашей деревне нельзя просто прийти в радиомагазин и купить готовое решение, пришлось немного поизвращаться.


Плата управления

Чисто случайно в хламе был найден -рояль- ATmega16 и ISP для AVR (программатор), найдена телефонная зарядка под прикуриватель (dc-dv 12–5V доя питания атмеги), а в деревенском радиомагазине куплены три транзисторных массива ULN2003 (80₽/штука, на али по 5₽).


Под это дело была быстро разведена платка (заодно чуть лучше познакомился с программой Sprint Layout) и изготовлена методом ЛУТ.

Плата получилась страшненькая и местами можно наблюдать дефекты дорожек. Списываю это на отсутствие опыта, но мне нравится смотреть, как медь дорожек металлически отсвечивает на матовом текстолите!

Что удивительно, более тонкие буквы протравились практически без дефектов.


Грамотному человеку сразу бросятся в глаза несколько вещей:

1. Плата слишком большая для того количества компонентов, что на ней размещены – учитывая не сильно высокие токи управления, можно было разместить всё поплотнее

2. Нижние дорожки, а ULN2003 открывает землю (вроде бы, уже не помню точно), можно было, напротив, сделать чуть потолще – там ток повыше и напряжение тоже

3. Совершенно никаких резисторов и конденсаторов на схеме! Тупо процессор, три массива диодов, вход, выход, ISP. Не знаю, зачем они нужны, но очень хочу узнать, потому что на всех нормальных схемах в интернете они есть :)

4. И главное, что схема разведена, мать её, для монтажа компонентов с той же стороны, где дорожки. О том, что так делать не надо, я узнал, когда сдох процессор (наверное, из-за отсутствия всяких резисторов и конденсаторов) и я решил его выпаять для замены. Как вы понимаете, не получилось 😁


Так или иначе, всё это непотребство было облужено, дефекты дорожки с особым пристрастием, распаяно и возник второй вопрос:


Трафарет для надписи

Трафарет был распечатан на А4, и затем с помощью макетного ножа Orfa

Вырезан из плотного картона. Сверху картонная табличка с дырками была накрыта куском целой глянцевой фотобумаги. Получившийся бутерброд заламинировал (не то чтобы это было сильно нужно, просто когда у тебя есть ламинатор – то почему бы и нет?)


Каркас можно было вырезать из обычного гофрокартона, но, так как я хотел возможность наружного применения, пришлось заморочиться и вырезать коробочку из оргстекла (и склеить термоклеем).


Внутренних перегородок в надписи «крыто» нет, что позволяет свету соседних диодов смешиваться, это выглядит прикольно. Между словами «от», «за» и «крыто» поставил непрозрачные перегородки, потому что они должны быть полностью выключенными в нужный момент, без засветок.


В собранном и распаянном виде это выглядит так:

В итоге получился 21 независимый канал для ШИМ-управления (и совершенно точно на эту атмегу можно было привесить ещё 1 массив на 7 каналов), что даёт нам управление семью RGB-лентами независимо друг от друга (или 21 монохромными светильниками). Можно применить эту же схему, например, в качестве дешёвого колхозного бегущего поворотника (аля лексус/ауди). Кстати, буду признателен за совет, как умные люди делают шим для большого количества потребителей на токи амперного порядка.


Прошивку писал в CV AVR, каких-то принципиальных отличий от Arduino IDE я не углядел, опять же, в силу отсутствия опыта. Немного различается синтаксис, но настолько незначительно, что об этом практически сразу забываешь.


Забавный момент: впечатлившись лёгким успехом, я тут же побежал в рекламное агентство заказывать  наклейку с плоттерной резкой, а они мне из лучших побуждений все три слоя сразу и склеили. И, разумеется, не поняли, как надо, поэтому снаружи оказался не сплошной слой, а прорезанный, а сплошной стал внутри. Будет мне уроком – уметь настаивать на том, что некоторые вещи делаю только сам.


А коллеги назвали эту штуку корытом :)


P.S.: товарищи подписчики!

Ввиду того, что вас почти полсотни (51 вместе с эфэсбэшником), я начинаю подозревать, что от меня ждут чего-то конкретного.

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

Поэтому вопрос ребром – о чём было интересно читать именно тебе?


Могу рассказать про свой управляемый с планшена автозапуск лады гранты на ардуино, если кому интересно – он был моим первым устройством, а штука из этого поста – вторым.

Показать полностью 5
23

Ардуино для аквариума

Здравствуйте посетители и постояльцы сообщества. Сразу к сабжу: крышка для аквариума, 4 группы по 10 3-х ваттных диодов разного спектра. Питаются от одинаковых бп :

Ардуино для аквариума

Вот таких.
вопрос: помогите со списком комплектующих и скетчем для задач:
плавный пуск и угасание каждого канала в своё время. Экран 2-х строчник с выводом времени и статусов 4-х каналов.

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

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

Wi-Fi энергомонитор на PZEM-004t и ESP-12F

Доброго времени суток!

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

Датчики вроде ACS712 как-то не вызывали доверия (уж слишком хлипкими выглядели),  SCT-013-000 казались громоздкими.

И совершенно случайно мне попалась на глаза замечательная вещь - PZEM-004T:

(Кстати, есть версия с индикацией, подробнее обо всём на буржуйском сайте ).

Возможности модуля (подробнее можно посмотреть в даташите ):

Измеряемое напряжение: 60 - 280 В переменки;

Ток: до 100 А / 22 кВт;

Частота: 45-65 Гц;

По запросу может выдавать значение напряжения (В), тока (А), активную мощность (Вт), потребленную энергию (Вт*час). Еще можно выставлять сигнализацию на определенную мощность (в кВт), но, похоже, это касается только разновидности с экраном.

Киловатт-часы хранятся до 99 999 Вт*ч, потом идёт сброс в 0.

Есть кнопка сброса значения Вт*ч, ее нужно подержать 5 сек. В этот момент модуль не отвечает по TTL.

Схема подключения проста:

А вот с управлением всё несколько печальнее.

Для получения данных нужно выставить адрес командой в порт "B4 C0 A8 01 01 00 1E", где B4 - собственно команда, C0 A8 01 01 это адрес 192.168.1.1, 00 просто плейсхолдер (используется только при задании значения мощности сигнализации), Е1 - контрольная сумма.

Для получения значения напряжения нужно отправить команду "B0 C0 A8 01 01 00 1A", где В1 - команда, потом опять адрес и контрольная сумма.

Нам придет ответ вида R = A0 00 E6 02 00 00 88, где А0 - метка ответа, Е6 - старший разряд (230 Вольт), 02 - младший (2 Вольта), 88 - контрольная сумма. Напряжение тут R[2]  + R[3] = 232 В.

Подробнее в даташите.

Использовал вот эту  библиотеку.

Добавляем энергомер в скетч:

#include "pzem-004t.h"

PZEM_004T pzem(10,11); // для общения используется SoftwareSerial, т.е. в случае ESP-12F можно использовать пины 0-5 и 12-15


void setup()

{

while(!pzem.setAddress(192,168,1,1)); // инициализируем. С любым адресом, лишь бы они отличались, если PZEM-ок несколько.

}

void loop()

{

float V = pzem.getVoltage(); //меряем напряжение

if (V > 0) Serial.println("V = " + (String)V + " Volts"); // значение "-1" это ошибка получения данных

delay(1000);

}

TTL-логика у PZEM-004T 5 В, вполне можно спалить порт ESP-шки, поэтому я, не выпендриваясь, сделал делитель напряжений на резисторах (рассчитать можно здесь):

Кстати, у меня PZEM  +5В не давал, пришлось использовать отдельный БП на 5 В (для PZEM) и понижать до 3.3 В (для ESP) с помощью AMS -1117-3.3 и пары кондёров.

Для удобства решил еще добавить OLED-дисплей SSD1306 разрешением 128 х 64 с I2C:

Библиотеку брал отсюда.

Если ESP его не видит, попробуйте поменять местами SDA и SCL или прогнать I2C device scanner, иногда заявленный адрес не соответствует фактическому.

Умеет даже в скролл и прогрессбар.

Команды, в принципе, в комментариях не нуждаются

display.init();

display.setTextAlignment(TEXT_ALIGN_LEFT);

display.setFont(ArialMT_Plain_16);

Шрифт любого размера можно сделать тут и добавить в "...\Arduino\libraries\esp8266-oled-ssd1306-master\src\OLEDDisplayFonts.h"

Лично у меня шрифт 50 размера для удобства чтения издалека.

На экран выводится потребление в Вт (999) или в кВт (1.8к), в зависимости от текущей нагрузки.

Чтобы не "гуляли" ноги, заодно приделал термометр Dallas DS18B20.

Ну и куда же, естественно, без IoT?)

Данные с энергомера будем выгружать в https://thingspeak.com/. Как с ним работать, я уже как-то  писал.

Все устройство поместилось в корпус на DIN-рейку на две позиции (или как оно называется?).

В тестовом варианте выглядело всё вот так:

ТТ висит на фазе удлинителя где-то за границами фото.

Полная съема выглядит так (да, мне всё еще лень рисовать нормальные схемы. Надеюсь, ничего не забыл)

Традиционным методом ЛУТ сделана (не без косяков) плата (размеры примерно 30*58 мм, с вырезами под болты корпуса)

Слишком тонкая дорожка слева-снизу почти сразу оторвалась.

Полностью собранный, но еще не отмытый счетчик (на том этапе еще показывал напряжения и ток. Что информативней показывать активную мощность, я решил позже):

Готовое устройство на рейке выглядит так (включен комп + свет)

Тут еще добавился чайник (на котором написано 2 кВт).

Засёк также:

Комп (i3, 1060, 2 HDD, 20" TFT-моник) - 89 Вт в без нагрузки, 130 Вт в WoT / Dota 2

Комп в спящем режиме - 10 Вт;

Четыре 5 Вт LED лампы Е14 - 22 Вт;

Пылесос в холостую - 1,37 кВт (мощность 350 Вт / 1800 МАХ);

Комп на ночь выключается из розетки, ночью в темноте потребление около 12 - 15 Вт (не морозящий холодильник, роутер, может, зарядное).


В течении дня напряжение меняется примерно так (данные отсылаются каждые 5 минут). Можно заодно отслеживать качество напряжения в доме.

Скетч, фотки и библиотеки в гугл-диске

Вроде бы ничего не забыл.

Если что, спрашивайте ;)

Спасибо за внимание!

Показать полностью 10
34

Подборка проектов роботов за 2018 год

Делал  подборку для своего канала в телеграм, считаю гикам Пикапу так же будет интересно :)


Сборного робота-кота от компании Petoi можно учить трюкам (+видео)

https://teletype.in/@armlab/SJ2lJDi3Q


NASA представила инструкцию по сборке марсохода на Raspberry Pi

http://telegra.ph/NASA-predstavila-instrukciyu-po-sborke-mar...


Робот на Raspberry Pi генерирует комиксы

http://telegra.ph/Robot-na-Raspberry-Pi-generiruet-komiksy-d...


Цифровой робот-чайник

http://telegra.ph/Cifrovoj-robot-chajnik-05-26


На Кикстартер запустили проект робота на Raspberry Pi

http://telegra.ph/Na-Kikstarter-zapustili-proekt-robota-na-R...


Робот-рыба Sofi

http://telegra.ph/V-SSHA-izobreli-robota-rybu-03-26

Спасибо за внимание, с Новым годом и Рождеством Христовым

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

Обзор и тестирование платы C-SKY за $6

В последние годы цены на одноплатные компьютеры снизились и сейчас для большинства проектов не проблема найти недорогую плату. Но плата для разработки C-SKY Linux сильно отличается, поскольку она основана на малоизвестной архитектуре C-SKY, а цена в Китае на нее ($6) .


Сейчас плату можно приобрести за пределами Китая по цене около $18, включая доставку. Блогер под ником MickMake решил приобрести данную плату, чтобы рассмотреть ее поближе.

Плата оснащена 32-битным процессором NationalChip GX66058 C-SKY с частотой до 574 МГц и 64 Мб DDR2. После того, как плата попала в руки к Мику, он поделился информацией о других чипах, которые включает в себя данная плата, а именно:


- STMicro STM32F103 для обработки всех элементов управления JTAG через микро USB порт (JTAG)

- CH340G USB (последовательный мост) для доступа к последовательной консоли через другой микро USB порт (COM)

- Winbond W25Q32FVSSIG 32-Мбит SPI flash для хранения операционной системы

На нижней стороне платы имеется только медная зона для охлаждения чипа.


Если изучить таблицу данных о процессоре, то можно увидеть, что C-SKY основан на Freescale MCORE с дополнительными инструкциями архитектуры MIPS, а сам процессор может быть настроен на старший или малый порядок байтов, а также частью чипа является шина Arm AMBA (Advanced Microcontroller Bus Architecture).


На плате установлен медиаплеер с базовым пользовательским интерфейсом, которое позволяет воспроизводить видео о USB устройств.

Управлять видео можно с помощью кнопок на плате, а выход HDMI работает с расширением до 1080p @ 25 Гц, тогда как для буфера кадров установлено разрешение 1280×720, как на недорогих ТВ-боксах и медиаплеерах.


Но самое интересное — это поддержка mainline Linux и вы можете скачать образ Linux (usb.img), скопировать его на USB флэш-накопитель и он автоматически обновит плату до Linux.


GPIO поддерживает работу, но I2C реализован с помощью технологии bit-banging, хотя она должна быть включена в ядро, а также нет интерфейса SPI.

Вы также можете создать образ самостоятельно с помощью buildroot, используя несколько команд:

git clone https://github.com/c-sky/buildroot.git

cd buildroot

make csky_gx6605s_fbcon_br_defconfig

make

Также Мик протестировал плату с помощью Phoronix и хотя большинство тестов даже не запускались, производительность действительно была довольно слабая…

Операции чтения, изменения и записи в Cachebench выполняются очень медленно, от 20 до 440 раз хуже, чем у ODROID-XU4, но это результат использования флэш-памяти SPI.

Тест Himeno Poisson Pressure Solver выполняет операции с плавающей запятой и снова результаты довольно плохие. Платформы Arm имеют FPU, которого, на сколько известно нет в ядре CK610M core, которое используется в процессоре GX66058 и Himeno также известен как многопоточный бенчмарк и очевидно, что одноядерный процессор C-SKY неконкурентоспособен в нем.

Тест производительности TSCP AI chess выглядит немного лучше на C-SKY, потому что это однопоточный целочисленный бенчмарк и разница в производительности объясняется более низкой частотой процессора.


Полные результаты тестирования на веб-сайте OpenBenchmarking.org.


Помимо поддержки открытого исходного кода и низкой цены, Мик сделал выводы, что для платы существует не очень много документации и у нее довольно плохая общая производительность. Более подробную информацию можно найти в обзоре MickMake, на который была ссылка во введении, а также можете посмотреть видео обзор.

Источник: cnx-software.ru

Показать полностью 7 1
Отличная работа, все прочитано!