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

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

вызов "долгой" функции, не прерывая работы основоного цикла..

Есть долгая функция, передает данные по GPRS на комп. Работает секунд 40. Задержки реализованны глупо через delay, диалоговую реализацию сеанса писать влом. Да и не в том порос... Вопрос в том, если способ выполнять основной код программы параллельно ? Типа переключать контент на время ожидания ответа ? "Многозадачность " отсюда http://robocraft.ru/blog/981.html пробовал, не работает у меня, т.к. я вызываю функции из разных потоков, и там используются прерывания... в общем, не сохраняются регистры...

Кто что посоветует ??

WEH001602 и Кирилица

Приобрёл OLED дисплей от Winstar.  http://www.promelec.ru/pdf/WEH001602CGPP5N00000.pdf

В нём есть несколько таблиц с символами, по умолчанию включена таблица "ENGLISH_JAPANESE CHARACTER FONT TABLE(default FT[1:0]= 00) " 24стр. даташита.

Но также есть и кириллица: ENGLISH_RUSSIAN CHARACTER FONT TABLE(FT[1:0]=10). Как её включить?

В этой статье http://we.easyelectronics.ru/part/oled-displey-winstar-weh001602.html автор пишет:

PHP + ComPort+Linux

Друзья помогите пожалуйсто уже совсем незнаю куда еще копать, ситуация следующая

Имеется Raspebery Pi + Arduino Nano v3 + светодиод на 13 ножке

Требуется при получении на ардуино например цифры 2 включения светодиода цифра 3 выключение

На малинке ардуина определилась как /dev/ttyUSB0

На ардуино создаю код

Программа по измерению тока

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

генерация значений от 0 до 360 каждые 10 секунд

Есть необходимость в генерации значений от 0 до 360 за 10 секунд и заново. Задержки и ++ не вариант т.к. тормозится вся программа. пробовал с привязкой к переменной millis(); 

void loop() 
{ 
  time = millis();
  if(time%100 == 0)
  { 
    alfa_grad = alfa_grad + 3.6;
  }
  if( time%10000 == 0) alfa_grad = 0;
  

где альфа это угол. Не получается, значения плавают, через монитор порта видно что даже не от 0 до 9 значения в последовательностях. Что можно исправить, или другие способы реализации?

1-Wire, притовится дачиком.

Добрый день! Не могу заставить Arduino стать датчиком DS18B20. Имеется система, в ней несколько температурных датчиков( ds18b20, по 1-wire, схема питания - внешняя, т.е. по питание идет по отдельному проводу), необходимо регулировать температуру, а поскольку нагревать датчики руками долго и хлопотно, было принято решение подменить их arduino. Используя библиотеку OneWire и примеры  смог считать адреса дачиков(ну и какую температуру они выводят). Далее использую библиотеку OneWireSlave, чтобы моя ардуина притворилась датчком( сами датчики отключаю). И вот здесь я встал намертво.

1-Wire, притовится дачиком.

Добрый день! Не могу заставить Arduino стать датчиком DS18B20. Имеется система, в ней несколько температурных датчиков( ds18b20, по 1-wire, схема питания - внешняя, т.е. по питание идет по отдельному проводу), необходимо регулировать температуру, а поскольку нагревать датчики руками долго и хлопотно, было принято решение подменить их arduino. Используя библиотеку OneWire и примеры  смог считать адреса дачиков(ну и какую температуру они выводят). Далее использую библиотеку OneWireSlave, чтобы моя ардуина притворилась датчком( сами датчики отключаю). И вот здесь я встал намертво.

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

Нашел вот такой код для управления бесколлекторными двигателями, но я его не понимаю. Совсем не понимаю, что там и за что отвечает. Если кто то может помочь то распишите комментариями к строкам прямо в коде, что за что отвечает и делает. Помогите пожалуйста!

Перезапись массива

Добрый день!

Пытаюсь перезаписать данные в массив, но возникает ошибка:

Blink.ino: In function 'void loop()':
Blink:7: error: redeclaration of 'int ara [5]'
Blink:5: error: 'int ara [5]' previously declared here
 
Как быть?
 
void setup() {                
}

void loop() {
  int ara[5] ={1,2,3,4,5}; 
  //.........
  int ara[5] ={3,8,1,2,9}; 
}

 

 

RFID свой чужой

Вечер добрый господа начинаю осваивать RFID. В наличии есть Arduino+Matrix II(em-marine)

все подключил как надо, есть тестовый скетч работает показывает НЕХ карт.

Хотелось бы добавить систему распознования карт, если карта прописана то зажечь зеленый светодиод, если карта не прописана то красный.