Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Parkolóradar SFR04 ultrahangos szenzorral és 3 LED-del
- a debreceni Megtestesülés Plébánia Hobbielektronika csoportja és Durucz Béla, Magyar Arduino csoport segítségével
- */
- #define ECHO_PIN 2 // Echo láb Digital PIN2-re kötve
- #define TRIGGER_PIN 3 //Trigger láb Digital PIN3-ra kötve
- unsigned long echoTime = 0; // az Echo labon megjeleno jel hosszat tartalmazo valtozo
- unsigned long tavolsag = 0; // a mert tavolsagot tartalmazo valtozo
- unsigned int ledIdozites; // ez méri hogy mennyi ideig van a 350mm-es zónában valami
- int pirosLed = 12; //piros
- int sargaLed = 11; //sárga
- int zoldLed = 10; //zöld
- void setup()
- {
- ledIdozites = 0;
- pinMode(TRIGGER_PIN, OUTPUT); // Trigger láb kimenet
- pinMode(ECHO_PIN, INPUT); // Echo láb bemenet
- Serial.begin(9600); // 9600 baud-sebessegű soros kommunikacios port beallitása
- pinMode(pirosLed, OUTPUT);
- pinMode(sargaLed, OUTPUT);
- pinMode(zoldLed, OUTPUT);
- }
- void loop()
- {
- digitalWrite(TRIGGER_PIN, HIGH); // a szenzornak 10 mikroszekundumos jel küldése a Trigger lábra
- delayMicroseconds(10);
- digitalWrite(TRIGGER_PIN, LOW);
- echoTime = pulseIn(ECHO_PIN, HIGH); // az Echo lábon a magas állapot idejének mérése
- tavolsag = 10 * echoTime / 58; // a céltárgy távolságanak kiszámitása (mm-ben)
- Serial.print(tavolsag, DEC); // az eredmény elküldése a soros porton keresztül a PC-re
- Serial.println(" mm"); // mm kiirása az eredmény után
- if(tavolsag <= 350 )
- {
- if(ledIdozites < 100)
- {
- ledIdozites++;
- digitalWrite(pirosLed,HIGH); //LED bekapcsolva
- digitalWrite(sargaLed,LOW); //LED kikapcsolva
- digitalWrite(zoldLed,LOW);
- }
- else
- {
- digitalWrite(pirosLed, LOW); // piros LED aludjon ki 100 kör után (~ 10 másodperc)
- }
- }
- else if(tavolsag >= 350 && tavolsag < 650)
- {
- digitalWrite(pirosLed,LOW);
- digitalWrite(sargaLed,HIGH);
- digitalWrite(zoldLed,LOW);
- }
- else if(tavolsag >= 650 && tavolsag < 1650)
- {
- digitalWrite(pirosLed,LOW);
- digitalWrite(sargaLed,LOW);
- digitalWrite(zoldLed,HIGH);
- }
- else
- {
- digitalWrite(pirosLed,LOW);
- digitalWrite(sargaLed,LOW);
- digitalWrite(zoldLed,LOW);
- }
- if(tavolsag > 350)
- {
- ledIdozites = 0;
- }
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement