Программирование

Статьи о программировании
Ilya_Sh

ARDUINO Работа с датчиком ZH-06 I

  • 368
  • 0
Доброго времени суток. В этой статье я опишу как работать с датчиком мелких частиц Winsen ZH-06 I на плате Arduino Nano.

В интернете про работу с этим датчиком буквально 1 статья, и то, библиотека, которую использует автор не поддерживается Arduino Nano. Исходя из этого я посчитал полезным написать статью про работу с этим датчиком.

(если ваш контроллер поддерживает Serial1, то для вас подходит библеотка CSE_ZH06
библиотека github.com/CIRCUITSTATE/CSE_ZH06?tab=readme-ov-file#cse_zh06
подключение circuitstate.com/tutorials/how-to-interface-winsen-zh06-laser-dust-sensor-with-arduino
)

1.Подключение
В разъём датчика требуется подключить кабельный шлейф. Назначение контактов следующее:
1744286084937.png(взято из официального...
L

УМНЫЙ ДОМ Opensource OpenTherm контроллер/термостат для управления отоплением

  • 2,355
  • 6

Начинал писать простой OpenTherm контроллер на esp8266/esp32 для личного использования, вылилось в полноценный девайс для управления котлами с нативной интеграцией в Home Assistant и встроенной веб-мордой.
В момент первого релиза публиковал статью на хабре, где рассказывал о причинах появления сего девайса и процессе разработки прошивки.
В репозитории лежит схема платы, BOM и Gerber файл для самостоятельной сборки, но совместимо и с платами от Игоря Мельника, DIYLESS и другими, собранными по схеме.


...
Alexhhhhgf

ARDUINO Реле автоматической подачи школьного звонка.

  • 11,508
  • 127
Доброй ночи, дорогие форумчане!
Еще 3 недели назад пришла идеальная идея в голову: т.к. я заканчиваю 11 класс, решил подарить школе "умную систему".
В Arduino ничего не соображал, собрал схему на nano и часах реального времени с реле. Начал пробывать писать код, кое в чем разобрался.
Всё заработало! Браво!
Думаю, так можно добавить туда ещё и сокращённое расписание. Поставил тумблер, разобрался в switch case .
И у меня уже работает реле для школы. Зачем время тянуть? На выходных его подсоединил, все в восторге.
Понедельник.. Первый день новых технологий. Первый, второй, третий, четвёртый звонки подавались сами, я был доволен.
(Раньше надо было спускаться на 1ый этаж и нажимать выключатель, чтобы подать звонок)
Хоп! Пятого звонка не прозвенело. Я пулей побежал на первый этаж, подал звонок, отключил и включил на Arduino
o питание и следующие 4 звонка опять прозвенели, а пятого не прозвучало.. Решил убрать switch case (расписание сокращённых уроков удалил). На следующий день...
vortigont

Прошивка для паяльника Feizer PTS200 V2 ESP32

  • 7,140
  • 77
Электроный паяльник под жала-картриджи Feizer PTS200
Позволяет работать с картридж-жалами TS, T12.
Идет в комплекте со своим жалом на 100Вт при питании от PD 20В.
Построен на основе контроллера ESP32S2, прошивка открытая.
Я создал форк прошивки. Чисто из интереса есть планы её полностью переписать и привести к удобоваримому виду.

Если есть владельцы таких или интерес обсудить вопросы связанные с ШИМ и ПИД-регулированием нагревателя и пр - присоединяйтесь.

По оригинальной прошивке - это какойто наколенный скетч, а не код. Из особо ярких моментов:
— прошивка не использует ПИД регилирование
— ШИМ как таковой тоже не используется, нагреватель дергается туда-сюда от минимума до максимума, кроме как одном режиме 50% 20В, где максимум ШИМится.
— температура...
vortigont

Обсуждаем мат. алгоритмы работы с RGB панелями

  • 4,466
  • 54
Предлагаю здесь обсуждать алгоритмы обработки цветов, преобразований координат и прочее связанное с выводом на HUB75 RGB панели

Материалы по теме
LED dimming using Binary Code Modulation

Библиотеки для работы с RGB панелями:

Библиотекаплатформапримечание
DMD_STM32STM, RP2040автор на форуме @bort707
ESP32-HUB75-MatrixPanel-DMAESP32контрибьютор на форуме @vortigont

Проекты на форуме с поддержкой HUB75 панелей
WiFi лампа/гирлянда/информер ws2812/HUB75...
U

Куртка «Бейн»

  • 5,651
  • 0
Всем привет!
Поделюсь своими наработками по куртке с электроподогревом. У меня по ним уже сложился опыт аж из 2 разных штук :), и есть идеи для следующих. Первая версия представляла собой 4 аккума 18650, BMS, и трёхпозиционный тумблер для переключения между 1S и 2S. Больше всего намучился с нагревательными пластинами из вшитого в ткань провода МГТФ. Эта конструкция неплохо проработала уже 3 зимы, а единственное чего не хватало - это емкости побольше и автоотключения. Но тут я проникся Ардуиной и собрал следующего монстра:
photo_2023-03-08_20-15-11.jpg
Крутой корпус от повербанка с Алика, 10 аккумов 18650, Arduino Nano, акселерометр, термометр, энкодер, OLED экран, и 1300 строк кода! Ну и для такой крутости, конечно, крутое название (см. тему. Надеюсь до всех дошло) :)
photo_2023-03-08_20-15-05.jpgphoto_2023-03-08_20-15-06.jpgphoto_2023-03-08_20-15-09.jpg
Умеет...
vipappprograms

