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

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

Помогите вывести температуру на часы

Сделал часы на ленте WS2812b, время показывают, цвета меняют, все как надо. Цыфра из 13 додов 5*3.

Не могу запустить DFPlayer mini mp3

Всем привет. Ребят, получил сегодня посылку из китая--DFPlayer mini. Нашел  библиотеки для него, подключил провода, но скетч не грузится--выскакивает куча ошибок. Если провода выдернуть из RX и TX, то скетч загружается. Втыкаю проводки в RX и TX, свет-од на модуле моргает, вроде по времени свечения совпадает по времени файла,  но звука нету. Библиотеки загружал с разных сайтов--без изменений. Что можно сделать?

Управление трёхцветным светодиодом по USB

Задумка такая: с клавиатуры вводится 16-ричный код цвета, трёхцветный светодиод отображает этот цвет, но на деле как-то криво всё работает. Например, при вводе "000000" светодиод горит. ЧЯДНТ?

DS18B20 - определение присутствия датчика на шине

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

есть простой скетч

#include <OneWire.h>
OneWire ds(10);
 
void setup() {
Serial.begin(9600); 

}
 
void loop() {
 
byte data[2];
ds.reset(); 
ds.write(0xCC);
ds.write(0x44);
delay(750);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read(); 
data[1] = ds.read();
int Temp = (data[1]<< 8)+data[0];
Temp = Temp>>4;
Serial.println(Temp);
}

в нем идет опрос датчика и вывод показаний измереной ним температуры.

как загрузить класс из вложеной папки?

в директории со скечем сделал папку "lib", положил в нее файлы, пробовал варианты типа

 #include "lib\LiquidCrystal_I2C.h"

- не грузит...

не верю, что сделать не возможно...

а надо, сейчас в проекте 16 файлов, будет штук 40 хочу хорошо отлаженые классы убрать в подпапку, но не хочу из них делать библиотеки (по тому, что они не универсальные а узкозаточеные под проект)

 

Ардуино Уно Таймер

Привет всем.

С недавнего времени открыл для себя Ардуино и выходя за рамки стандартных примеров столкнулся со следующей проблемой:

Таймер1 (16 Бит) после 8.38 секунд начинает счет с нуля. Есть ли способы обойти эту проблему (расширить диапазон до 20-30 секунд) ?

Заранее спасибо

Стробоскоп

Привет всем!

Я начинающий в этом деле. С паяльником на ты, а вот с программированием как то.....

Есть проблема. 

            Предыстория. 

Есть задумка на основе АРДУИНО создать стробоскоп. Обязательное условие блютз модуль- управление со смартфона. С этим все понятно. Перемигивание светодиодов ( два светодиода ) на основе скетча Blink. Требуется изменение частоты перемигивания после некоторого события ( получения сигнала с портрет блютуз). Казалось бы все просто, Но как заставить

digitaWrite(13, HIGH);

Digispark, dimmer и vector_4

Привет други! Не могу побороть один вредный трабл, но по порядку.

Нашел интересный проект автономного диммера на Тини85 http://forum.arduino.cc/index.php?topic=314773.0

Диммер в себе, с детектором ноля и прерываниями, рулится аналоговым напряжением на входе. То есть универсальнее некуда. Но вот никак не могу его на digispark клоне китайском запустить. Ругается на мультипликацию вектора прерывания, а куда там рыть я не нашел. Кто подскажет направление? IDE пробовал всякие. 1.6.5 и 1.6.8 пишут одинаково ошибку.

 

 

Лямбда с фиксацией ссылок.

Играюсь  с лямбдами на ИДЕ 1.6.5

Сокращенный код

void ShowScr(void (*p)()=0, byte nextmode=0)
{
}
void loop(void)
{
  static word Minut;
  ShowScr([Minut](){});
}

Работает. Но стоит убрать static -  ошибка комптляции

a=a>=(240+1) ? 240 : a; //как это понять?

unsigned long a = analogRead(PINI_NPUT_A1); // то есть от 0 до 255

a = a >= (240+1) ? 240 : a; //как это понять?

Кто-нибудь может направить на путь истинный что будет в результате?

если 0 ?

если 255 ?