ARDUINO NRF24l01 (не могу вкл/выкл LED с помощью этого модуля)

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

✩✩✩✩✩✩✩
7 Апр 2019
7
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
7
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
1,457
295
Москва
wan-derer.ru
@Анатолий (Ghost-304), для начала посмотри канал "Заметки Ардуинщика". Познакомится со структурой скетча и основными приёмами программирования. Тогда ты хотя бы сможешь понять что пишешь и зачем.
 

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

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

Вложения

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

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

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

✩✩✩✩✩✩✩
7 Апр 2019
7
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
1,457
295
Москва
wan-derer.ru
@Анатолий (Ghost-304), Это проект не мой, а Гайвера.
Ну а твой доделывай по тому же принципу.
Передатчик:
C++:
если (кнопка_нажата) {переменная = 1;}
иначе {переменная = 0;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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