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

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

Подключение би полярного ШГ

Доброго дня форумчане, есть шаговый двигатель, который хочу подключить через драйвер TA7774. Подскажите, на IN A и IN B с ардуино, какой сигнал и сколько вольт должно подаваться? Даташит смотрел, не ясно.

Ошибка

Ребят я новичок в среде arduino ide

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

вот ошибка
NTPClient.ino:23:20: fatal error: TM1637.h: No such file or directory
compilation terminated.
Ошибка компиляции.

DS18B20 Брак производства или неверный скетч

Добрый день. Столкнулся со следующей проблемой:
Есть 3 датчика, все три при подключении к Ардуинке выдают температуру 87-89. При этом реагируют на температуру адекватно, погружал в холодную воду и температура опустилась, подносил горячее - повышалась. Но комнатную температуру показывает 87-89. С сотыми, все как положено.
Использовал стандартный скетч OneWire Temperature и для перепроверки скетч из библиотеки Dallas - Single.
Менял в даллосовском скетче разрядность - точность меняется, но результат нет.

DS18B20 подскажите!

Добрый день, помогите пожалуйста с проблемкой.

Симулирую раюоту двух DS18B20 в протеусе с помощью скетча (Multiple, прилагается).

Показания с датчиков считываются, но иногда но иногда к показаниям датчиков "примешивается" цифра -127.

Всвязи с этим два вопроса:

1. Как сделать симуляцию нормальной, откуда эта "-127"? (вопрос не оч важный).

как добавить в скеч кнопку?

Подскажите пожалуйста как добавить кнопку в скеч прикреплённый ниже, чтобы при нажаите на кнопку сервопривод поворачивался? Данный скеч предназначен для RFID замка, но в неём нехватает кнопки чтобы открывать снутри.Пожалуйста помогите со скечем и куда кнопку подключать.

Как задать стартовое значение переменной?

При запуске программы значение переменной считывается из памяти EEPROM и в процессе регулируется программой, но проблема в том, что переменная типа long и ей нужно задать какое то стартовое значение

Как это можно сделать?

мистика! не меняется переменная в функции!

Есть переменная, которую я объявляю в глобале, сразу после строк #define вот так uint8_t val=0, прототип функции делаю так foo (uint8_t &val), в нутри функции  делаю так: if(что то там){val=666;}

почему то после таких трюков переменная val не меняет значения оставаясь нулем проверял до и после вызова функции в loop 

Копирование части массива

Всем бобра!

возникла задача скопировать из массива char кусок в 20 байт , начиная с ячейки на которую указывает i, в другой массив.

Попробовал было так:

memcpy(timeBuf, buffer[i], 20);

Но нифига не вышло. 

Пришлось писать тупо:

for(byte k=0;k<sizeof(timeBuf);k++)timeBuf[k]=buffer[i+k];

Так работает, но....   А поэлегантнее есть решение, подскажите плз.

Узнать состояние пина

Была тема на форуме, но ничем не закончилась особо. Вопрос такой у меня 9 пинов на выход работают. Надо узнавать их статус для того чтобы выводить в виде индикации через сдвиг. регистры на панель. Да могу применять перменные дополнительные т.е. в них записывать например 1 и потом эти переменные читать и с них уже делать вывод о том в каком состоянии пин. Но мне надо оптимизацию делать. Не хочу использовать лишние переменные. Когда со входными портами там все просто digitalRead, а если пины настроены на выход то как читать их состояние программно без переменных?

автополив на ардуине

добрый день. есть ардуина, есть часы реального времени и релюха. хочу сделать автополив цикличный раз в день, два, три (как выбиру). можно было бы запилить какой-нибудь delay или millis, но это не спасет меня от выключения искричества. для этого и приобрел часы 1307. вот, собственно и сам вопрос скорее по логике, нежели чем по коду: как увязать цикл полива в определенное время (через сутки, например) и текущую дату и, в случае отключения тока, не столкнуться с выполнением цикла заново? пока только пришел к подсчету дней с начала года и вычисления сл. дня полива.