регулировка яркости светодиода.

Тема в разделе "Глядите, что я сделал", создана пользователем ser4ik, 13 фев 2012.

  1. ser4ik

    ser4ik Нерд

    регулируется двумя кнопками.
    Код (Text):
    int A = 0;
    int BT1 = 3;
    int BT2 = 2;
    int LED =11;

    void setup()
    {
      pinMode(BT1, INPUT);
      digitalWrite(BT1, HIGH);
      pinMode(BT2, INPUT);
      digitalWrite(BT2, HIGH);
    }

    void loop()
    {
      if (!digitalRead(BT1)&&digitalRead(BT2))
      {
        if(A<255)A++;
        analogWrite(LED, A);
        delay(10);
      }
      else if(digitalRead (BT1)&&!digitalRead(BT2))
      {
        if(A !=0)A--;
        analogWrite(LED, A);
        delay(10);
      }
    }

     
     

    Вложения:

    • 20120213_001.jpg
      20120213_001.jpg
      Размер файла:
      786,9 КБ
      Просмотров:
      1.365
    • 20120223_001.jpg
      20120223_001.jpg
      Размер файла:
      879,5 КБ
      Просмотров:
      1.360
    Citrus нравится это.
  2. nailxx

    nailxx Официальный Нерд Администратор

    Отлично! Хороший пример для начинающих.

    Я же не буду занудой, если скажу, что код можно сократить? :)

    Код (Text):

    void loop()
    {
      if (!digitalRead(BT1) && digitalRead(BT2) && A < 255)
        A++;
      else if(digitalRead(BT1) && !digitalRead(BT2) && A)
        A--;

      analogWrite(LED, A);
      delay(10);
    }
     
     
  3. ser4ik

    ser4ik Нерд

    блин ... точно!!!
     
  4. nepekyp

    nepekyp Нерд

    а транзистор то там зачем?

    P.S. предлагаю давать краткое словестное описание проектам
     
  5. Dmitriy Kunin

    Dmitriy Kunin Гик

    А транзистор там, для закрепления знаний по пользованию транзистором в ключевом режиме.
     
  6. nepekyp

    nepekyp Нерд

    а можно схему в fritzing а то по фото бывает сложно понять что куда и откуда ;)

    предлагаю в этом разделе добавлять схемы fritzing если кому не жалко и не комерческая тайна )
     
  7. ser4ik

    ser4ik Нерд

    а что такое fritzing
     
  8. Dmitriy Kunin

    Dmitriy Kunin Гик

    Это бесплатная программа для рисования схем, именно в ней для вас и готовились картинки с бредбордом.
    http://fritzing.org/
     
  9. ser4ik

    ser4ik Нерд

    вот вроде нарисовал а как это выложить на форум?
     
  10. Dmitriy Kunin

    Dmitriy Kunin Гик

    Дальше в меню нужно найти Экспорт, и сохранить в удобном формате, например PNG.
    Ну картинки в сообщение вы вставляли, я видел. :)
    Экспорт в программе сделан откровенно плохо, поэтому я это делаю в два этапа, сначала в SVG, потом открываю это дело в CorelDRAW, и оттуда экспортирую в PNG или JPG.
    В результате линии получаются без ступенек.
     
  11. ser4ik

    ser4ik Нерд

    да ну я лучше просто сфоткаю с экрана компа.можете посмотреть я добавил фото в самый первый коментарий.
     
  12. mans

    mans Нуб

    А как сделать то же самое без "delay"?
     
  13. nailxx

    nailxx Официальный Нерд Администратор

  14. DayGaik

    DayGaik Гик

    а delay снижает потребление энергии МК?
     
  15. DayGaik

    DayGaik Гик

    Кнопки при такой схеме не должны работать или я что-то недопонимаю?
     
  16. nailxx

    nailxx Официальный Нерд Администратор

    delay не снижает энергопотребление. Он тупо крутит пустой цикл.

    Кнопки могут работать: всё зависит от того как реализуете скетч. Можете, например, в loop вычислять целевую яркость и сохранять её в глобальную переменную, а в обработчике прерывания стремиться к этой яркости.
     
  17. DayGaik

    DayGaik Гик

    А можно как нибудь снизить потребление? Заставить МК полсекунды ничего не делать.

    Насчет кнопок? Как они работают? Кнопки либо притягивают пины к земле, либо никуда? При этом "никуда" значение пина неопределено, может быть как 1 так и 0. я вот про что.
     
  18. hibiki

    hibiki Гик

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

    и то не уверен, что в данном случае работать будет
     
  19. DayGaik

    DayGaik Гик

    любопытная статья. надо бы проверить.
    А смысл в том чтобы экономить энергию
     
  20. hibiki

    hibiki Гик

    я имею ввиду, успеет ли заснуть-проснуться (скорее, да) и будут ли в каком-либо "спящем" режиме работать порты