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

Arduino & Pi

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

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

17

Arduino. Возможность нахождения кол-ва адресных светодиодов WS2812  в ленте

Здаров!

Ардуинщики, кто-нибудь знает способ нахождения кол-ва адресных RGB WS2812 в ленте при помощи управляющего лентой МК(микроконтроллера), не прибегая к механическому вмешательству к самой ленте? Я вот думою: можно было-бы при подключения питания к ленте и к МК(имеющему возможность измерения тока питания ленты) запускать анализирующий режим, при котором вся лента загоралась-бы каким-то определенным цветом определенной яркости, и при этом, изначально был-бы известен потребляемый ток ленты на данном режиме при определенном кол-ве светодиодов, цвете, и, соответственно, яркости ленты(назовем это данными "X").

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

P.S.: гуглил все по этой теме, в интернете мало чего нашел.

Как идея? Может, кто-то предложит что-то свое, есть идеи?

11

Я хотела бы написать программу на arduino, но не умею

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

Что у меня есть.

Голова робота с двумя муляжными объективами и одной fpv камерой

Так же шейный сервопривод уже припаянный к 9 пину

Я хотела бы, что бы робот мог двигать муляжными объективами с частотой 1-5 секунд, которая будет выбираться рандомно (оба мотора от объективов подключены к драйверу)

И сервопривод поворачивающийся максимум на 15 градусов в любую сторону с интервалами 1-10 секунд, так же выбирающимися рандомным образом


Есть примечание, что если объектив будет двигаться полностью рандомным образом, то он может закрыться, и я хотела бы предложить сделать такую функцию, что бы объектив двигался в противоположную сторону той, что была до этого минимум столько же, сколько и до этого


Я была бы очень благодарна, если бы вы мне помогли и написали такую программу для arduino uno

Так же можете задавать все вопросы под постом

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

Печка из старого утюга для запекания паяльной пасты

Не так давно в одном из постов на instructables мы увидели интересный и простой в изготовлении девайс, который не был темой инструкции, а только лишь инструментом, который использовал автор. Пришлось хорошенько поискать разрозненные материалы в различных соцсетях разработчика и хотим поделиться им с вами 😉

Для пайки компонентов поверхностного монтажа smd-smt вам понадобится специальная печь для оплавления паяльной пасты.

Но вот проблема! Такой девайс не из дешевых, а при мелкосерийном, да и просто аккуратном любительском производстве совершенно не заменим !

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

Для этой «установки» вам понадобятся следующие детали и компоненты

✔ Деревянное основание

✔ Старый утюг с толстой подошвой

✔ WiFi модуль Wemos D1mini

✔ Твердотельное реле 25А

✔ Драйвер термопары, например MAX6675

✔ OLED дисплей с разрешением 128x64 пикселей

И немного рассыпухи в виде тактовых кнопок, потенциометра на 10 кОм, резисторов 10 кОм, конденсаторов 0,1µ и проводов.

В место wifi модуля можно использовать любую другую плату arduino с минимальными переделками кода. Просто автор — фанат ESP8266 и ESP32 😉

Концепция этого устройства чрезвычайно проста, и заключается в том, что модуль Wemos D1 mini управляет твердотельным реле на основе информации о температуре от датчика термопары, который приклеен к поверхности утюга с помощью термостойкой капроновой ленты. Возможно для более точных показаний температуры датчик должен быть размещен на печатной плате, но это трудно осуществимо.

Если у вас действительно быстрый утюг, то возможно, вам следует использовать что-то вроде PID-регулятора. Для обычного медленно разогревающегося утюга с толстой инертной подошвой достаточно управления на основе порогового значения.

Сборка

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

Весь процесс пайки занимает около 3 минут, что очень быстро, по сравнению с некоторыми профессиональными решениями, такими как печи для оплавления. Максимальная температура составляет около 200-240 градусов, в зависимости от нескольких вещей, таких как паяльная паста, толщина печатной платы

Плюсы и минусы конструкции


✔ работает как часы

✔ легко собрать

✔ очень низкая стоимость

✔ очень быстрая пайка плат

✔ маленький размер, который подойдет каждому радиолюбителю


