Игрушечный светофор работает как настоящий, а Новогодняя звёздочка переливается лучами
У наших детей и внуков
сейчас множество машин. Малыши имитируют
улицы, организовывают движение
игрушечного транспорта, но чего у них нет — это полноценно работающего светофора. Игра
бы получилась бы более интересной и
познавательной, а движение игрушечных
машин осознанным. Ещё добавить дорожные знаки и
можно за игрой изучать правила уличного движения.
Задумано — сделано. Берём ненужную подставку от старенького удлинителя USB, использованную шариковую ручку, небольшой кусочек монтажного текстолита и кусок тонкого картона (неважно от чего). Подставка USB станет подставкой для светофорного столба. Отрезанный кусок одноразовой ручки - самим фонарным столбом. На куске монтажного текстолита распаяем цветные светодиоды, а из куска картона сделаем короб светофора. Гуашью покрасим в чёрный цвет и покроем бесцветным лаком, чтобы защитить от влаги, а так же для пущей эстетики, да и пальцы малышей не будут пачкаться.
Управление огнями светофора отдадим микроконтроллеру. Нам нужен простой, дешёвый и малогабаритный. Поэтому воспользуемся серией ATtiny85 (У китайцев они стоят копейки). С компьютера, через программу "Arduino" зальём в него небольшой скетч, который приведён ниже. Светодиоды подпаяем к пинам микроконтроллера согласно описания в скетче и ву-аля — наш светофор работает. Даже зелёный сигнал мигает и предупреждает, что скоро переключится на жёлтый. Питание микроконтроллера на ваше усмотрение: либо через USB, либо от маленького аккумулятора или батареи. Я не стал заморачиваться и для питания использовал 9 вольтовую батарею типа «Крона».
const int LED_RED = 0; // Порт 0, красный светодиод
const int LED_YELLOW = 1; // Порт 1, желтый светодиод
const int LED_GREEN = 2; // Порт 2, зеленый светодиод
const int TIMEOUT_RED = 20000; // Время горения красного сетодиода
const int TIMEOUT_YEL = 5000; // Время горения желтого светодиода
const int TIMEOUT_GREEN = 20000; // Время горения зеленого светодиода
const int TIMEOUT_FLASH_GREEN = 500; // Время мигания зеленого светодиода
void setup()
{
// Все порты светодиодов будут у нас установлены в режим "внешняя нагрузка", OUTPUT
pinMode(LED_RED, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
// Устанавливаем начальное значение светодиодов
digitalWrite(LED_RED, LOW);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_GREEN, LOW);
}
void loop()
{
// Включаем зеленый цвет светофора
digitalWrite(LED_GREEN, HIGH); // Включаем светодиод
delay(TIMEOUT_GREEN); // Ждем
// Мигаем зеленым светодиодом 3 раза
for (int i=0; i<3; i++)
{
digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);
}
// Теперь отключаем зеленый и включаем желтый светодиод
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
delay(TIMEOUT_YEL);
// Отключаем желтый светодиод.
digitalWrite(LED_YELLOW, LOW);
// Теперь включаем красный цвет
digitalWrite(LED_RED, HIGH);
delay(TIMEOUT_RED);
// Включаем желтый светодиод,не выключая красный
digitalWrite(LED_RED, LOW);
digitalWrite(LED_YELLOW, HIGH);
delay(TIMEOUT_YEL);
// Отключаем желтый и красный светодиоды.
digitalWrite(LED_YELLOW, LOW);
}
Наш светофор работает прямо как настоящий и детям играть станет веселее, и увлекательнее. За что они вам скажут спасибо. Ведь игрушка необычная, да и вряд ли вы найдёте её в магазине. Удачи в конструировании.
Вот такой получился светофор
Так выглядит микроконтроллер ATiny85 с разъёмом для программирования через USB компьютера
Кстати, на базе микроконтроллере FTiny85 можно модернизировать и мигающую звёздочку, о которой я писал в прошлый раз. Заменить всю пайку, состоящую из кучи деталей: микросхемы, транзисторы, резисторы, конденсаторы на всего лишь одну маленькую плату микроконтроллера, прошить скетч, который я привожу ниже, и лучи звезды будут последовательно зажигаться, пока не засветятся все пять лучей, что, наверное, более интересно, чем простое мигание. Кроме того, в любой момент можно что-то подправить в скетче и жизнь новогодней звёздочки вновь изменится. В отличии от железной логики здесь имеется полная воля полёта фантазии и возможность без пайки, простым перепрограммированием что-то изменить. Вот сам скетч:
Распиновка выводов видна в тексте. Питание устройства от старой пятивольтовой зарядки мобильника. Её тока вполне хватает.