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

Вопросы по программированию Arduino.

HELP! переключение режимов (авто \ ручной) работы робота с ИК пульта.

Помогите с кодом. Подскажите как правильно сделать такое: 

1. Есть робот с 2-мя двигателями, ИК приемником, ИК пультом, Ультразвуковым дальномером.

2. Алгоритм работы. При включении питания робот ждет сигнал с пульта. Есть запрограммированные 4 кнопки ( ВПЕРЕД, НАЗАД, Разворот налево, Разворот направо) . Еще одна кнопка - Включение Авто режима.

 Авто режим.- Робот управляется от Ультразвукового дальномера.

Шаговый двигатель + LCD

Доброе время суток!

В программировании новичок, только начал осваивать язык arduino (или правильно С/C+). Нужна помощь в корректировке кода для управления ШД с выводом информации на LCD. Имеется биполярный шаговый двигатель, драйвер шагового двигателя на микросхеме А4988, LCD дисплей WH1602B и Arduino UNO.

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

Отправка данных на сайт через FTP

Хочу считать данные с потенциометра и отправить их на удалённый веб-сайт, с помощью АТ команд.

С Ардуино работаю недавно. Подскажите что следует исправить в коде.

Как снимать пиковые значения с аналового входа???

Как снимать пиковые значения с аналового входа???

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

Arduino DUE + nRF24L01

Здравствуйте. Сделал беспроводной датчик температуры и влажности на основе DHT22, Arduino Mini PRO и nRF24L01 (передатчик). Сделал приемник на основе Arduino Mini PRO и nRF24L01 (приемник). Данные температуры и влажности передаются без ошибок, все хорошо. Подсоединил nRF24L01 к Arduino DUE и сделал его как приемник. Данные получает, но не верные! То есть Arduino Mini PRO передает данные на Arduino DUE с ошибками, а Arduino Mini PRO на Arduino Mini PRO - без ошибок. Код не менял. Может кто знает в чем дело?

Код приемника: (Arduino DUE)

Кнопка триггер и светодиод

void led()
{
        led_state=0; // статус светодиода
        
         if (butPush == 1 && led_state == 0) {digitalWrite(LED_PIN, HIGH); // butPush  кнопка на аналоговом порте
             led_state == 1;
             delay (50);}
  
        if (butPush == 1 && led_state == 1) {digitalWrite(LED_PIN, LOW);
             led_state == 0;
             delay (50);}
  
 }

Вывод на LCD текста и данных в одной строке

Добрый день! Возникла неприятная мелочь - в функции lcd.print() не получается объединить строковый и числовой типы, т.е. вот так не получается:

lcd.print("температура" +  h_temp);

Из-за этого приходится городить целую гору лишних вызовов этой функции и фунции, перемещающей курсор. Есть какой-нибудь выход?

Движение по траектории

Пожалуйста помогите.

Как правильно писать программу. Робот идет по определенному траектории. 3 дня не могу решить

Вот траектория.  

Как опрашивать DS18B20 в фоне?

Опрос двух датчиков занимает почти секунду:
requestTemperatures: 752 ms
getTempCByIndex: 72 ms
 
Вот фрагмент кода:
      long processTime = millis();  // Проверяем, сколько времени занимает запрос к датчикам
      sensors.requestTemperatures(); // Send the command to get temperatures
      Serial.print("requestTemperatures: ");
      Serial.print(millis() - processTime);
      Serial.println(" ms");