✖ работает только для одной стороны печатной платы

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

✖ печатная плата должна быть удалена сразу после завершения процесса оплавления флюса во избежания расслоения

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

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

Схема и печатная плата

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

Все остальные компоненты просто подключаются через разъемы к плате. Источник питания 5 В, термопара и твердотельное реле вешаются на GPIO и подключаются через эти винтовые клеммы. Значение R1 составляет 10 кОм, значение С1 равно 0,1 мкФ, а сопротивление потенциометра также равно 10 кОм. При желании, вам не понадобится эта плата, вы можете подключить всё с помощью нескольких проводов.

А вот и ссылка на оригинальную прошивку и печатную плату в Eagle.

Попробуйте сделать свою реализацию, это действительно просто 😅 а нам будет интересно увидеть вашу реализацию такой печки

Не знаю могу ли я ставить тег [моё] автор не я, но я собрал и перевел информацию из разных источников. Статья сделана по материалам нашего сообщества вконтакте, вы можете задать все свои вопросы по этому посту, или статьям сообщества, как тут так и там.

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

Сколько заработали создатели Raspberry Pi в 2012 году

По данным финансовой отчётности, благотворительная организация Raspberry Pi Foundation выручила £1,152,637 в первый год активной деятельности (мы писали об этой истории на Пикабу). Можно предположить, что выручка от продажи компьютеров Raspberry Pi 1 Model B отражена в строке Trading income отчёта и составляет скромные £420,768.

Сколько заработали создатели Raspberry Pi в 2012 году

Внимательный читатель может заподозрить подвох, ведь мы знаем из новости с неприметным заголовком, что в 2012 году было продано около миллиона компьютеров Raspberry Pi. Мы также знаем, что один компьютер стоил £25, поэтому выручка должна быть около £25,000,000, но никак не £420,768.

На самом деле никакого подвоха нет, производством и дистрибуцией однопалатных компьютеров Raspberry Pi в 2012 году занимались две компании: RS Components и Premier Farnell (мы писали об этом Пикабу: История создания Raspberry Pi: производство и дистрибуция компьютеров). Если вам стало любопытно, появилось желание разобраться в финансовой отчётности Raspberry Pi Foundation или капельку узнать о специфике работы благотворительных организаций в Великобритании, то приглашаю посмотреть скринкаст:

Будем рады любым дополнениям и уточнения комментариях. Совместными усилиями найдём  £25,000,000! :)

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

Акустическая левитация на ардуино

Сегодня я расскажу, как в домашних условиях повторить эффект ультразвуковой левитации своими руками.


Звуковые колебания.

Что бы понять всю суть эффекта левитации, нужно понять, что такое звуковая волна и стоячая волна.

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

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

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


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

Длинна волны — это скорость звука разделенная на частоту колебаний. При температуре 20°C и влажности воздуха 50%, звук распространяется в такой среде со скоростью 340 м/с. Резонансная частота колебаний нашего пьезоизлучателя примерно 40 000 Гц. В итоге получаем длину волны 340000 мм / 40000 Гц = 8,5 мм. Длина стоячей волны будет такой же 8,5 мм.

Излучатели можно располагать на разном расстоянии друг от друга, но оно всегда должно быть кратным длине волны. Чем меньше расстояние между излучателями, тем мощнее узлы стоячей волны. Чем больше пространства между акустическими трансмиттерами, тем больше узлов между ними, но слабеет мощность узлов и наоборот. Так же нужно понимать, что для удержания большого количества предметов в узлах волн и на большем отдалении между ультразвуковыми излучателями, потребуются более мощные пьезо головки. Например от автомобильных парковочных радаров, или от бытовых увлажнителей. В этой статье я рассматриваю самый доступный и бюджетный ультразвуковой излучатель. Который можно выпаять из дальномера HC-SR04


Схема подключения — я использовал Ардуино нано и драйвер моторов MX1508, можно было бы обойтись генератором NE555 и в качестве усилителя использовать микросхему MAX232 которая установлена на дальномере HC-SR04, но я для себя избрал более простой путь, который сэкономил мне время. Так как на сборку акустического левитрона у меня ушло не более 5 минут. Соединения я произвел набором проводов dupont

