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

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

arduino передача по radio nrf24l01

Добрый день. Есть задача заставить радио передавать текстовое значение и численный массив, кто подскажет как это реализовать программно? Я так понимаю нужно преобразовать данную команду(data это массив вещественных чисел)
radio.write(&data, sizeof(data));
PS если бы нашёл в интернете, на форум бы не писал

обмен данными с пк

подскажите пожалуйста как лучше и проще организовать схему обмена. 

сейчас у меня вот так

void loop() {

if (Serial.available() > 0) {
    Serial.readBytes(data, 10);   
  
if(dataFromApp[0] == 0x47){
//тут делаем что-то полезное
}

}
}

и отправка со стороны компьютера -

 @IBAction func send(_ sender: Any) {
    let data = Data([0x47]) 
    self.serialPort?.send(data)
 }

 

но как я понимаю это не корректное решение

Управление переходом в спящий режим

Здравствуйте! Хотел бы обратиться за конструктивной помощью. Схема следующая: На ардуино висят кнопка и светодиод. Светодиод по стандарту горит постоянно. Счетчик отсчитывает 60 секунд, после прохождения которых ардуино уходит в сон в режим Power down. На кнопке лежит 2 задачи: в активный период работы ардуино при нажатии на неё должен сбрасываться счётчик, тем самым откладывая на неопределённое время уход в сон; во-вторых, кнопка служит для пробуждения из сна и возобновления "активного" режима работы.

подскажите с таймером

подскажите пожалуйста. разбираюсь с работой таймера. 


void setup() {                           
    TCCR1A = 0b00000000; 
    TCCR1B = 0b00001101; //по совпадению, кд 1024
    OCR1A = 7826;       // 16 000 000 / 1024 = 15625 / 0,5 = 7826 (прерывание каждые 0,5 сек)
    TIMSK1 |= (1 << OCIE1A);  // включение прерываний по совпадению
    sei();
}

ISR( TIMER1_COMPA_vect  ) {
  Serial.println("tik");
}

вот так все вроде работает как следует. 

Как разделить строку?

Пишу проект который через блютус получает строку данных для изменения режимов настроек и т.д. на адресной LED ленте

Вход получается разной длинны, но памяти не жалко

Прошу помочь разбить для примера строку "mode 0 255 255 255" и записать в массив bt_input[] любой длинны

Обьявление переменных типа String мешают работать OLED1306 с библиотекой Adafruit_SSD1306

Вечер в хату дамы и господа, дело такое, делаю один проект где присутствует экран 128х64.

По сути, проект закончен, только вот библиотеку для дисплея я выбрал мягко говоря не ту, без графических приблуд (битмэпы там, линии и прочее), а хотелось бы.

Решил перекрасить всё с другой библиотекой Adafruit SSD1306, и тут же столкнулся с такой проблемой:

Надо обьявить 6 глобальных переменных типа String, объявляю, загружаю скетч, всё в норме и без ошибок, только вот на экране ничего не отображается.

Кагбээ замутить простеццкую реляционную БД ???

Мошт кто "бодалсо" с таким? Ключи, индексы и прочее? Есть кто чо ???

чтение еепром памяти

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

#include <avr/eeprom.h>

byte eepr[18];

void setup() {
  eeprom_read_block(&eepr, (uint8_t*)0,  sizeof(eepr));
}

может чего не правильно делаю?

Модулятор.

Здравствуйте
Есть красный и зеленый PB7, PA8 , как получить голубой на PB6 ?

Attiny85, I2C и расширитель портов PCF8574

Всем привет! Делаю небольшое устройство на Attiny85. К МК нужно подключить 6 расширителей портов PCF8574. 

Для работы с PCF8574 я установил библиотеку A85_PCF8574: https://github.com/debsahu/A85_PCF8574

Так же я установил зависимую библиотеку TinyWireM: https://github.com/adafruit/TinyWireM