Крайне интересный фонарик!

Тема в разделе "Arduino & Shields", создана пользователем Tony Stark, 7 сен 2012.

  1. Tony Stark

    Tony Stark Нерд

    Мой друг рассказал мне история о том как некий дядька а именно его отец делал для него (друга) фонарик, в чем суть: когда он зажимал одну кнопку загорался например красный светодиод нажимал другую загорался желтый светодиод и наконец зажимал обе загорался зеленый (отдельный) светодиод. Когда он это мне сказал я долго мозговал и наконец пришел к выводу что без такой штуки как микросхема булевой логики не обойтись вобщем то вроде вопрос закрыт но вот не задача на пины input 1 x 2 нужно подавать аналоговый сигнал или цифровой?
     
  2. 4 ноги из них:1 gnd,а остальные 3- цвет диода!микруха тут не нужна!!!почитайте про эти диоды.
     
  3. Tony Stark

    Tony Stark Нерд

    Суть в том что используется именно три разных светодиода а не трехцветный как вы предлагаете
     
  4. DayGaik

    DayGaik Гик

    Очень похоже вообще на двухцветный светодиод, или просто два: красный и зеленый.
    Просто когда жмешь обе кнопки красный с зеленым смешивается и в результате получается желтый.
     
  5. Tony Stark

    Tony Stark Нерд

    Вообще то если включить красный и зеленый СВЕТОДИОДЫ то смешивания цветов, ну хоть через кривой задний проход не увидите поэтому такой вариант отпадает.
     
  6. DayGaik

    DayGaik Гик

    хамить не нужно
     
  7. Tony Stark

    Tony Stark Нерд

    А кто хамит?! Я лишь сказал что это не Реал
     
  8. Rx

    Rx Нерд

    Зависит от отражающей поверхности. Чистый смешанный цвет вряд ли получить, а вот приближенный к нему - можно.
     
  9. Tony Stark

    Tony Stark Нерд

    Вобщем решил сделать через ардуинку вот код:
    Фонарик
    Void setup()
    {
    pinMode(3, OUTPUT);
    pinMode(4,OUTPUT);
    pinMode(5,OUTPUT);
    pinMode(2,INPUT);
    pinMode(1,INPUT);
    }

    Void loop()
    {
    Red = digitalRead(1);
    Yellow = digitalRead(2);
    If (Red == HIGH) {
    DigitalWrite (3,HIGH); //включает красный светодиод
    }
    else {
    DigitalWrite (3,LOW);
    }
    if (Yellow == HIGH) {
    DigitalWrite (4,HIGH); //включает желтый светодиод
    }
    else {
    DigitalWrite (4, LOW);
    }
    If ( (Red == HIGH) && (Yellow == HIGH))
    {
    DigitalWrite (5,HIGH);
    }
    else
    {
    DigitalWrite (5,LOW);
    }