Автоматический световой сигнализатор уличного света на Arduino
Предлагаемая идея обнаружения активности на дороге использует ультразвуковой датчик, который может измерять расстояние между датчиком и препятствием, в этом случае препятствия являются транспортными средствами или людьми. Когда транспортное средство входит в зону действия датчика, он выполняет некоторые математические расчеты для определения расстояния между транспортными средствами и датчиком, если транспортное средство подтверждено ниже установленного диапазона; встроенный микроконтроллер будет загорать уличный фонарь при максимальной яркости. Уличный свет будет гореть с максимальной яркостью в течение заранее определенного времени и уменьшать его яркость, если никакие транспортные средства или люди не будут обнаружены дальше. К настоящему времени цель этого проекта будет устранена. Давайте погрузимся в схему предлагаемой установки.
Автоматическая схема освещения уличного света состоит из Arduino, который является мозгом проекта, ультразвукового датчика для обнаружения транспортных средств или людей. Предусмотрен 9-вольтовый регулятор для питания платы микроконтроллера arduino и MOSFET для управления светодиодами, которые потребляют мало ампер при максимальной яркости. Светодиодный модуль и блок питания для настройки должны быть выбраны тщательно, чтобы обеспечить достаточную мощность для всей цепи и не перегружать источник питания. Светодиодный модуль может быть самодельным, который показан в схематическом виде или может быть куплен для рынка, но перед построением или получением одного рынка форм обязательно рассчитайте требования к напряжению и току для источника питания. Источник питания может быть SMPS или сконструирован с использованием трансформатора, выпрямителя и регулятора напряжения. Светодиод уменьшает яркость с помощью PWM. PWM представляет собой прямоугольную волну, она быстро и быстро включает и выключает подачу на светодиод с четко определенной шириной включения и выключения за один цикл. Ширина времени включения и выключения определяет яркость светодиода. Когда уличный фонарь переключится на полную яркость, питание на светодиод не будет иметь импульсов, и будет подаваться постоянный постоянный ток.
Вся настройка может быть реализована, как показано ниже:
Ультразвуковой датчик поднят примерно на 3,5 фута на 4 фута над землей; это делается так, что оно обнаруживает только транспортные средства и людей, поскольку их средняя высота примерно одинакова, и когда собаки или кошки или любые другие животные, которые обычно бродят по городу, не будут вызывать уличный свет до максимальной яркости. Животные, которые живут и бродят по городу, ниже 3,5 футов. Высота датчика можно настроить так, чтобы он работал на оптимальном уровне, как описано выше. В программе можно управлять пороговым расстоянием. Когда Arduino обнаруживает препятствие, обнаруженное ниже заранее определенного расстояния, светодиоды загораются с максимальной яркостью.
Код программы:
//--------------------Program developed by R.Girish-------------------//
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int LED = 3;
long Time;
float distanceCM;
float distanceM;
float distance = 100; // set threshold distance in cm
int dim = 28; // adjust minimum brightness
int bright = 255; // adjust maximum brightness
float resultCM;
float resultM;
void setup()
{
pinMode(LED,OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(vcc,OUTPUT);
pinMode(gnd,OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(vcc,HIGH);
digitalWrite(gnd,LOW);
digitalWrite(trigger,LOW);
delay(1);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
Time=pulseIn(echo,HIGH);
distanceCM=Time*0.034;
resultCM=distanceCM/2;
resultM=resultCM/100;
Serial.print("Distance in cm: ");
Serial.println(resultCM);
Serial.print("Distance in meter: ");
Serial.println(resultM);
Serial.println("------------------------------------------");
if(resultCM<=distance)
{
analogWrite(LED, bright);
delay(10000);
}
if(resultCM>=distance)
{
analogWrite(LED,dim);
}
delay(100);
}
//-----------------Program developed by R.Girish-------------------//
ЗАМЕТКА:
• Пороговое расстояние можно отрегулировать, заменив значение на собственное. плавающее расстояние = 100; // установить пороговое расстояние в см Значение должно быть введено в сантиметре; максимальное значение может составлять от 400 до 500 см или от 4 до 5 метров.
• Регулировку яркости можно регулировать с помощью int dim = 28; // настройка минимальной яркости 255 максимальная яркость 0 выключается. Мы также можем наблюдать расстояние между датчиком и препятствием на серийном мониторе.