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

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

Что "стряслось" с компилятором?!?

Вот текстовка хидера:


#include <inttypes.h>

#define pin50 {PORTB,3}

typedef struct{
  uint16_t port;
  uint8_t  mask;
} Pin;

extern "C"
{
  void setPin(Pin p, uint8_t val){
    if(val) p.port |= p.mask;
    else    p.port &= ~p.mask;
  }
}

Вот скетч:

Выполнение процесса по точному времени

Уважаемые, подскажите как реализовать алгоритм срабатывания реле по точному времени, например 8.00 и 20.00??? Ардуина имеет выход в инет, может как через синхронизацию по ntp, что-то не нашёл примеры реализации.  

Несколько датчиков влажности почвы

Привет. Только начинаю разбираться с Arduino. Подскажите, как то можно считывать данные, если подключить около 5-10 датчиков влажности почвы через бредборд?

проблесковые маяки

здравствуйте. помогите пожалуйста исправить ошибки в коде.

Использование библиотеки DallasTemperature - тормозит несколько секунд

Здравствуйте! Написал вот такую функцию считывания температуры, при работе который программа начинает тормозить, как будто где то delay стоит. Секунды на часах начинают тормозить, на кнопке перестаёт реагировать. Методом исключения нашёл что тормоза начинаются когда срабатывает строка float temperatureNow1 = sensorTemperatureDT1.getTempCByIndex(0);

генератор прямоугольных сигналов

Здравствуйте всем тема уже всем знакомо у кого есть ссылка может поделитесь

Включение - работа - выключение

Прошу помочь с кодом. При срабатывании датчика движения (PIR) зажигается свет. Вопрос: можно ли сделать выключение света при повторном срабатывании этого датчика? Или требуется применение другого датчика? 

Данные из COM порта

Здравствуйте. Имею такой код. Как мне сделать, чтобы при отправке в порт, скажем, числа "13" моё условие работало и светодиод загорался.

 

Вопрос по созданию функции

Есть код в котором для кадого выхода (выхода от 2 по 5, всего 4) повторяется участок:

Получение части от числа

Товарищи, помогите, пожалуйста.
Ниже код, с помощью которого хочу получить часть от целого, значение которой кладётся в переменную _tm, но по непонятным мне причинам, в _tm всегда уходит 0. Как с этим справиться?
 
int time = 90;
byte cycle = 1;

void Cycle(){
  
  int tm = time;
  int _tm = 0;
  while (cycle &lt;= 3){
    switch(cycle){
      case 1:
        Serial.println(tm);
        _tm = round(tm / 100 * 20);
        Serial.println(_tm);