Εμφάνιση αναρτήσεων με ετικέτα αισθητήρας βροχόπτωσης. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα αισθητήρας βροχόπτωσης. Εμφάνιση όλων των αναρτήσεων

Σάββατο 20 Φεβρουαρίου 2021

Αισθητήρας βροχόπτωσης σε ψηφιακή λειτουργία: προειδοποίηση με 2 LED και buzzer

 Περιγραφή

Ο αισθητήρας βροχόπτωσης μπορεί να ανιχνεύει σταγόνες νερού επειδή η παρουσία των σταγόνων νερού στην επιφάνειά του έχει σαν αποτέλεσμα την μεταβολή της αντίστασής του. Συγκεκριμένα:

  • Περισσότερο νερό στην επιφάνεια σημαίνει καλύτερη αγωγιμότητα και έτσι μικρότερη αντίσταση.
  • Λιγότερο νερό στην επιφάνεια σημαίνει χειρότερη αγωγιμότητα και, έτσι, μεγαλύτερη αντίσταση.

Ο αισθητήρας παράγει τάση εξόδου ανάλογη της αντίστασης, και έτσι, μπορούμε να προσδιορίσουμε εάν βρέχει ή όχι. Λειτουργεί με δύο τρόπους, αναλογικό ή ψηφιακό, και διαθέτει δύο εξόδους σήματος, Α0 και D0 αντίστοιχα. Εδώ ο αισθητήρας λειτουργεί με ψηφιακό τρόπο. Αρχικά, περιστρέφοντας το ποτενσιόμετρο της πλακέτας, θα καθορίσουμε την ευαισθησία του αισθητήρα, με βαθμονόμηση όπως περιγράφεται στην ανάρτηση εδώ. Ο αισθητήρας σε ψηφιακή λειτουργία δίνει στην έξοδο D0 δύο δυνατές τιμές LOW ή HIGH, που ισοδυναμούν με τις δυνατές τιμές ON ή OFF ενός διακόπτη. Στην πλακέτα του αισθητήρα, ένα ενσωματωμένο LED πληροφορεί για αυτήν την κατάσταση ON/OFF.

Όταν βρέχει, η έξοδος είναι ΟΝ, η κόκκινη λυχνία LED ανάβει και το buzzer ηχεί, διαφορετικά η πράσινη λυχνία είναι αναμμένη.

Εξαρτήματα και συνδέσεις

  • Arduino Uno
  • Αισθητήρας βροχόπτωσης
  • Κόκκινο LED
  • Πράσινο LED
  • 2x 220Ω αντιστάτες
  • Breadboard και καλώδια
Η έξοδος του αισθητήρα συνδέεται στην ψηφιακή είσοδο 3. Οι λυχνίες συνδέονται στις ψηφιακές εξόδους 8 και 9 και προστατεύονται με 2 αντιστάτες 220Ω. Το buzzer συνδέεται στην ψηφιακή έξοδο 10.

Κώδικας

