Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define distancePot A0
- #define lightPot A1
- #define durationPot A2
- #define ldrPin A3
- #define ledPin 12
- #define TRIG 7
- #define ECHO 6
- int dPotVal, lPotVal, tPotVal, ldrVal;
- void setup() {
- Serial.begin(9600);
- pinMode(ledPin, OUTPUT);
- pinMode(TRIG, OUTPUT);
- pinMode(ECHO, INPUT);
- // שורות ההגדרה הבאות לא הכרחיות מכיוון שמדובר בחיבורים אנאלוגיים
- pinMode(distancePot, INPUT);
- pinMode(lightPot, INPUT);
- pinMode(durationPot, INPUT);
- pinMode(ldrPin, INPUT);
- digitalWrite(ledPin, LOW);
- }
- void loop() {
- //קבלת מידע
- dPotVal = analogRead(distancePot);
- lPotVal = analogRead(lightPot);
- tPotVal = analogRead(durationPot);
- ldrVal = analogRead(ldrPin);
- // קריאת מרחק מחיישן אולטראסוני
- digitalWrite(TRIG, LOW);
- delayMicroseconds(2);
- digitalWrite(TRIG, HIGH);
- delayMicroseconds(10);
- digitalWrite(TRIG, LOW);
- long duration = pulseIn(ECHO, HIGH);
- int distance = duration / 58.1;
- // מיפוי ערכי הפוטנציומטרים לערכים רךוונטים
- dPotVal = map(dPotVal, 0, 1023, 100, 300); // מיפוי לתחום ערכי מרחק רלוונטי להפעלה
- tPotVal = map(tPotVal, 0, 1023, 0, 60); // מיפוי למשך הפעלת נורה בשניות
- if ((distance < dPotVal) && (ldrVal < lPotVal)) { // מרחק קטן מהרצוי וחשוך בחוץ
- digitalWrite(ledPin, HIGH);
- delay(tPotVal * 1000);
- digitalWrite(ledPin, LOW);
- }
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement