ARDUINO Часы на ГРИ v2

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
357
564
Ветка обсуждения проекта Часы на ГРИ. Вторая версия.
Страница проекта на AlexGyver.ru: https://alexgyver.ru/nixieclock_v2/
Репозиторий на GitHub: https://github.com/AlexGyver/NixieClock_v2

Делитесь своими вариантами изготовления, модификациями и улучшениями!
 
Изменено:

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
Привет! Помогите пожалуйста, я уже неделю мучаюсь.
Дано: машинка на приводе мотор м-130 (управляется через L298 IN1, IN2, ЕNB) на управлении серво MG-90 (управляется аналоговым входом arduino nano). То есть IN3, IN4, у меня свободны и как раз под LED 2Watt = 3В х 0,3А х 2шт.(фары)
Вопрос: как в скетче включать свет фар? Нужно просто вкл/выкл.
nrf24l01 принимает/передает 0-255 значений от 0-127 на серво и от 128-255 на привод у меня в скетче
как правильно разбить сигнал?
(ребенок хочет и мигалку, но это я сам пойму, как только увижу в скетче использование digital/цифровых сигналов на передатчике и приемнике. сейчас все на аналоговых у меня)
видео тут:
https://disk.yandex.ru/client/disk/машинка РУ
 

Вложения

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
@Анатолий (Ghost-304),
1. Тебе обязательно управлять всем одним байтом? Может, отправлять два?
2. Тебе обязательно иметь 128 положений сервы? 64 или там 32 мало?
1. мне не понятен принцип msg [1], дальше везде msg [0] - это и есть один единственный пакет?... Короче, мне бы понять разбитие пакетов (один на аналоговые сигналы, а второй и последующие на цифровые).
Ведь 1 байт это же 8 бит (бит=1, 0) у меня, если я правильно понимаю 8 байт под аналоговым управлением обоими моторами (серво 0-127 и привод колес 128-255).
2. Конечно хватит и 64 положения сервы))) в песочнице ведра объезжать... Как бы мне цифровой канал на вкл/выкл от тактовой кнопки задействовать (если нет, то и от переключателя можно)
 
Изменено:

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,003
406
Москва
wan-derer.ru
@Анатолий (Ghost-304), для начала посмотри канал "Заметки Ардуинщика". Познакомится со структурой скетча и основными приёмами программирования. Тогда ты хотя бы сможешь понять что пишешь и зачем.
 

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
@Анатолий (Ghost-304), для начала посмотри канал "Заметки Ардуинщика". Познакомится со структурой скетча и основными приёмами программирования. Тогда ты хотя бы сможешь понять что пишешь и зачем.
В том то и дело что у Алекса Гайвера скопировал скетч, чуть доработал (остановка мотора), а больше про эти модули нет информации. Я прошу только показать как отправить/принять цифровой сигнал (лог 1 или лог 0)
По аналоговому приему/передачи мне понятно (переменная map задаёт значения от 0 до 255 на передачу, что в приеме от 0В до +5В), а цифровой 1 (+5В) или 0 (-gnd) как отправить?
всего то и нужно вкл или выкл свет.

@Анатолий (Ghost-304), для начала посмотри канал "Заметки Ардуинщика". Познакомится со структурой скетча и основными приёмами программирования. Тогда ты хотя бы сможешь понять что пишешь и зачем.
подскажите хоть ник к кому можно обратиться за таким разъяснением, я понимаю, что дело простое, где ответ найти не знаю. Посмотрите скетч пожалуйста! Пульт - это два потенциометра (на серву и привод колес) и тактовая кнопка (свет в плане, вот её и нужно прошить в скетче)
 

Вложения

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
@Анатолий (Ghost-304), Посмотрел и сразу ничего не понимаю. Вот это
C:
val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 127),msg[0] = val_1,radio.write(msg, 1);
что означает?
Это вообще работает?

Вот проект, который ровно то что тебе надо
Работает))) на видео всё в норме. А твой скетч я видел и скачал его давно, только не понял его работу с кнопкой пока что. Буду пробовать... Спасибо.
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,003
406
Москва
wan-derer.ru
@Анатолий (Ghost-304), Это проект не мой, а Гайвера.
Ну а твой доделывай по тому же принципу.
Передатчик:
C++:
если (кнопка_нажата) {переменная = 1;}
иначе {переменная = 0;}

отправить_переменную();

далее_про_серву;

Т.е. на включение фар отводим значение 1, на выключение 0. Соответственно, эти значения надо исключить из допустимых для сервы. Т.е. диапазон для неё будет не 0...127, а 2...127

Приёмник:
C++:
если (принятое_значение == 1) {включить_фары();}
если (принятое_значение == 0) {выключить_фары();}

далее_про_серву;

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

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
@Анатолий (Ghost-304), Это проект не мой, а Гайвера.
Ну а твой доделывай по тому же принципу.
Передатчик:
C++:
если (кнопка_нажата) {переменная = 1;}
иначе {переменная = 0;}

