Показано с 1 по 10 из 20

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #16
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Программный триггер с фильтром дребезга

    Вот код накидал в спешке, оптимизировать некогда , сейчас убегаю.
    Состояние реле будет видно на светодиоде D13
    Кнопка подключается на D12 и на GND
    PHP код:
    unsigned char  button_state;
    unsigned char  button_mem;

    #define BUTTON 12
    #define RELAY 13
    void setup()
    {
      
    pinMode(RELAY,OUTPUT); 
      
    pinMode(BUTTON,INPUT);
      
    digitalWrite(BUTTONHIGH); //подключить внутренний подтягивающий резистор
    }
    void loop()
    {
        
    button_state digitalRead(BUTTON); //прочитать состояние кнопки
        
    delay(30); // пауза для проверки дребезга 
        
    if (digitalRead(BUTTON) == LOW && button_state == LOW  &&  button_mem == 0)
        {
           
    digitalWrite(RELAYHIGH); 
           
    button_mem=255;  //запомнить состояние реле
           
    while(digitalRead(BUTTON) == LOW){ delay(10);}//ждем отпускания кнопки
        
    } else 
            {
              if (
    digitalRead(BUTTON) == LOW && button_state == LOW  &&  button_mem == 255)
              {
               
    digitalWrite(RELAYLOW); 
                
    button_mem=0//запомнить состояние реле
               
    while(digitalRead(BUTTON) == LOW){ delay(10);}//ждем отпускания кнопки
              
    }
            }   

    Последний раз редактировалось Chip; 23.11.2009 в 01:06.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •