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

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

Servo.h и таймеры

Доброго времени суток.

Порылся в файле "Servo.h", из него ясно, что для управления сорока восемью (48) сервоприводами (для контроллера ATMega2560) библиотека <Servo.h> используются четыре 16bit таймера, при этом для управления двадцатью четырьмя (24) - всего два:

Запись в EEPROM , формат float - прошу проверить

#include <OneWire.h>
#include <EEPROM.h>
#include "Struct.h"
#define yes_Serial 1
#define yes_EEPROM 1
OneWire DS ( 6 );
byte data[ 12 ];
byte addr_OUT_heater[ 8 ] = { 0x28 , 0xFF , 0x80 , 0xB0 , 0x66 , 0x14 , 0x03 , 0x53 }; // датчик подачи
byte addr_IN_heater[ 8 ]  = { 0x28 , 0xFF , 0xF8 , 0x68 , 0x63 , 0x14 , 0x02 , 0x76 }; // датчик обратки
byte addr_OUT_side[ 8 ]   = { 0x28 , 0xFF , 0x86 , 0x69 , 0x63 , 0x14 , 0x02 , 0x36 }; // датчик уличный

Изменение переменных с android телефона.

Добрый день! Подскажите новичку в какую сторону копать... На данный момент есть такое: 

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

Программа взятая из книги по изучению Ардуино. Мне как новичку не до конца ясно значение нескольких строк. А именно Функция сглаживания дребезга которая ниже описана в коде. Как я понял, мы создали собственную булеву функцию function , и изначально last=false, потом мы считали curren. И если last=false и curren==true, тогда делаем программную задержку 5 мс, и опять считываем, и потом возвращаем значение curren.

Проблема с меню для LCD

int bolPin=5;
int mPin=6;
int menPin=7;
int m=0;
int val3 = 0;
int h=0;
int dh=0;
long previousMillis = 0;
long interval=3000;
#include <Wire.h>
#include <LiquidCrystal.h> 
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // (RS, E, DB4, DB5, DB6, DB7)
void setup() { 
   pinMode(bolPin,INPUT);
   pinMode(mPin,INPUT);
   pinMode(menPin,INPUT);
   lcd.begin(16, 2);                  // Задаем размерность экрана
void loop() { 
unsigned long currentMillis=millis();
   //Обработка нажатия кнопки M
  if (digitalRead(mPin)== HIGH)
  {
    m++;

Управление роботом на сервомоторах через ИК

#include <IRremote.h>
#include<Servo.h>

Servo servoG1;
Servo servoV1;
Servo servoG2;
Servo servoV2;
Servo servoG3;
Servo servoV3;                      
Servo servoG4;
Servo servoV4;
int RECV_PIN = 11; // назначаем 11-ый вывод для подключения фотоприемника
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  servoG1.attach(9);  // s is on pin 8
  servoV1.attach(2);
  servoG2.attach(3);

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

Добрый день!
Прошу прощения за возможно глупый вопрос, но только начинаю осваивать программирование:
Есть необходимость отключать нагрузку, скажем, через 4 часа и есть RTC 3231 с которого считывается текущее время, примерно так
 

t= rtc.getTime()
currentHour = t.hours

Теперь мне к текущему часу надо прибавить 4, чтобы получить час выключения, однако переменная currentHour всегда обновляется, а значит время требуемое время отключения offHour никогда не настанет.
 

Помогите привести код в порядок

const int dataPin = 8;
const int latchPin = 9;
const int clockPin = 10;

void setup() {
  pinMode(dataPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
}

void loop() {
  for (int z=0; z <= 9999; z++) {
    displayNumber(z, 100);
  }
}

void displayNumber(int number, int duration) {
  int units = number % 10; //Получаем единицы
  int dozens = number % 100 / 10; //Десятки
  int hundreds = number % 1000 / 100; //Сотни
  int thousands = number / 1000; //Тысячи
  

Arduino Mega не работает с библиотекой SoftwareSerial.h

Доброго дня, вот решил вынести вопрос на обсуждение поскольку не работает библиоткека SoftwareSerial.h  В чем причина никак не могу понять.

что пробовал:

 залил скетч из примера 

отправка данных по запросу через GPRS SIM800

Добрый день. Есть задача, отправлять состояние датчиков по GPRS на сервер в 2 вариантах:

1 - когда состояние какого-либо датчика изменилось;

2 - принудительно обновить состояние по запросу от сервера.

1 вариант проблем не вызвал, но как правильно реализовать 2 - тупик. Ничего кроме как ардуиной проверять определенную страницу на наличе флага в голову не приходит. Но это здорово ударит по трафику. Может есть вариант лучше? Ткните носом, пожалуйста.