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

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

"Зависания"

нужна помощь знатоков Arduin'ы. Проблема такая, залита моя прошивка сложностью на уровне говна и палок, благо это всё работает, но время от времени прошивка "виснет" (так как у меня идёт опрос кнопки 9600 раз в секунду) и при этом когда она "виснет" Arduin' а выходит из режима бесконечного круга и тем самым вырубает реле котрое работает в промежутки этого круга, (при этом действии моргает светодиод 13 пина) а потом как будто ничего не было, начинает гореть TX и всё снова начинает работать как будто только что включилось.

Сделать имитацию сигнала

Доброго всем времени суток форумчане, подскажите пожалуйста, как можно съимитировать такой вот сигнал, посредствам Arduino UNO? Может быть есть какой-либо готовый скетч,который можно подправить.

Фото сигнала прикрепляю.

ps Ардуино начал заниматься очень недавно, не обессудьте за вопрос.

Не работает Stream->readString()

Добрый день!

Что-то третий день уже ковыряюсь и не могу понять в чем дело. Имеем ардуину, к ней через программный последовательный порт подключен SIM800L. В последствии с программного переедет на аппаратный, когда все заработает как надо. Имеется объект, в котором реализую функции работы с модемом. В конструктор передается указатель типа Stream на объект SoftwareSerial. Только вот не получается с него данные в виде строки получить.

AtTiny13. Таймер записывающий, делящий, включающий.

Добрый день, уважаемые обитатели форума. Искал подобные темы, но ничего похожего не нашел. Ситуация такая.
Имеем tiny13. По питанию подключен ионистор. По данным - две оптопары. Через одну подключено реле, через вторую предполагается контролировать отключение напряжения.
Пытаюсь получить следующий функционал:
1 - Включение питания - включается счетчик, отмеряющий время работы устройства. Каждые n секунд записывает значение в память.
2 - Выключение питания. Пропадает лог1 на выводе. В работу включается ионистор. Принудительно записывается время работы.

Arduino, Delphi, COMPort

Здравствуйте участники форума!

Пишу программу, которая управляет ардуино с компьютера (Вкл/Выкл реле, управляет шим сигналом).

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

Мне надо отправлять условно говоря символ "0" чтобы вкл. реле1

если "1" то выл. реле1, управляю шим так: если выбрана скорость 85 то отправляю с Delphi "9", если 170 то "8" и тд.

проблема такая: могу отправлять только 0..9 после этого порт видет только последний символ, например "10" увидет как "0" подскажите как это исправить?

Передача температуры 18д20 через nRF24L01 с одной промини на другую

Здравтвуйте! В ардуино новичек. Мой второй проект привел меня к багу. Суть проекта - передача температуры 18д20 через nRF24L01 с одной промини на другую. Очень долго не мог решить проблему (замолкания)... пока случайно не продублил одну строчку...  С одной строкой radio.write показание появляются на приемнике только 1 раз... С дублированием строки - цикл идет как надо... Помогите, мне страшно

 

Передатчик:

Измерение скважности сигнала

Добрый день! 

Прошу помощи в написании скетча либо в поиске готового проекта. Нужно измерять скважность сигнала частотой 60-70кгц с точностью +-10%. Подали сигнал, на LCD или в монитор порта выдало значение скважности. Если кто сможет помочь буду очень признателен. 

Получение данных по Bluetooth

Все доброго времени суток, есть у меня 2 платы и 2 Bluetooth модуля, хочу обеспечить корректную передачу данных между ними, поэтому мне и нужна ваша помощь.

Это код для передачи данных 

uint8_t* pstrac = (uint8_t*)&strac; // указатель на структуру
  for(size_t i = 0; i < sizeof(strac); i++){
    SoftSerial.write(*pstrac++); 
  }
}

С кодом выше проблем вроде как нет.

Это код для получения данных

отваливается отправка данных

Доброго времени суток есть код, который отправляет get запрос на web сервер и дергает файл php, файл php отправляет обратно клиенту т.е ардуино число 1 если все хорошо но проблема в том, что если смотреть монитор, то отправка происходит не всегда, на 5 или 10 раз т.е открыл монитор посмотрел, пришла единица или нет, если нет закрыл и т.д скажите пожалуйста в чем причина ? что так происходит ведь ответ должен приходить всегда или я ошибаюсь

сам код на ардуино

Программирование микроконтроллера

Всем привет, возникла проблема с кодом. Препод злюка не хочет помогать с этим. Суть проблемы. Пишу код на микроконтроллер Atmega 32, в Atmel Studio 7.0, возникает проблема что в этом коде не работает задержка. #define F_CPU 8000000 
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
 
char M, a=1, b=2;
 
 
int main(void)
{