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

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

wiring, использование delayMicroseconds на частотах кварца, отличающихся от 8,16,20

Использование "нестандартных" частот кварца для Arduino связано с самоделками. Однажды запустив на 12MHz кварце (на Atmega16A) пример программы (из ArduinoIDE) для LCD дисплея, я получил глюки, которые, как потом выяснилось, были связаны с задержками, которые необходимы при работе, например, с дисплеем (инициализация и т.п.). Кому скушно читать это, смотрите выводы в конце статьи.

Умный термостат (как учитывать тепловую инерцию?)

ЗАдача казалось бы проста - удерживать температуру внутри заданных рамок min и max ниже комнатной (т.е. своего рода холодильник).

первый приходящий в голову способ:

if (t>=max) {включать охлаждение}

esle if (t<=min){выключать охлаждение}

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

Световой диммер

Собрал эту схему: http://cxem.net/arduino/arduino71.php. Если принудительно подать высокий сигнал на третий цифровой вывод, то семистор открывается, но обрабатывать прерывания с второго цифрового пина(датчик пересечения нуля(4n25)) ардуина  не хочет. Использовал я про мини.

Скетч:

Serial port, помогите найти ошибку

Написал как начинающий для Ардуино Pro-Micro  два скетча

https://www.sparkfun.com/products/11098

 

- первый скетч включает локальные светодиоды LED1 LED2  при активности локальных входов, работает Ok. LED3 программно инвертированный светится, тк данных в порту нет

Маленькая - но очень полезная хитрость

При написании больших программ в среде Ардуино очень неудобно

бегать по экрану когда нужно посмотреть куски программы внизу или вверху.

Это можно упростить сделав копии этих "кусков" и сохранить их в папке самой программы 

с расширением *.c предварительно закоментировав весь листинг "куска"

Теперь при работе с основным листингом вверху появится ярлык этого "куска"

и одним нажатием мышки он у вас перед глазами!

Вызов библиотеки из библиотеки

Добрый день!

Подскажите как подключить библиотеку в своей библиотеке?

Как ни подключаю, все время выдает, что нет объявления.

UNO+GSM

заливаю такой скетч 

Точный таймер

Имеется Arduino Uno.

Задача - каждые ровные(!) 5 минут опрашивать датчики и отправлять данные - т.е. данные должны уйти например в 9:00, 9:05, 9:10 и т.д.

Логично предлположить, что delay(300000) нам не подойдет - проблематика в том, что опрос датчиков и отправка данных занимают время, и, самое главное, время всегда разное.

Как решаются такие задачи? И решаются ли без датчиков точного времени (NtpClient?)?

 

код ардуино не работает на attiny

кто может подсказать почему данный код прекрасно работает на atmega328, но неправильно работает на attiny85?

помогите новечку

Всем доброе время суток.
прошу о помощи для создания такой функции:
нажимаю на S1 не отпуская, через одну секунду загорается LED1 через две секунды загорается LED2 на одну секунду а потом выключается через пол секунды загорается LED3 
отпуская S1 выключается LED3 LED1 остается включенным,
нажимаю S2 и отпускаю через 5 секунд выключается LED1.
как можно сделать без delay?
Всем огромное спасибо спасибо за ранее.