ARDUINO Arduino Computer

  • 3,230
  • 3
Arduino Computer - это мини компьютер

Последняя версия это: 13
Mishanya TS

ESP, IoT WiFi лампа - будильник. Обсуждение прошивки FieryLedLamp

  • 231,961
  • 1,554
Прошивка "FieryLedLamp" 128 эффектов в 1

Полнофункциональный web интерфейс для настройки лампы и управления эффектами. Семисегментный дисплей (TM1637). Озвучивание эффектов, времени и будильника "Рассвет" (DFplayer mini). ИК пульт ДУ (IR Remote Control). Часы реального времени (DS3231).

01Меню.jpg 02Главная.jpg 03Начальные.jpg 04Пользователь.jpg 06Цикл.jpg 08Рассвет.jpg 07Звук.jpg 09Мульти.jpg IP.jpg MQTT.jpg 05Оборудование.jpg

Версия FieryLedLamp v5.0...
TechnoMagic

Русский шрифт на LCD1602 | Учим китайский дисплей русскому языку

  • 12,982
  • 3
Приветствую всех ардуинофобов и ардуинофилов ‍
LCD1602 - один из самых популярных дисплеев из-за его дешевизны и простоты использования. Неприятность заключается в том, что нельзя выводить абы какие символы на дисплей, можно только те что уже вшиты в него на заводе. Обычно встречаются дисплеи с вшитыми китайскими и английскими буквами и цифрами. Существуют дисплеи с вшитой кириллицей (обозначаются маркировкой CT или CP), но их сложнее найти, а стоят они дороже. Этим постом предлагаем решение проблемы.

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

Демонстрация шрифта. В ролике заметно мерцание текста, в реальности этого не заметно.
...
CyberLab

ARDUINO Ардуино играет музыку на бокалах

  • 4,221
  • 28

Схема

glass-harp.jpg

Скетч
C++:
#include "Adafruit_NeoPixel.h"
#include "CyberLib.h"

#define DEBUG     false //false true включить режим отладки
#define DIR_1     D8_High
#define STEP_1    D9_High
#define HAMMER_1  D10_High
#define DIR_0     D8_Low
#define STEP_0    D9_Low            
#define HAMMER_0  D10_Low            
#define WS2812_PIN   11              // выход для подключения ws2812

