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

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

esp8266 вылетает с ошибкой

esp8266 Wemos D1 mini, Arduino IDE 1.8.5, ESP8266 core for Arduino 2.4.1

Скетч:

[code]
void setup() {
  Serial.begin(9600);
}
void loop() {
  unsigned long t = micros();
  for (long i = 1; i <= 2000; i++) {
    delayM(1000);
  }
  t = micros() - t;
  Serial.print("  t = ");   Serial.print(t); Serial.println(" us");
}

void delayM(long micr) {
  unsigned long tim = micros();
  do {}
  while (micros() - tim < micr);
}

[/code]

Результат:

Порт GPRSSerial и его данные

Хочу отправлять на GPRS Shield SMS с данными о состоянии некого оборудования. SMS формируется как строка с переменными, переменные разделяются символами - "vl=33*vh=51*vt_i=78*vt_a=146"

Принимаю Shieldом, передаю на Leonardo:

  if (!gprsSerial.available()){ //Если порт не готов, то выходим
    delete_str1 = "ОБРЫВ ПОРТА";
    return;
  } else {
    delete_str1 = "ПОРТ ГОТОВ";
  }

Переменная delete_str1 для проверки состояния.

Обрабатываю так:

Задача по изм.цвета

Добрый день. Помогите написать программу для Arduino.

Условие:При вращении энкодера по часовой стрелке меняются цвета от красного до фиолетового, а против часовой. Спасибо!

скетч ps/2 зависает

скетч ps/2 зависает на самом начале при попытки инициализации.

Вывод температуры с 2 датчиков с DS18B20 на OLED

Вывод температуры с 2 датчиков с DS18B20 на OLED LCD 0,96 128x32
это первый опыт програмирования arduino, не судите строго.
В конце кода в строка  display.println(); PT(Thermometer1); 
вывод значения температуры на дисплей происходит с переносом на следующую строку. Как пофиксить?
 
Должно быть у текста IN, и OUT
 

Прерывании Ардуино и Nextion

Здравствуйте друзя. Вот уже второй день ломаю голову над одной головоломкой. Суть в следующем: cделал диммер на ардуине из книги.

Cчитать частоту звука с динамика

Сделал простой генератор ультразвука с переключателем потенциометра(переключатель от 500Гц до 27кГц), хотелось бы еще получить график этой частоты, если брать с А2, то идёт график сопротивления потинциометра.

int potPin = A2;
  int val = 0;
  int soundPin = 9;
  
   
  void setup() {
  pinMode(soundPin, OUTPUT);
   
  }
   
  void loop() {
   
  
  tone(soundPin, map(analogRead(A2), 0,1024, 500, 27000));
         
  delay(50);

   

  }

можно ли через плоттер получить график частоты в Гц?

как срастить два кода в один

Прошу помощи. Я еще новичок в программировании.

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

Нашел два работающих кода: отдельно Enсoder с защитой от дребезга, и отдельно Таймер последовательности имп.

Вопрос тривиальный: как срастить эти два кода в один?

Код Enсoder 

Arduino pro micro устанавливает драйвера.

Здравствуйте, Arduino pro micro при подключении к компьютеру устанавливает дрова составного usb устройства и два компонента под названием arduino micro, на дуине лежит скетч, открывающий смд и печатающий одну команду. На ютубе видел несколько видео с про микро, на которых устанавливался только компонент для составного устройства. Подскажите пожалуйста в какую сторону гуглить, или сразу киньте ссылочку на статейку)

Подождать с условием. Как?

Приветствую.

Задача состоит в том чтобы запустить поворот устройства, подождать, пока оно повернётся на заданный угол и выйти из функции, вернув true. 

Если же ему не удалось повернуться, выйти по таймауту и вернуть false. 

Во время поворота основной код не выполняется, ждёт результата поворота.

 

Так-то оно работает. 

Но почему-то как-то кажется не изящным. 

Успокойте меня, пожалуйста, ну или посоветуйте, как правильнее. 

 

Спасибо.