Всем здарова! Хотел сделать поворотники для велика, на Digispark. У каждого светодиода есть своя кнопка. Нажимаешь на правою мигает правый светодиод, на левую кнопку левый. Но что-то не получилось(. Я нажимая на любую из 2х кнопок а моргают все 2 светодиода. Библеотека OneButtone. Принцип работы:Нажимаешь правою кнопку и моргает правый светодиод, нажимаешь на эту же кнопку он выключается. Также и с левой. Скетч: Код (C++): #include "OneButton.h" typedef enum { ACTION_OFF1, // Выключить сведотдиод1 ACTION_ON1, // Включить светодиод1 ACTION_FAST1, // Быстро моргать1 ACTION_ON2, // Включить светодиод2 ACTION_OFF2, // Выключить сведотдиод2 ACTION_FAST2, // Быстро моргать2 } MyActions; OneButton button1(3, true); //Кнопка1 подключена к 3 пину OneButton button2(4, true); //Кнопка2 подключена к 4 пину MyActions nextAction1 = ACTION_OFF1; //Выключенный светодиод MyActions nextAction2 = ACTION_OFF2; //Выключенный светодиод void setup() { pinMode(2, OUTPUT); // Светодиод подключен к 2 пину pinMode(1, OUTPUT); // Светодиод подключен к 1 пуну button1.attachClick(ClickFunction1); button2.attachClick(ClickFunction2); } void loop() { unsigned long now1 = millis(); unsigned long now2 = millis(); button1.tick(); button2.tick(); delay(10); if (nextAction1 == ACTION_OFF1) { // ничего не делать digitalWrite(1, LOW); } else if (nextAction1 == ACTION_ON1) { // Включить светодиод digitalWrite(1, HIGH); } else if (nextAction1 == ACTION_FAST1) { // Быстро моргать if (now1 % 200 < 100) { // Частота моргания digitalWrite(1, LOW); } else { digitalWrite(1, HIGH); } // if } // if if (nextAction2 == ACTION_OFF2) { // // Ничего неделать digitalWrite(2, LOW); } else if (nextAction2 == ACTION_ON2) { // Включить светодиод digitalWrite(2, HIGH); } else if (nextAction2 == ACTION_FAST2) { // Быстро моргать if (now2 % 200 < 100){ // Частота моргания digitalWrite(2, LOW); } else { digitalWrite(2, HIGH); } // if } // if } //loop void ClickFunction1() { if (nextAction1 == ACTION_OFF1) { nextAction1 = ACTION_ON1; nextAction1 = ACTION_FAST1; } else if (nextAction1 == ACTION_FAST1) { nextAction1 = ACTION_OFF1; } // if } // ClickFunction1 void ClickFunction2() { if (nextAction2 == ACTION_OFF2) { nextAction2 = ACTION_ON2; nextAction2 = ACTION_FAST2; } else if (nextAction2 == ACTION_FAST2) { nextAction2 = ACTION_OFF2; } // if } // ClickFunction2
1. Сто процентов будете забывать выключить поворотник. Видено тысячекратно. Сделайте автовыключение секунд через 20-30. 2. Если забыли выключить правый и включили левый ? Или наоборот ? ПС. Взял Иванушка посох и пошел куда глаза глядят. Шел-шел да и порвался, потому что был он косоглазым.
О майн год!Едрен—батон!Зачем Digispark?Зачем там библиотека один бутон.h?Совсем народ обленился и блинкать разучился
Типа берем мигающие светодиоды, через трех позиционный выключатель подаем на них питание??? ладно, мигалку на ne555 и обычные светодиоды.
Геркон как прерыватель ? Тогда без движения мигать не будет. А как же тогда поймут куда вы со старта рванете ? Давным-давно идея электрифицирования (и поворотников тоже) на велике известна. Но после нескольких недель развлекухи она всем абсолютно надоедает. Велосипед вроде удочки для рыбака. Две педали, дорога и никаких забот о батарейках, аккумуляторах, проводке и тп фигне. Проверено на себе )))))
У меня есть полкило.Могу один подарить))))А вообще заменить любым pnp Кт814 например или аналогом чужеземным