#define step_num 400                // количество шагов на 1 оборот ШД. включен полушаговый режим для снижения шума
#define note_num 7                  // Количество нот-бокалов
#define step_note step_num/note_num // количество шагов двигателя между нотами. вычисляет автоматически
#define step_duration 950          // длительность шага влияет на скорость ШД. чем ниже значение тем быстрее , но есть вероятность пропуска шагов
#define ratio 1.3                   // коэфициент делитель длительности отрицательного...
Alfeo

ЭЛЕКТРОНИКА CH340G или CP2102

  • 8,470
  • 6
Встал вопрос. На Алиэкспрессе в наличии имеются платы NodeMCU с двумя вариантами USB-UART преобразователей CH340G и CP2102.
При этом цена различается, сразу напрашивается вопрос в чём главное отличие? Что прослужит дольше в условиях ежедневной перезаписи?
q1URtlP0CMo.jpg
Sergo_ST

ARDUINO Часы на ГРИ. Альтернативная прошивка

  • 334,482
  • 2,804
Альтернативная прошивка для различных проектов часов на ГРИ под 4/6 ламп.
Имеет большую гибкость настройки и немалый функционал на борту.

Актуальная версия прошивки находится здесь. Последняя версия 2.2.7 от 21.03.2025.

Видео-обзор прошивки:
Для настройки прошивки под другую разводку плат, отличающуюся от "Часов на ГРИ v2", необходимо указать пины подключения периферии в "connection.h" и настроить используемую периферию в "userConfig.h", "config.h".

Поддерживаются:
  • MH2024K-24*
  • GD3200B
  • YX5200-24
  • AB23A797393.1-74
  • AB23A795250.1-74...
Slenk

ARDUINO Цветомузыка на Arduino. FireEdition.

  • 219,568
  • 1,576
Всем здрасте) Представляю своё видение данного проекта.

В общем собрал систему на основе прошивки от technotrasher (за что ему респект). Ленту 30 диодов на метр и длинной 102 диода приклеил под подоконником на балконе. Решил добавить «Огонь» на Пёрлине, а дальше всё как в тумане…

ВНИМАНИЕ! Данная прошивка УСЛОВНО совместима с оригиналом от Гайвера. Отличается БОЛЬШИМ количеством дополнительных функций/настроек/эффектов, все подробности под спойлерами.
Прошивка хоть и основана на Гайверовской, но ощутимо отличается как по функционалу, так и по управлению и программной части. Поэтому далее по тексту будет не сравнение с оригиналом, а просто описание основных возможностей. В связи с тем, что проще указать, что в них общего, нежели перечислять отличия.
В прошивке несколько десятков...
HollolwHunter

Удобная и простая утилита для управления ардуино с компа

  • 7,157
  • 9
Приветствую местных ардуинщиков, хоть этот сайт конкретно про ардуино, речь пойдёт про python. Стоп стоп! не надо репортить или сваливать со статьи, данный проект хоть и написан совершенно на другом языке, но будет очень интересен всем, как и начинающих(особенно!) так и опытным роботоклепателям.

Я тут клепал очередной станок, и была проблема, как этой махиной управлять, кнопки геморно а с компа через терминал ide неудобно и долго. Так и родилась идея проги, способной быстро и удобно управлять любыми роботами, станками, стендами.
Так бы эта идея улетела бы в пустоту, как 1000+ идей для проектов, но тут с неба постучали, нам, дескать, проект нужен, и чтоб посложней да поинтересней, да и 500 строк кода - минимум. Я такой репу почесал, да и вспомнил про идею. Програмирование заняло больше недели, нет, АДСКОЙ НЕДЕЛИ БЕЗ СНА И ОТДЫХА, только вот школа давила на мозг и приходилась туда ходить(да, мне 16). А уже дома до поздней ночи сидеть за проектом. На домаху, я, разумеется, забил))...
Старик Похабыч

