Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Светофор на Arduino своими руками!

    Светофор на Arduino своими руками!


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

    Что нам понадобится из материалов:
    Толкушка (будем использовать в качестве основания для нашего изобретения!)

    Листы для акварели (можно картон или любую другую более плотную бумагу)

    Фольгу (Я взял обычные обертки из под глазированных сырков)

    Светодиоды (трех цветов: красный, желтый, зеленый)

    Резисторы (Сопротивлением 220 Ом)

    Провода

    Контроллер Arduino

    Из инструментов будем использовать:
    Ручную дрель (с тонкими сверлышками)
    Отвертку
    Саморезы
    Степлер
    Ножик

    Паяльник (припой, флюс)

    В принципе все, теперь приступим к самому процессу сборки нашего макета. Разделим все на 3 больших шага..

    Шаг №1 Сборка "Козырьков"
    Для начала из бумаги будем изготавливать козырьки для светофора. Начертим карандашом и вырежем ножницами (на фото цифры - это длина в сантиметрах).

    Сложив нашу заготовку - получим козырек..

    Но что бы свет, излучаемый светодиодами отражался как можно ярче, на внутреннюю поверхность следует закрепить фольгу.
    Сначала вырежем ее точно такой же формы, как и козырек (с помощью ножика), а затем скрепим оба материала между собой обычным степлером.

    На фото (ниже) я показал черными полосками где скреплял..

    После этого сворачиваем нашу заготовку и скрепляем оставшиеся боковые части.


    Повторяем весь процесс три раза, ведь у нас должно быть три козырька!

    Шаг №2 Крепление "Козырьков"
    С помощью дрели просверливаем отверстия для наших козырьков на толкушке.

    С задней стороны козырька проделываем два отверстия: меньшее для самореза, большее для светодиода.

    Продеваем светодиоды с задней стороны и прикручиваем козырьки к толкушке. Ножки светодиодов пока просто отогнем в стороны.. Опять же повторяем все для каждого козырька.

    Шаг №3 "Электроника"
    Спаяем между собой катоды светодиодов (их земли). Напомню, катод - это короткая ножка)


    Общую землю вставим в GND микроконтроллера.
    Теперь возьмем другие три провода и спаяем их с резисторами.

    Провода воткнем в контакты ардуинки (я взял пины 2, 3, 4), а концы резисторов припаяем к анодам светодиодов.



    Теперь остается загрузить следующий скетч в ардуино и порадовать близких своей поделкой!
    boolean k = 0;
    void setup() 
    {  
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    }
    void loop() 
    { 
    digitalWrite(2,1);
    digitalWrite(3,0); 
    digitalWrite(4,0); 
    delay(3500);
    for(int i = 0; i<6; i++)
    {
      digitalWrite(2, k);
      k = !k;
      delay(800);
    }
    digitalWrite(2,0);
    digitalWrite(3,1); 
    digitalWrite(4,0);
    delay(3500);
    for(int i = 0; i<6; i++)
    {
      digitalWrite(3, k);
      k = !k;
      delay(800);
    }
    digitalWrite(2,0);
    digitalWrite(3,0); 
    digitalWrite(4,1); 
    delay(3500);
    for(int i = 0; i<6; i++)
    {
      digitalWrite(4, k);
      k = !k;
      delay(800);
    }
    }

    Измените скетч и задайте свое время мигания огоньков и их задержку!




    На этом у меня все, Спасибо всем, кто дочитал до конца! Надеюсь эта самоделка вам понравилась и вдохновила на совершенно новые идеи!! Удачи!
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Светящаяся коробка на arduino!

    Ночник из старой лампочки, на основе Arduino и WS2812

    8.8
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7.2
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.0 из 10 (голосов: 6 / История оценок)

    Добавить комментарий

    4 комментария
    Гость Иван #94503

    Некорректно написана программа переключения сигналов светофора. Уже лет 8 чиню светофоры с городских улиц. Вместе с контроллерами, которые ими рулят. Так вот - корректно это должно выглядеть так - красный (длительность по желанию) - красный + жёлтый (3 секунды) - зелёный (длительность - по желанию) - 3 секунды мигания зелёного - жёлтый (3 секунды) - красный

    Sintronik #16300
    Цитата: nikita.9911
    int red = 2;
    int yellow = 3;
    int green = 4;

    void setup(){
    pinMode(red, OUTPUT);
    pinMode(yellow, OUTPUT);
    pinMode(green, OUTPUT);
    }
    void loop() {
    digitalWrite(red, HIGH);
    delay(30000);


    digitalWrite(yellow, HIGH);
    delay(2400);
    digitalWrite(yellow, LOW);
    digitalWrite(red, LOW);

    digitalWrite(green, HIGH);
    delay(30000);
    digitalWrite(green, LOW);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);



    digitalWrite(yellow, HIGH);
    delay(2400);
    digitalWrite(yellow, LOW);
    }



    немного изменил

    int red = 4;
    int yellow = 5;
    int green = 6;

    void setup(){
    pinMode(red, OUTPUT);
    pinMode(yellow, OUTPUT);
    pinMode(green, OUTPUT);
    }
    void loop() {
    digitalWrite(red, HIGH);
    delay(20000);

    digitalWrite(red, LOW);

    digitalWrite(green, HIGH);
    delay(20000);
    digitalWrite(green, LOW);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);



    digitalWrite(yellow, HIGH);
    delay(3400);
    digitalWrite(yellow, LOW);
    }
    nikita.9911 #11218
    int red = 2;
    int yellow = 3;
    int green = 4;

    void setup(){
    pinMode(red, OUTPUT);
    pinMode(yellow, OUTPUT);
    pinMode(green, OUTPUT);
    }
    void loop() {
    digitalWrite(red, HIGH);
    delay(30000);


    digitalWrite(yellow, HIGH);
    delay(2400);
    digitalWrite(yellow, LOW);
    digitalWrite(red, LOW);

    digitalWrite(green, HIGH);
    delay(30000);
    digitalWrite(green, LOW);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);

    digitalWrite(green, HIGH);
    delay(600);
    digitalWrite(green, LOW);
    delay(600);



    digitalWrite(yellow, HIGH);
    delay(2400);
    digitalWrite(yellow, LOW);
    }
    Иван_Похмельев #11151
    Я бы резисторы разместил у ардуинки, а жгут закрепил бы на стойке синей (обязательно) изолентой. ;)

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии