Бағдарламаның бастапқы коды
const int trigger = 3; //Trigger pin ультразвукового датчика
const int echo = 2; //Echo pin ультразвукового датчика
const int Buzz = 12; //к этому контакту подключен зуммер
const int Light = A1; // к этому контакту подключен фоторезистор
long time_taken;
int dist;
int Intens;
void setup() {
Serial.begin(9600);
pinMode(Buzz,OUTPUT);
digitalWrite(Buzz,LOW);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}
/*###функция для расчета расстояния###*/
void calculate_distance(int trigger, int echo)
{
digitalWrite(trigger, LOW);
delayMicroseconds(2);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
time_taken = pulseIn(echo, HIGH);
dist= time_taken*0.034/2;
if (dist>300)
dist=300;
}
void loop() { //бесконечный цикл
calculate_distance(trigger,echo);
Intens = analogRead(Light);
//если очень светло
if (Intens>800)
{
Serial.print(Intens); Serial.println("Low Light");
digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500);
digitalWrite(Buzz,LOW);delay(500);
}
if (50<=dist<=70)
{
Serial.print(dist); Serial.println("Object Alert");
digitalWrite(Buzz,HIGH);
tone(1000,50);
for (int i=dist; i>0; i--)
delay(10);
digitalWrite(Buzz,LOW);
for (int i=dist; i>0; i--)
delay(10);
}
if (80<=dist<=300)
{
Serial.print(dist); Serial.println("Object Alert");
digitalWrite(Buzz,HIGH);
tone(1000,50);
for (int i=dist; i>0; i--)
delay(10);
digitalWrite(Buzz,LOW);
for (int i=dist; i>0; i--)
delay(10);
}
//Serial.print("dist=");
//Serial.println(dist);
//Serial.print("Similar_count=");
//Serial.println(similar_count);
//Serial.print("Intens=");
//Serial.println(Intens);
}
Достарыңызбен бөлісу: |