отправить_переменную();

далее_про_серву;

Т.е. на включение фар отводим значение 1, на выключение 0. Соответственно, эти значения надо исключить из допустимых для сервы. Т.е. диапазон для неё будет не 0...127, а 2...127

Приёмник:
C++:
если (принятое_значение == 1) {включить_фары();}
если (принятое_значение == 0) {выключить_фары();}

далее_про_серву;

И да, при такой структуре скетча я бы добавил паузы между отправками чтобы скетч на той стороне успевал отрабатывать свой код.
Принцип понял, теперь с отправкой/приемом надо разобраться, переменная будет boolean наверное. Спасибо!
 

Анатолий (Ghost-304)

✩✩✩✩✩✩✩
7 Апр 2019
6
0
@Анатолий (Ghost-304), Это проект не мой, а Гайвера.
Ну а твой доделывай по тому же принципу.
Передатчик:
C++:
если (кнопка_нажата) {переменная = 1;}
иначе {переменная = 0;}

отправить_переменную();

далее_про_серву;

Т.е. на включение фар отводим значение 1, на выключение 0. Соответственно, эти значения надо исключить из допустимых для сервы. Т.е. диапазон для неё будет не 0...127, а 2...127

Приёмник:
C++:
если (принятое_значение == 1) {включить_фары();}
если (принятое_значение == 0) {выключить_фары();}

далее_про_серву;

И да, при такой структуре скетча я бы добавил паузы между отправками чтобы скетч на той стороне успевал отрабатывать свой код.
извините, но это ****@ конечно, две недели убил на бестолковый передатчик nrf24l01, так и не заработал как надо. Ваш скетч для использования движкового потенциометра на уменьшение яркости светодиодов, а у меня джойстик на мотор (от 540 до 0 и от 540 до 1023), как значения разбить на вперед (от 500 до 0) и назад (от 600 до 1023) я так и не сообразил.
подскажите литературу. Видосы Гайвера просмотрел, детально не разбирает он. У меня два варианта скетча на приемник и передатчик и тот, который мне понятен более, не понятен Вам, как придти к правильному и простому решению по включению бонального фонаря на приемнике?
 
Изменено:

Nyancat

★✩✩✩✩✩✩
28 Июн 2019
2
16
Несколько раз покупал лампы, т.к. половина не работала.
Впервые пробовал что-то сделать из эпоксидки - это было больно.
Добавил в редакторе плат вывод единственного не занятого цифрового пина и приделал на него 2 диода ws2812.
Получилось совсем не идеально, но в целом результат доставил.

ZbzB3KrNhGc.jpg fRtewwnp5yE.jpgSiiH2NtrF94.jpg
 

Taras

★✩✩✩✩✩✩
7 Окт 2019
1
15
Всем привет.
Мой вариант корпуса. Вырезан лазером из 3мм черного акрила. Собран на 30 мм и 4 мм М3 стойки. В прикрепленном файле SketchUp проект.

UPD. Прикрепил еще dxf файл.
20191006_233839.jpg20191006_233857.jpg20191006_233934.jpg20190921_122812.jpg
 

Вложения

Изменено:

suxarik

★★★✩✩✩✩
15 Янв 2019
186
114
мой простенький вариант корпуса подходит только под мои уменьшенные платы
 

Вложения

Изменено:

DmitryM

★✩✩✩✩✩✩
30 Янв 2020
22
47
Если кому то интересна альтернативная прошивка для часов, можно скачать здесь:
https://drive.google.com/file/d/1cR2EATT_R18UF6N8bcieeYNyukLB55KM/view?usp=sharing

Сделана на основе 2.5. Я попытался структурировать код и сделать его более легко читаемым и поддерживаемым. Другое управление по сравнению с оригиналом. Есть настройка не только времени, но и даты. Настройка перехода день-ночь. Индикация порядкового номера эффекта/режима подсветки при переключении. Трехрежимный будильник(однократный, каждодневный и по рабочим дням). Поддержка как активного буззера так и dfplayer mini(только mega328) в качестве будильника.
Подробнее все описано в заглавном файле скетча. Задавайте вопросы, пишите пожелания.

Библиотеки в архиве, никаких других не требуется.

Чтобы подключить DFPlayer вместо пищалки:
Заменить резистор от 2 пина ардуино с 100 Ом на 1 КОм. Подключаем DFplayer так:
RX на "+" куда паяется пищалка
TX на 13 пин ардуино, но можно и не подключать
GND и VCC +5V берем из удобного места

смотрим чтоб в скетче в заглавном файле была НЕ ЗАКОМЕНТИРОВАНА строчка: #define ALM_DFPLAYER

Так как здесь сообщения удаляются пишите мне вопросы в личку. Или можно сделать темку где нибудь в другом месте.
 
Изменено: