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

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

Как изменить стоку в массиве строк?

Объявляю массив строк, вторая строка пустая, в нее надо переодически закидывать данные с двух датчиков температуры во float формате. Как это сделать, помогите?!

char* arreyMnuTestTemp[]={"  TecT TeM-Pbl  ",""};// меню "Тесты"

 

Таймер обратного отсчёта нa Uno

Недавно начал работать с микроконтроллерами и никак не могу понять как это сделать! Волнует только часть с программированием! Как вывести  на 4 разрядный индикатор с таймером от 60 до 0 и без делея между секундами.! Просьба, напишите код, помогите молодому, начинающему програмисту)

 

RFID Wiegand не правильно читает клучи.

Добрый вечер, нашол код для чтения RFID меток и переделал его немного для работы с протоколом Wiegand.

Казалось бы всё супер но гад читает почемуто не правельно ключи.

Вот к примеру номер ключа который на нём написан. 0000728714

А Вот что выдаёт сериал при чтении этого ключа.

Waiting PICCs to be scanned
Scanned PICC's UID:
117117117117
You shall not pass

Ниже Прикладываю Код Ардуино:

LM35DZ датчик температуры

Подскажите почему LM35 показывает всего 1 градус когда во всех примерах он показывает 28 градусов а вот в этом скетче не хочет помогите решить задачку(.
 
#include <OLED_I2C.h>
OLED  myOLED(SDA, SCL, 8);
extern uint8_t MegaNumbers[];
extern uint8_t RusFont[];
extern uint8_t SmallFont[];
extern uint8_t term[];
extern uint8_t grad[];

#include <DS1302.h>
DS1302 rtc(2, 3, 4);
Time t;

#include <OneWire.h>
OneWire ds(8);

int x = 0;


void setup() {
  
  myOLED.begin();

перезагрузка при передаче по uart

Arduino UNO поключен к ПК (ubuntu) по usb.

При записи в "/dev/ttyACM0" ардуино перезагружается - не зависимо от того, какой скетч там запущен, т.е. даже если с Serial не работает вообще. Соответственно ни о какой передачи данных речи быть не может.

Ребутит даже при настройке ком-порта:

sudo stty 9600 raw -echo -F /dev/ttyACM0;
 

Проблема со считыванием аналоговых входов: термо датчик LM35 + LDR

Добрый вечер. 

Мой проект дня:

Термофото плейграудн на Arduino Nano с LM35, LDR, NOKIA 5110

A0 - LM35

A1 - LDR (с внутренним подтягивающим резистором)

Пожиратель времени Serial.print().

Пытаюсь решить задачу, в которой есть некоторое ограничение на время выполнения одного цикла loop().

И, конечно, программа не обходится без выдачи сообщений. После нескольких неудачных попыток появилась мысль измерить время выполнения ... выдачи сообщений в порт. И тут я сильно удивился - 34 миллисекунды!!! Это уже больше половины того, во что я хотел уложится.

Подскажите, пожалуйста, как можно уменьшить время???

if-else switch

Вопрос на грани идиотизма:

Есть 2 подпрограммы запускающиеся IF зависимо от значения переменной (до 10 и больше 10). Переменная в процессе меняется и else ее отрабатывает запуская вторую подпрограмму. В саse есть break для такого гемора, но нету "диапазона", а только четкие значения. Как это обойти не вводя новую переменную для кейса?

Чую что туплю, но не могу понять где.

 

Матрица для измерения сопротивления.

Всем дня доброго.

Есть следующее:

Представим себе 3 полки, в каждой полке по 10 ячее.

На каждой ячейке бегунком меняется сопротивление.

 

НУЖНО:

Получить в какой-то момент времени это значение.

Как получить его если бегунок всего 1 я знаю.

Вопрос заключается в следующем. Как мне избавиться от большого кол-ва проводов, и сделать это с ШИМ модуляцией.

т.е. есть 5V, на каждой полке всего 2 провода +-, минус идет на аналоговый вход. Как программно понять чтобы считалось значение со 2-3-4-5 ячейки?