ARDUINO Скорость работы , энкодеры и RGB ленты, как же это все за.. связано ?

  • 2,403
  • 6
Очень часто встречаю подобные проблемы: "я напихал в ардуино по самое небалуйся, а оно перестало работать, что делать?" Будем размышлять и разбираться.
Теории будет мало. будут примеры.
И для начала берем простой пример написанный тут же на коленке. Тут к ардуино нано 168 по 3-му пину подключена LED лента 2м, на 120 светодиодов. Далее огонек по загорается случайным цветом от начала ленту к концу и тухнет обратно. И так до потери пульса в бесконечном цикле loop. И все работает без проблем!
C++:
#include <FastLED.h>
#define LED_PIN     3
#define NUM_LEDS    120
#define CHIPSET     WS2812
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];
#define BRIGHTNESS  128

void setup() {
  LEDS.addLeds<WS2812, LED_PIN, RGB>(leds, NUM_LEDS);
  LEDS.setBrightness(84);
}

void loop() {
  for (int i = 0; i < NUM_LEDS; i++)
  {
    leds[i] = CRGB(random(256), random(256), random(256)); 
    FastLED.show();
    delay(50);
  }
  for (int i = NUM_LEDS; i > 0; i--)
  {...
SashaPetrov

ARDUINO Пульт на arduino

  • 2,167
  • 0
Посмотрел я видео о консоли на ардуино и подумал - Можем повторить!
За основу взял макетную плату с 4 припаянными кнопками, nrf24l01, mpu6050, OLED(ssd1306) и arduino pro mini.
(Фото не сохранилось)
Работы предстояло много. Я начал с того, что определил где будут располагаться компоненты. После этого взялся за паяльник.
Начать решил с MPU, с ним проблем не возникло и он не менял своё место на плате. Конденсатор пришлось отпаять, он мешал дисплею.
За тем припаял nrf, его к слову не раз пришлось переносить.
1600276491493.png

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

Когда место на лицевой части платы кончилось я взялся за тыльную.
Там я разместил arduino, ams1117b и 3 резистора в обвязку к светодиоду.
1600278855617.png

Припаял...
kostyamat

ARDUINO EEPROM I2C 24Сxxx. Универсальный инструмент. (библиотека)

  • 19,324
  • 51
Во время создания прошивки для одного прибора, столкнулся с тем фактом, что мне нужно создать импровизированную Базу Данных, количество записей в которую может достигать пару тысяч. Понятно, что для такого количества данных, встроенного ЕЕПРОМ в Atmega328, явно недостаточно. Остановил свой выбор на микросхеме внешнего EEPROM, с поддержкой интерфейса I2C, 24-й серии, а точнее на 24C256. Перебрав кучу разных странных библиотек, понял что задержки чтения\записи меня совершенно не устраивают. К примеру нужный мне массив записей создавался более 10 минут (минут, Карл!), а поиск в этом массиве мог занимать более 15 секунд, что было совершенно неприемлемо. Мне нужна была реакция прибора не более секунды.
Почитав даташит на эти микросхемы, я узнал, что большинство из них умею писать\читать в страничном режиме. В связи с этим у меня встал вопрос о том, что нужно создать свой инструмент, который сможет работать в таком режиме, потому как практически все библиотеки использовали побайтовый...
kostyamat

ARDUINO Радио управление китайской магнитолой кнопками с руля.

  • 4,134
  • 3
Собственно сам проект тут https://github.com/kostyamat/Car-china-radio-remote-control стоит прочитать описание до конца.
А обсуждать можно здесь :)
На GitHub в readme проект обстоятельно расписан. Он уже закончен, и полностью реализован на макетной плате (не вижу смысла создавать печатку, у каждого будет своя конфигурация передатчика).
Реализацию можно посмотреть тут https://github.com/kostyamat/Car-china-radio-remote-control/tree/master/Examle build KIA Magentis

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

В моем случае, левый блок кнопок...