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

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

Стек или массив значений

Есть датчик температуры. Как выводить не только его текущие показания, но и те, что были 1, 5, 10 минут назад?

Вот мой код:

Семисегментный индикатор. Теория управления

Добрый день форумчане. Столкнулся с проблемой. Как можно выводить цифры на индикатор используя ардуинку?

Самое простое это зажигать в нужный момент диод. Это понятно. Интересует вопросы, такие как например люди используют для зажигания какой-либо цифры с помощью шестадцетиричного числа или двоичного?

Например вот

Залипает программа.

Здравствуйте, я пытаюсь собрать своего первого робота на arduino uno, но не могу решить одну проблему.

Вопрос по переменному сопротивлению

Добрый день!

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

сделать так,чтобы при изменении мы получали на равных промежутках значения от 0 до 10.
Т.е например 0-100 =0,100-200=1

и при этом не расписывая интервалы как здесь т.е краткий вариант?

Можно ли работать со Struct как с массивом?

Здравствуйте,  задача такая - опрашивать датчики в соотв. с заданными интервалами (для каждого интервал свой).

текущие значения датчиков храняться в структуре Current (13 элементов),

Каждый из элементов думаю сделать массивом, чтобы хранить данные о времени последнего обновления и интервале.

Чтобы не расписывать снова для каждого датчика идея была перебирать все элементы структуры в цикле - подобно массиву. Возможно ли это?

Представляю себе это примерно так:

Генерация синхроимпульсов

Здравствуйте! Извините за нубский вопрос...

Как мне реализовать подобное (см. картинку)? Т.е. нужно получить несколько синхросигналов синхронизированных между собой но с разной частотой и скважностью. Пробовал библиотеку PWM lib (http://forum.arduino.cc/index.php?topic=117425.0), но сигналы, естественно, разбегаются. Частота первого сигнала 15625 Гц со скважностью около 20%, второго - всего 50 Гц с такой же скважностью (да да, пытаюсь сделать синхрогенератор для видикона:)). Пологаю, надо курить прерывания по таймеру?)

увеличение значения переменной

друзья, помогите пожалуйста перевести с человеческого языка на с++ такую функцию:

дан отрезок времени (допустим 30 сек) и переменная z. при вызове функции - переменная z должна увеличиться с 0 до 100 за эти 30 сек, без delay

буду дико благодарен за любую помощь :) 

"мигаем светодиодом без delay" видел :)

как преобразовать uint8_t в строку?

Здравствуйте. Пытаюсь взять время из Tiny RTC и вывести на LCD KeyPad Shield.

#include <Wire.h>
#include "RTClib.h"
#include <LCD4Bit_mod.h>

LCD4Bit_mod lcd = LCD4Bit_mod(2);

void setup () {
    lcd.init();
    rtc.begin(DateTime(__DATE__, __TIME__));
}

void loop () {
    DateTime now = rtc.now();
    
    lcd.printIn(now.year());
}
Но не получается. Потому, что функция printIn() принимает в качестве аргумента строку (массив). Подскажите как это можно исправить.

Как работает millis()

Доброго времени суток.
Помогите понять как работает millis().

Вот например код:

Вывод данных только с одного датчика из десятков...

Надо отделить котлету от мух :)
Помогите вывести данные только с одного датчика.В сериал сваливаются все мои и соседские датчики :),
выглядит вот так:
  |id| |°C |% |
id:9C: 23.5:99
id:E8: -0.6:99
id:B8: 24.6:99
id:E8: -0.6:99
id:98: 36.6:99
id:E8: -0.6:99
итд
Хотелось бы вывести температуру с одного датчика id:Е8.
Как его вычислить из всего потока и представить в виде
float TempidE8;
TempidE8 = ??????
Serial.print(TempidE8);
Обьясните пжалуйста..