Η πλατφόρμα Arduino είναι μία από τις καλύτερες για την κατασκευή διαφόρων αυτοματοποιημένων συστημάτων. Επιπλέον, πολλά πανεπιστήμια και κολέγια χρησιμοποιούν το Arduino για να μυήσουν τους φοιτητές στον τομέα της ρομποτικής. Πράγματι, το Arduino είναι μια πολύ ελαφριά, αλλά ταυτόχρονα ισχυρή πλατφόρμα για την κατασκευή διαφόρων ρομπότ και έξυπνων συστημάτων. Και φυσικά, για να πάρει όλο αυτό λιγότερο χρόνο, πωλούνται έτοιμοι αισθητήρες. Υπάρχει ένας τεράστιος αριθμός από αυτά στα καταστήματα, επομένως είναι αρκετά δύσκολο να μπερδευτείτε στην επιλογή του σωστού. Σε αυτό το άρθρο, θα δούμε μερικούς από τους κύριους αισθητήρες Arduino και πώς λειτουργούν.
Πού να αγοράσετε
Το γεγονός είναι ότι οι αισθητήρες στα καταστήματά μας κοστίζουν πολλά χρήματα. Και αν πρόκειται να ξεκινήσετε την εξερεύνηση της πλατφόρμας Arduino, τότε απλά πρέπει να ξέρετε πού μπορείτε να τα αγοράσετε σε χαμηλή τιμή. Η απάντηση είναι απλή - κινέζικα καταστήματα. Θα μπορούσε να είναιAliexpress, Joom, Pandao και άλλοι. Σχεδόν όλα τα καταστήματα αγοράζουν αισθητήρες εκεί και τους πωλούν με τεράστιο περιθώριο, που φτάνει έως και το 300%. Φυσικά, θα πρέπει να περιμένετε λίγο και δεν μπορείτε να είστε σίγουροι για την ποιότητα των προϊόντων, αλλά δεν αξίζει τον κόπο να πληρώσετε τρεις φορές περισσότερο για τον ίδιο αισθητήρα. Παράδειγμα: Το Aliexpress διαθέτει ένα σετ 36 αισθητήρων που κοστίζει 800 ρούβλια. Το ίδιο σετ πωλείται σε ρωσικό κατάστημα για 3,5 χιλιάδες ρούβλια. Οπότε εξαρτάται από εσάς.
Μονάδα σέρβο
Η μονάδα Servo χρησιμοποιείται στη σχεδίαση ρομπότ και διαφόρων έξυπνων συστημάτων. Με τη βοήθεια ενός σερβομηχανισμού, μπορείτε να ανοίξετε πόρτες, να μάθετε τον βαθμό περιστροφής και πολλά άλλα. Αλλά κυρίως χρησιμοποιείται στη δημιουργία ρομπότ. Η μέγιστη γωνία περιστροφής του σερβομηχανισμού: 180 μοίρες. Αλλά μερικές φορές στους ανοιχτούς χώρους του Aliexpress μπορείτε επίσης να δείτε επιλογές με γωνία περιστροφής 360 μοιρών. Αυτό είναι ένα αρκετά βασικό στοιχείο, σχεδόν όλα τα μαθήματα για το Arduino με αισθητήρες ξεκινούν από αυτό. Ο σερβομηχανισμός συνδέεται εύκολα, ο κωδικός ελέγχου είναι πολύ απλός.
Για τη σύνδεση του σερβομηχανισμού, χρησιμοποιούνται μόνο τρία καλώδια: γείωση, τροφοδοσία, λογική. Το καλώδιο σήματος (συνήθως κίτρινο ή καφέ) είναι συνδεδεμένο σε οποιαδήποτε ακίδα με δυνατότητα PWM (διαμόρφωση ευρείας παλμού) στο Arduino.
Παράδειγμα κώδικα:
περιλαμβάνει // περιλαμβάνει τη βιβλιοθήκη για εργασία με το Servo servo1. // δηλώνει μια μεταβλητή σερβο τύπου "servo1" void setup() // setup procedure { servo1.attach(11); //bind servo στην αναλογική έξοδο 11 } void loop() // process loop { servo1.write(0); // ορίστε τη γωνία περιστροφής σε καθυστέρηση 0 (2000); // περιμένετε 2 δευτερόλεπτα servo1.write(90); // ορίστε τη γωνία περιστροφής σε καθυστέρηση 90 (2000); // περιμένετε 2 δευτερόλεπτα servo1.write(180); // ορίστε τη γωνία περιστροφής σε καθυστέρηση 180 (2000); // περιμένετε 2 δευτερόλεπτα }
Πρώτα, προσθέτουμε στον κώδικα τη βιβλιοθήκη που βρίσκεται ήδη στο Arduino και μετά υποδεικνύουμε σε ποιο pin είναι συνδεδεμένος ο σερβομηχανισμός. Όπως μπορείτε να δείτε, η εργασία με έναν σερβομηχανισμό είναι πραγματικά πολύ απλή, ο έλεγχος είναι μόνο ένας τελεστής.
Τιμή στο Aliexpress: 80–100 ρούβλια.
DHT-11
Το DHT-11 χρησιμοποιείται για τη μέτρηση της θερμοκρασίας και της υγρασίας. Αυτός ο αισθητήρας θερμοκρασίας για το Arduino είναι ο πιο δημοφιλής λόγω της τιμής και των χαρακτηριστικών του. Μετρά τη θερμοκρασία στην περιοχή από 0 έως 50 βαθμούς και την υγρασία από 20 έως 80%. Επίσης πωλείται μια άλλη έκδοση αυτού του αισθητήρα, το DHT-22, έχει μεγαλύτερο εύρος μέτρησης, αλλά κοστίζει επίσης αρκετές φορές περισσότερο. Για απλά έργα, η χρήση του δεν ενδείκνυται, επομένως όλοι προτιμούν το DHT-11, το οποίο κάνει εξαιρετική δουλειά στη μέτρηση. Μπορεί να τροφοδοτηθεί από 3,3 έως 5V. Σε γενικές γραμμές, ο ίδιος ο αισθητήρας έχει 4 ακίδες σύνδεσης, αλλά υπάρχουν μονάδες DHT-11 προς πώληση, είναι πολύ πιο βολικό να εργαστείτε μαζί τους, αφού η σύνδεση γίνεται μέσω 3 ακίδων και δεν χρειάζεται να υποφέρετε με αντιστάσεις.
Σύνδεση. Αυτός ο αισθητήρας θερμοκρασίας συνδέεται με το Arduino χρησιμοποιώντας τρεις επαφές: γείωση, τροφοδοσία και λογική.
Παράδειγμα κώδικα:
συμπεριλαμβάνονται"DHT.h" define DHTPIN 2 // Ίδιος αριθμός pin που αναφέρεται παραπάνω DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 δευτερόλεπτα καθυστέρησης float h=dht.readHumidity(); //Measure humidity float t=dht.readTemperature(); //Μετρήστε τη θερμοκρασία εάν (isnan(h) || isnan(t)) { // Ελέγξτε. Εάν η ανάγνωση αποτύχει, εκτυπώνεται "Αποτυχία ανάγνωσης" και το πρόγραμμα βγαίνει από το Serial.println("Αποτυχία ανάγνωσης"); ΕΠΙΣΤΡΟΦΗ; } Serial.print("Υγρασία: "); Σειριακή εκτύπωση(h); Serial.print("%\t"); Serial.print("Θερμοκρασία: "); Σειριακή εκτύπωση(t); Serial.println("C"); //Εμφάνιση ενδείξεων στην οθόνη }
Στην αρχή, όπως όταν εργάζεστε με έναν σερβομηχανισμό, η βιβλιοθήκη είναι συνδεδεμένη. Παρεμπιπτόντως, για τη βιβλιοθήκη. Αρχικά, δεν βρίσκεται στο πακέτο Arduino, πρέπει να γίνει λήψη αυτής της βιβλιοθήκης. Υπάρχουν πολλές εκδόσεις αυτής της βιβλιοθήκης, στο παράδειγμά μας χρησιμοποιείται η πιο τυπική. Να είστε προσεκτικοί κατά τη λήψη, γιατί η σύνταξη μπορεί να είναι διαφορετική και ο κώδικας να μην λειτουργεί. Επιπλέον, αναγράφεται επίσης σε ποια επαφή είναι συνδεδεμένος ο αισθητήρας και η έκδοσή του (DHT11 ή DHT22). Όπως και με έναν σερβομηχανισμό, η εργασία με αυτόν τον αισθητήρα για το Arduino είναι πολύ εύκολη, χρησιμοποιώντας μόνο λίγους χειριστές. Παρεμπιπτόντως, συχνά ο σερβομηχανισμός και το dht11 συνεργάζονται, για παράδειγμα, όταν δημιουργούνται αυτόματα παράθυρα που θα ανοίγουν εάν το δωμάτιο ή το θερμοκήπιο είναι πολύ ζεστό.
Τιμή στο Aliexpress: 80–100 ρούβλια.
Αισθητήρας υγρασίας εδάφους
Αυτός ο αισθητήρας χρησιμοποιείται ότανσχεδιασμός αυτόματης άρδευσης. Με αυτό, μπορείτε να μετρήσετε την υγρασία του εδάφους και στη συνέχεια να επεξεργαστείτε αυτά τα δεδομένα και, εάν είναι απαραίτητο, να ποτίσετε το φυτό. Υπάρχουν πολλές παραλλαγές αυτού του αισθητήρα για το Arduino προς πώληση, αλλά το μοντέλο FC-28 είναι δημοφιλές. Αρκετά οικονομική επιλογή, οπότε όλοι το αγαπούν και το χρησιμοποιούν στα έργα τους. Ο αισθητήρας έχει δύο ανιχνευτές που μεταφέρουν ηλεκτρισμό μέσω του εδάφους. Με ξηρό έδαφος, η αντίσταση είναι μεγαλύτερη, και με υγρό έδαφος, μικρότερη. Βασικά, αυτός ο αισθητήρας χρησιμοποιείται μόνο σε μικρά έργα, αυτό οφείλεται στο γεγονός ότι οι ανιχνευτές είναι κατασκευασμένοι από φτωχό υλικό και αργά ή γρήγορα, κατά την ενεργό εργασία, διαβρώνονται, μετά την οποία ο αισθητήρας σταματά να λειτουργεί. Η διάρκεια ζωής του αισθητήρα μπορεί να αυξηθεί ενεργοποιώντας τον μόνο κατά τη λήψη δεδομένων από το έδαφος, για παράδειγμα, μία φορά κάθε 6 ώρες. Μερικοί τεχνίτες αλλάζουν ακόμη και τους ανιχνευτές με καλύτερους, κατασκευασμένους μόνοι τους ή ακόμη και συναρμολογούν έναν αισθητήρα υγρασίας για το Arduino από την αρχή.
Η σύνδεση του αισθητήρα υγρασίας εδάφους είναι αρκετά απλή. Συνήθως συνοδεύεται από ένα ποτενσιόμετρο και έναν συγκριτή για τον έλεγχο της ευαισθησίας του αισθητήρα. Συνολικά, έχει τρεις επαφές: λογική, δύναμη και έδαφος. Μπορεί να συνδεθεί τόσο με ψηφιακές όσο και με αναλογικές επαφές. Παρεμπιπτόντως, είναι πιο βολικό να εργάζεστε σε αναλογική λειτουργία.
Παράδειγμα κώδικα:
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Ανάγνωση δεδομένων από τον αισθητήρα"); καθυστέρηση (2000); } void loop() { output_value=analogRead(sensor_pin);output_value=map(output_value, 550, 0, 0, 100); Serial.print("Υγρασία: "); Serial.print(output_value); Serial.println("%"); καθυστέρηση (1000); }
Πρώτα απ 'όλα, προσδιορίζουμε τις επαφές στις οποίες είναι συνδεδεμένος ο αισθητήρας στο Arduino. Στη συνέχεια διαβάζουμε τα δεδομένα από αυτό και τα εμφανίζουμε. Όπως και με άλλους αισθητήρες, το FC-28 είναι εύκολο να δουλέψεις. Και όλα αυτά χάρη σε έτοιμες βιβλιοθήκες και αισθητήρες.
Τιμή στο Aliexpress: 30–50 ρούβλια.
Αισθητήρας PIR
Αυτός ο αισθητήρας κίνησης για το Arduino χρησιμοποιείται στην κατασκευή διαφόρων συστημάτων ασφαλείας. Ανιχνεύει κινούμενα στοιχεία από 0 έως 7 μέτρα. Δεν θα εξετάσουμε την αρχή λειτουργίας, ας προχωρήσουμε στη σύνδεση αυτού του αισθητήρα στο Arduino.
Κρίνοντας από τις κριτικές, συνδέεται επίσης χρησιμοποιώντας τρεις επαφές: λογική, ισχύ και γείωση. Λειτουργεί μέσω ψηφιακών εξόδων.
Παράδειγμα κώδικα:
define PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, OUTPUT); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //Εάν εντοπιστεί κίνηση if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Εντοπίστηκε κίνηση"); καθυστέρηση (2000); } else { //Serial.print("No motion"); digitalWrite(PIN_LED, LOW); } }
Καθορίζουμε τις επαφές στις οποίες είναι συνδεδεμένος ο αισθητήρας και μετά ελέγχουμε για κίνηση. Η εργασία με αυτό είναι πολύ βολική και εύκολη, αλλά υπάρχουν περιπτώσεις ψευδών θετικών αποτελεσμάτων.
Τιμή γιαAliexpress: 30-50 ρούβλια.
εξαγωγή συμπερασμάτων
Παραπάνω, εξετάστηκαν οι κύριοι αισθητήρες για το Arduino, οι οποίοι είναι οι πρώτοι που μελετήθηκαν από αρχάριους ραδιοερασιτέχνες. Όπως μπορείτε να δείτε, είναι αρκετά φθηνά, συνδέονται εύκολα και η ανάγνωση δεδομένων διαρκεί μόνο μερικές γραμμές. Εκτός από αυτούς, υπάρχει ακόμα ένας τεράστιος αριθμός άλλων αισθητήρων, ακόμη και για τη μέτρηση του παλμού! Είναι πιο κερδοφόρο να τα αγοράσετε στο Aliexpress σε σετ, επομένως θα κοστίζουν ακόμη φθηνότερα. Είναι εύκολο να το δημιουργήσετε, το κύριο πράγμα είναι να θυμάστε τους τρεις βασικούς κανόνες της ρομποτικής!