Описание скетча Ардуино.

Код ничего особенного из себя не представляет. Все сводится к настройке таймера и дерганий ногами порта D Arduino. Для этого переводим Timer1 в режим сброса при совпадении(CTC) и теперь при совпадении значений регистра счета TCNT1 с заданным числом в регистре сравнения OCR1A, будет срабатывать прерывание, в обработчике которого выполняется инверсия всего порта D. После чего счетный регистр обнулитcя и после выхода из обработчика процесс счета запустится по новой.

Нужное нам значение регистра OCR1A рассчитывается следующим образом: так как делитель в регистре TCCR1B выключен, то мы берем частоту тактового генератора 16 000 000 Гц и делим на требуемую нам частоту срабатывания прерывания 80 000 Гц, в результате получаем число 200, это и будет наше значение для регистра OCR1A.

Почему 80 кГц, а не 40 кГц, спросите Вы? Потому, что период в обработчике формируется за два срабатывания прерывания. При первом срабатывании на выходах формируется D3=0 и D4=1, а при втором D3=1 и D4=0.

Код для Arduino:

volatile uint8_t portD3_D4 = 8; // единица на D3 и ноль на D4
void setup()
{
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
// Инициализируем Timer1
TCNT1 = 0;
TCCR1A = 0;
TCCR1B = 0;
OCR1A = 199; // Установить регистр сравнения 16 МГц / 80 кГц = 200
TCCR1B = (1 << WGM12)|(1 << CS10); //Устанавливаем режим CTC, без делителя
TIMSK1 |= (1 << OCIE1A); // Включить прерывания таймера
}

void loop () {}

ISR (TIMER1_COMPA_vect) // Обработчик прерывания по таймеру
{
PORTD = portD3_D4; // Отправляем значения в порт
portD3_D4 = 255-portD3_D4;// Инвертируем значения для следующей отправки в порт
}

На этом все.

Буду рад ответить на все Ваши вопросы.

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

Самые простые ламповые часы своими руками

Привет, Пикабу! Хочу поделиться с вами проектом ламповых часов на базе Arduino и советских газоразрядных индикаторах. Проект включает в себя варианты для индикаторов ИН-12 (А или Б) и ИН-14. Список компонентов со ссылками, файлы плат, документация, прошивки и инструкции есть на странице проекта у меня на сайте.

В проекте минимум компонентов, все они выводные, плата односторонняя и её можно сделать домашними "наколеночными" способами.

Всё работает следующим образом: Ардуина "раскачивает" простенький высоковольтный генератор, который создаёт ~180 Вольт постоянного напряжения, необходимого для создания тлеющего разряда на катоде (цифре) лампы. Катоды ламп (10 цифр) подключены параллельно, а вот подача напряжения на аноды управляется Ардуиной. Фишка в том, что в любой момент времени включена только одна лампа и выводит свою цифру в течение нескольких миллисекунд. Так как переключение происходит очень быстро, глаз не замечает мерцания, а схема упрощается в десятки раз! Это называется динамическая индикация.

В часах запрограммированы 6 эффектов переключения цифр, 3 режима подсветки ламп и аутентичный режим "глюков" индикаторов (смотри видос выше).

Корпус разработан в Fusion 360 и напечатан на 3D принтере "медным" SBS филаментом:

Далее измазан чёрной и зелёной гуашью для придания эффекта окисленной, старой и грязной медяки:

Финальный результат:

Вот такие пироги. Надеюсь это поможет всем любителям ретро-стилистики и всяких нюка-стим панков сделать себе такие часы, я старался максимально упростить схему и сборку и сделать проект доступным для всех!

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

Использование пузырьковой панели в качестве дисплея

Всем привет!

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

Хоть и результат меня не впечатлил, но я все равно рад тому, что получил неоценимый опыт,

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


Электроника пузырькового экрана состоит из:

Arduino Nano

Драйвер от шагового двигателя 28BYJ-48

Энкодер

Электромагнитные клапана


Схема

Использование пузырьковой панели в качестве дисплея
Показать полностью 1 1
Отличная работа, все прочитано!