Помогите с мигалкой!!!А то я чото туплю! - ФОРУМ ДВ Робот dvrobot.ru
Воскресенье, 18.11.2018, 09:27
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Модератор форума: Serg, GRACH  
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Помогите с мигалкой!!!А то я чото туплю! (Кнопка включения и выключения мигалки 2х Led)
    Помогите с мигалкой!!!А то я чото туплю!
    turbomazaДата: Среда, 08.01.2014, 05:40 | Сообщение # 1
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 3
    Репутация: 0
    Статус: Offline
    #define LED  2           // 13 пин Led(светодиод)
       #define BUTTON 3          // 7  пин кнопка
       int ledPin8 = 8;
       int ledPin9 = 9;
       
       

       int val = 0;              // используем для хранения состояния из входного контакта(7пин BUTTON)                 
                                 
       int old_val = 0;          //хранит предыдущее значение "val"
                       
       int state = 0;            // 0 = LED негорит или 1 = LED горит

      void setup()               //установка выводов и действий выполняемые 1 рас того что в скобах при запуске ардуино
    {
       pinMode(ledPin8, OUTPUT);
       pinMode(ledPin9, OUTPUT);
       pinMode(LED, OUTPUT);     // светодиод как выход питания 5в
       pinMode(BUTTON, INPUT);   // кнопка как вход (HIGH,LOW)или(1,0)значит{+5V или -5V}
    }
     void loop()                 // непрерывное выполнение с условиями
      {
       val= digitalRead(BUTTON); // считать с кнопки(BUTTON)пин7-на нем {+5V или-5V} тоест{HIGH или LOW} 
                                 
       if ((val == HIGH) && (old_val == LOW)) // проверить был ли переход
      {
       
      state = 1 - state;        // переменная которая хранит (0 или 1)помнит выключен led(Светодиод)или горит тоесть{-5vили+5V }
                          
      }
       old_val = val;            // вал теперь старый, давайте хранить его

       if (state == 1) 
      {
       digitalWrite(LED, HIGH); // светодиод включен
      
       digitalWrite(ledPin8, 1);
       delay(1000);
       digitalWrite(ledPin8, 0);
       delay(1000);
       digitalWrite(ledPin9, 1);
       delay(1000);
       digitalWrite(ledPin9, 0);
      }
      else //или 
     {
        digitalWrite(LED, LOW); // светодиод выключен
        
        digitalWrite(ledPin8,0 );
        digitalWrite(ledPin9, 0);  
       }
    }

    //Люди помогите!!!!почему когда кнопка нажата адин рас мигалка работает а если ешо рас нажать поидее должна выключица но все продолжает мигать!

    Добавлено (08.01.2014, 05:40)
    ---------------------------------------------
    Я так чуствую что-нужно добавлять переменные! wacko dry


    ЗАнимаюсь роботами электроникой!на среднем уровне!
     
    Ivan-771Дата: Среда, 08.01.2014, 08:14 | Сообщение # 2
    5 Вольт
    Группа: Пользователи
    Сообщений: 39
    Репутация: 0
    Статус: Offline
    Задача какая?
     
    turbomazaДата: Четверг, 09.01.2014, 03:44 | Сообщение # 3
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 3
    Репутация: 0
    Статус: Offline
    Задача такая(включаем ардуино светодиоды молчат,нажимаем кнопку ани мигают!нажимаем ешо рас светодиоды молчат! up
    Изночально было так включаем ардуино светодиод горит!жмём кнопку тухнет! но-я добавил светодиоды и хател чтоб если нажать кнопку мигали !ешо рас нажать не мигали!
    Пожалуста помогите! uhm непонимаю victory


    ЗАнимаюсь роботами электроникой!на среднем уровне!
     
    Ivan-771Дата: Четверг, 09.01.2014, 04:42 | Сообщение # 4
    5 Вольт
    Группа: Пользователи
    Сообщений: 39
    Репутация: 0
    Статус: Offline
    Написал по своему, на кнопку ставим подтяжку через резистор до 10 кОм  на землю.

    Код
    #define LED  2           // 13 пин Led(светодиод)
         int ledPin8 = 8;
         int ledPin9 = 9;
       int state = 0;            // 0 = LED негорит или 1 = LED горит
        void setup()               //установка выводов и действий выполняемые 1 рас того что в скобах при запуске ардуино
    {
         pinMode(ledPin8, OUTPUT);
         pinMode(ledPin9, OUTPUT);
         pinMode(LED, OUTPUT);     // светодиод как выход питания 5в
         pinMode(7, INPUT);   
    }
       void loop()                 // непрерывное выполнение с условиями
        {                            
         if (digitalRead(7)==HIGH) // проверить был ли переход
        {delay(220);
        state++;                        
        }
          if (state == 0)   
       {  digitalWrite(LED, LOW); // светодиод выключен
          digitalWrite(ledPin8,0 );
          digitalWrite(ledPin9, 0);    
         }
         if (state == 1)   
        {
         digitalWrite(LED, HIGH); // светодиод включен
         digitalWrite(ledPin8, 1);
         delay(1000);
         digitalWrite(ledPin8, 0);
         delay(1000);
         digitalWrite(ledPin9, 1);
         delay(1000);
         digitalWrite(ledPin9, 0);
        }
         if (state >1)   
        {state=0;
         }
    }

    З.Ы. Размер скетча в двоичном коде: 1 430 байт (из 30 720 байт максимум)
    Как вы на этом г... вообще пишете, больше одного 1 кб на мигание...


    Сообщение отредактировал Ivan-771 - Четверг, 09.01.2014, 04:43
     
    turbomazaДата: Воскресенье, 12.01.2014, 04:06 | Сообщение # 5
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 3
    Репутация: 0
    Статус: Offline
    БЛин блинский!!Спасибо!!!шас загружу проверю и разберусь что к чему! thumbup specool

    ЗАнимаюсь роботами электроникой!на среднем уровне!
     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Помогите с мигалкой!!!А то я чото туплю! (Кнопка включения и выключения мигалки 2х Led)
    • Страница 1 из 1
    • 1
    Поиск:

    ДВ Робот - Чат