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

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

Как сделать таимер

Всем привет
мои первый проект и мне нужна помощь  
 

Отстают millis() и micros() при совместном использовании I2C OLED дисплея и INA226

Пытаюсь сделать измеритель Ёмкости и мощности заряда/разряда АКБ и столкнулся с такой проблеммой:

При совметном использовании nano и I2C OLED дисплея и INA226 отставать millis() и micros()

За минуту счетчики время отстают ~7 секунд

Arduino погодная станция(Oregon) часы

Остался датчик от погодной станции Oregon, хочу сделать выводить температуру на экран и заодно время/дату. 

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

В настоящий момент что работает.

1. Выводит время, дату.

2. Выводит температуру

Что хочется:

TFT 3.2 v2.0 показывает в негативе

Ребята, подскажите пожалуйста  - собрал пару конструкций на дисплее 3,2" TFT - всё работает наура. Подключил пару вновь пришедших таких же дисплеев - новость - всё работает, но картинка в негативе. Всё различие в дисплеях - на новых сзади стоит надпись "v2.0", в остальном никаких различий. Что за хрень? Может библиотечка есть какая другая для этого дисплея?

Замена кнопок энкодером

Прошу помощи. Для одного своего проекта мне понадобилось переписать в готовом коде управление энкодером вместо кнопок. Пины с прерыванием заняты и я пользуюсь библиотекой Encoder без использования прерываний.

Вот пример того как бы я хотел чтобы работал энкодер:

Каскад сдвиговых регистров 595

Приветствую.

Вчера схемку собрал, а сегодня всю бошку сломал, как передавать биты в последующие регистры. Примеры смотрел, но что то не догоняю. С одним регистром проблем нет, но как дальше? Если таких регистров штук 10 будет?

Помогите понять условие (код)

Всем привет.

Разбираюсь с SIM900. Не очень понятно как работакт код примера:

Вопрос по MQTT

Вопрос можети нубский, но чёт не могу сообразить ( нуб нубом) как в функции void loop() получить значение топика чтобы логику писать в нём а не в нутри void callback а в void loop(), а то во всех примерах разбор подпискии идёт в нутри void callback

как заменить delay

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

  for(int brightness=0;brightness<=255;brightness++){
    analogWrite(PIN_alarm_LED, brightness);
    delay(10000); 

Все работает отлично, только delay останавливает остальные действия ардуины, подскажите как поменять delay на Millis. Все примеры с Millis какие находил не смог связать вместе. Спасибо! 

 

вопрос по памяти и не стабильной работе

Добрый день!

такой вопрос:

при компиляции кода выдается сообщение - Глобальные переменные используют 1805 байт (88%) динамической памяти, оставляя 243 байт для локальных переменных. Максимум: 2048 байт.

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