int R_LED = 8;
int G_LED = 9;
int buzzer= 10;
int rainSensor = 3;
int rain_ON;
void setup()
{
pinMode(R_LED, OUTPUT);
pinMode(G_LED, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(rainSensor, INPUT);
digitalWrite(G_LED, LOW);
digitalWrite(R_LED, LOW);
digitalWrite(buzzer, LOW);
}
void loop()
{
rain_ON = digitalRead(rainSensor);
delay(2000);
if (rain_ON == 0)
{
digitalWrite(R_LED, LOW);
digitalWrite(G_LED, HIGH);
digitalWrite(buzzer, LOW);
}
else
{
digitalWrite(R_LED, HIGH);
digitalWrite(G_LED, LOW);
digitalWrite(buzzer, HIGH);
}
}


Αισθητήρας βροχόπτωσης σε αναλογική λειτουργία: προειδοποίηση με 2 LED

 Περιγραφή

Ο αισθητήρας βροχόπτωσης μπορεί να ανιχνεύει σταγόνες νερού επειδή η παρουσία των σταγόνων νερού στην επιφάνειά του έχει σαν αποτέλεσμα την μεταβολή της αντίστασής του. Συγκεκριμένα:

  • Περισσότερο νερό στην επιφάνεια σημαίνει καλύτερη αγωγιμότητα και έτσι μικρότερη αντίσταση.
  • Λιγότερο νερό στην επιφάνεια σημαίνει χειρότερη αγωγιμότητα και, έτσι, μεγαλύτερη αντίσταση.

Ο αισθητήρας παράγει τάση εξόδου ανάλογη της αντίστασης, και έτσι, μπορούμε να προσδιορίσουμε εάν βρέχει ή όχι. Λειτουργεί με δύο τρόπους, αναλογικό ή ψηφιακό, και διαθέτει δύο εξόδους σήματος, Α0 και D0 αντίστοιχα. Εδώ ο αισθητήρας λειτουργεί με αναλογικό τρόπο.

Όταν βρέχει, η κόκκινη λυχνία LED ανάβει, διαφορετικά η πράσινη λυχνία είναι αναμμένη.

Εξαρτήματα και συνδέσεις


  • Arduino UNO
  • Αισθητήρας βροχόπτωσης
  • Κόκκινο led
  • Πράσινο led
  • 2 x 220Ω αντιστάτες
  • Breadboard και καλώδια
Η έξοδος του αισθητήρα συνδέεται στην αναλογική Α0. Οι λυχνίες συνδέονται στις ψηφιακές εξόδους 8 και 9 και προστατεύονται με 2 αντιστάτες 220Ω.

Κώδικας

int greenLED = 9;
int redLED = 8;
int thresholdValue = 790;

void setup(){
  pinMode(A0, INPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
  digitalWrite(greenLED, LOW);
  digitalWrite(redLED, LOW);
}

void loop() {
  int sensorValue = analogRead(A0);
  if(sensorValue < thresholdValue){
    digitalWrite(greenLED, LOW);
    digitalWrite(redLED, HIGH);
  }
  else {
    digitalWrite(greenLED, HIGH);
    digitalWrite(redLED, LOW);
  }
  delay(2000);
}


Αισθητήρας βροχόπτωσης σε ψηφιακή λειτουργία: βαθμονόμηση (καθορισμός τιμής κατωφλίου)

 Περιγραφή

Ο αισθητήρας βροχόπτωσης μπορεί να ανιχνεύει σταγόνες νερού επειδή η παρουσία των σταγόνων νερού στην επιφάνειά του έχει σαν αποτέλεσμα την μεταβολή της αντίστασής του. Συγκεκριμένα:

  • Περισσότερο νερό στην επιφάνεια σημαίνει καλύτερη αγωγιμότητα και έτσι μικρότερη αντίσταση.
  • Λιγότερο νερό στην επιφάνεια σημαίνει χειρότερη αγωγιμότητα και, έτσι, μεγαλύτερη αντίσταση

Λειτουργεί με δύο τρόπους, αναλογικό ή ψηφιακό, και διαθέτει δύο εξόδους σήματος, Α0 και D0 αντίστοιχα. Εδώ ο αισθητήρας λειτουργεί με ψηφιακό τρόπο.

Για να δίνει ακριβείς μετρήσεις ο αισθητήρας, συνιστάται να έχει βαθμονομηθεί. Η μονάδα (module) διαθέτει ενσωματωμένο ποτενσιόμετρο για τη βαθμονόμηση της ψηφιακής εξόδου (D0) και ένα LED. Περιστρέφοντας το κουμπί του ποτενσιόμετρου, ορίζεται ένα κατώφλι. Έτσι, όταν η ποσότητα νερού υπερβαίνει την τιμή κατωφλίου, η λυχνία LED ανάβει και η ψηφιακή έξοδος (D0) δίνει την τιμή LOW.

Για τη βαθμονόμηση του αισθητήρα, συνδέουμε με την πλακέτα Arduino ώστε να τροφοδοτείται, ψεκάζουμε με την ποσότητα νερού που θέλουμε να ανιχνεύουμε, περιστρέφουμε το ποτενσιόμετρο δεξιόστροφα, έτσι ώστε το LED να ανάψει και, στη συνέχεια, ρυθμίζουμε το ποτενσιόμετρο αριστερόστροφα, προς τα πίσω μέχρι μόλις να σβήσει το LED.




Αισθητήρας βροχόπτωσης σε αναλογική λειτουργία: εκτύπωση τιμών στην σειριακή οθόνη

Περιγραφή

Ο αισθητήρας βροχόπτωσης μπορεί να ανιχνεύει σταγόνες νερού επειδή η παρουσία των σταγόνων νερού στην επιφάνειά του έχει σαν αποτέλεσμα την μεταβολή της αντίστασής του. Συγκεκριμένα:

  • Περισσότερο νερό στην επιφάνεια σημαίνει καλύτερη αγωγιμότητα και έτσι μικρότερη αντίσταση.
  • Λιγότερο νερό στην επιφάνεια σημαίνει χειρότερη αγωγιμότητα και, έτσι, μεγαλύτεραη αντίσταση.

Ο αισθητήρας παράγει τάση εξόδου ανάλογη της αντίστασης, και έτσι, μπορούμε να προσδιορίσουμε εάν βρέχει ή όχι. Λειτουργεί με δύο τρόπους, αναλογικό ή ψηφιακό, και διαθέτει δύο εξόδους σήματος, Α0 και D0 αντίστοιχα. Εδώ ο αισθητήρας λειτουργεί με αναλογικό τρόπο.

Στην σειριακή οθόνη εκτυπώνονται οι αναλογικές τιμές τάσης όταν η επιφάνεια είναι στεγνή και όταν έχουμε ψεκάσει με σταγόνες νερού. Αυτές οι τιμές πρέπει να είναι γνωστές όταν θέλουμε να δημιουργήσουμε αυτοματισμούς που βασίζονται στον αισθητήρα βροχόπτωσης όπως για παράδειγμα όταν βρέχει ένας λαμπτήρας LED ανάβει ή ένα buzzer ηχεί. Στις περιπτώσεις αυτές, μπορούμε να χρησιμοποιούμε τις τιμές 0-1023, ωστόσο η λειτουργία του αισθητήρα δεν είναι τόσο αποδοτική.

Εξαρτήματα και συνδέσεις


Η έξοδος του αισθητήρα συνδέεται στην αναλογική Α0.

Κώδικας

void setup() {
pinMode(A0,INPUT);
Serial.begin(9600); 
}

void loop() {
Serial.println(analogRead(A0));  
delay(2000);
}