В данном проекте мы реализуем систему управления шлагбаумом для детской железной дороги. Она представляет собой автоматическую систему управления железнодорожным движением в виде блока управления, который автоматически управляет шлагбаумом всякий раз, когда какой-либо поезд приближается к железнодорожной линии, и автоматически опускает шлагбаум, включает красный свет и включает сигнал тревоги.

Вся система управляется платой Arduino на основе микроконтроллера и с помощью некоторых датчиков.
Схема подключения элементов с использованием Arduino и ультразвукового дальномера HC-SR04 представлена на следующем рисунке.

А далее представлен альтернативный вариант с использованием инфракрасных датчиков приближения.

Код программы для Arduino следующий.
#include <Servo.h>
Servo myservo;
int ir1=12;
int ir2=8;
int r=11;
int g=6;
int b=10;
int buzz=13;
void setup() {
myservo.attach(9);
Serial.begin(9600);
pinMode(r,OUTPUT);
pinMode(g,OUTPUT);
pinMode(b,OUTPUT);
pinMode(buzz,OUTPUT);
pinMode(ir1,INPUT);
pinMode(ir2,INPUT);
}
void loop() {
int s;
s=digitalRead(ir1);
Serial.print(s);
if(s==1){digitalWrite(buzz,HIGH);
digitalWrite(r,HIGH);
digitalWrite(g,LOW);
{
myservo.write(0);
delay(5);
}
}
int s1;
s1=digitalRead(ir2);
Serial.print(s1);
if(s1==1){digitalWrite(buzz,LOW);
digitalWrite(r,LOW);
digitalWrite(g,HIGH);
{
myservo.write(90);
delay(5);
}
}
else{
}
}
© digitrode.ru