Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Γνωριμία με τον πίνακα αναμετάδοσης σειράς 4 καναλιών DockerPi
- Βήμα 2: Χαρακτηριστικά
- Βήμα 3: Χάρτης διεύθυνσης συσκευής
- Βήμα 4: Συνδέστε το ρελέ στη βάση λαμπτήρα που τροφοδοτείται από την κύρια ηλεκτρική τροφοδοσία
- Βήμα 5: Διαμόρφωση I2C (Raspberry Pi)
- Βήμα 6: Άμεσος έλεγχος χωρίς προγραμματισμό (Raspberry Pi)
- Βήμα 7: Πρόγραμμα στη γλώσσα C (Raspberry Pi)
- Βήμα 8: Πρόγραμμα σε Python (Raspberry Pi)
- Βήμα 9: Πρόγραμμα σε Java (Raspberry Pi)
Βίντεο: Σύστημα ελέγχου φώτων: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Πρόσφατα δούλευα για την κατανόηση μικροελεγκτών και συσκευών που βασίζονται σε IOT για σκοπούς Έρευνας Ασφάλειας. Έτσι, σκέφτηκα να δημιουργήσω ένα μικρό σύστημα αυτοματισμού σπιτιού για εξάσκηση. Δεν έχω ακόμη ολοκληρώσει αυτό, αλλά για την εκκίνηση θα μοιραστώ πώς χρησιμοποίησα το Raspberry Pi 2 και μερικά άλλα ηλεκτρικά εξαρτήματα για τον έλεγχο του φωτισμού του δωματίου μου σε αυτήν την ανάρτηση. Επίσης, δεν θα μιλήσω για την αρχική ρύθμιση για το Raspberry εδώ, μπορεί να βρείτε διάφορα σεμινάρια για αυτό.
Αλλά σε αυτό το έργο, θα σας παρουσιάσω αυτό το προϊόν της σειράς docker pi.
Προμήθειες
Λίστα εξαρτημάτων:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- Κάρτα 1 x 16 GB TF Class 10
- 1 x DockerPi series 4 Channel Relay Board (HAT)
- 1 x [email protected] τροφοδοτικό που είναι από 52Pi
- 4 x Λωρίδα φωτός
- 1 x βύσμα DC
- Τροφοδοσία 1 x 12V για τις λωρίδες φωτός.
- αρκετά καλώδια.
Βήμα 1: Γνωριμία με τον πίνακα αναμετάδοσης σειράς 4 καναλιών DockerPi
Το DockerPi 4 Channel Relay είναι μέλος της σειράς DockerPi, που χρησιμοποιείται συχνότερα σε εφαρμογές IOT.
Το DockerPi 4 Channel Relay μπορεί να μεταφέρει AC/DC, αντί για τους παραδοσιακούς διακόπτες, για να επιτύχει περισσότερες ιδέες. Το DockerPi 4 Channel Relay μπορεί να στοιβάζεται έως 4 και μπορεί να στοιβάζεται με άλλη πλακέτα επέκτασης DockerPi. Εάν πρέπει να τρέξετε για μεγάλο χρονικό διάστημα, σας συνιστούμε επίσης να χρησιμοποιήσετε τον πίνακα επέκτασης DockerPi Power για να παρέχετε περισσότερη ισχύ.
ΣΗΜΕΙΩΣΗ ΠΡΟΣΟΧΗΣΠριν προχωρήσουμε περαιτέρω θα ήθελα να σας ΠΡΟΕΙΔΟΠΟΙΗΣΩ για τον ΚΙΝΔΥΝΟ να πειραματιστείτε με το "ρεύμα ρεύματος". Εάν κάτι πάει στραβά, η χειρότερη συνέπεια μπορεί να είναι ο θάνατος ή τουλάχιστον το κάψιμο του σπιτιού σας. Επομένως, ΜΗΝ ΠΡΟΣΠΑΘΕΤΕ να κάνετε οτιδήποτε αναφέρεται σε αυτό το άρθρο εάν δεν καταλαβαίνετε τι κάνετε ή καλύτερα να λάβετε τη βοήθεια κάποιου έμπειρου ηλεκτρολόγου. Ας αρχίσουμε.
Βήμα 2: Χαρακτηριστικά
- Σειρά DockerPi
- Προγραμματιζόμενος
- Έλεγχος απευθείας (χωρίς προγραμματισμό)
- Επεκτείνετε τις καρφίτσες GPIO
- Ρελέ 4 καναλιών
- 4 Υποστήριξη Alt I2C Addr
- Υποστήριξη Relay Status Leds
- 3A 250V AC Υποστήριξη
- 3A 30V DC
- Μπορεί να στοιβάζεται με άλλο πίνακα στοίβας Ανεξάρτητα από το υλικό της μητρικής πλακέτας (απαιτείται υποστήριξη I2C)
Βήμα 3: Χάρτης διεύθυνσης συσκευής
Αυτός ο πίνακας έχει ξεχωριστή διεύθυνση καταχωρητή και μπορείτε απλά να ελέγξετε κάθε ρελέ με μία εντολή.
Λοιπές απαιτήσεις:
Βασική κατανόηση Python ή C ή κελύφους ή Java ή οποιασδήποτε άλλης γλώσσας (θα χρησιμοποιώ C, python, shell και java)
- Βασική κατανόηση των συστημάτων Linux
- Ετοιμότητα πνεύματος
Τώρα, πριν προχωρήσετε θα πρέπει να κατανοήσετε τα ηλεκτρικά εξαρτήματα που θα χρησιμοποιήσουμε:
1. Ρελέ:
Ένα ρελέ είναι μια ηλεκτρική συσκευή που χρησιμοποιείται γενικά για τον έλεγχο υψηλών τάσεων χρησιμοποιώντας πολύ χαμηλή τάση ως είσοδο. Αυτό αποτελείται από ένα πηνίο τυλιγμένο γύρω από έναν πόλο και δύο μικρά μεταλλικά πτερύγια (κόμβοι) που χρησιμοποιούνται για το κλείσιμο του κυκλώματος. Ένας από τους κόμβους είναι σταθερός και ο άλλος είναι κινητός. Κάθε φορά που ένας ηλεκτρισμός διέρχεται από το πηνίο, δημιουργεί ένα μαγνητικό πεδίο και προσελκύει τον κινούμενο κόμβο προς τον στατικό κόμβο και το κύκλωμα ολοκληρώνεται. Έτσι, απλώς εφαρμόζοντας μικρή τάση για να ενεργοποιήσουμε το πηνίο, μπορούμε πραγματικά να ολοκληρώσουμε το κύκλωμα για να ταξιδέψει η υψηλή τάση. Επίσης, καθώς ο στατικός κόμβος δεν είναι φυσικά συνδεδεμένος με το πηνίο, υπάρχει πολύ μικρότερη πιθανότητα ο μικροελεγκτής που τροφοδοτεί το πηνίο να καταστραφεί εάν κάτι πάει στραβά.
Βήμα 4: Συνδέστε το ρελέ στη βάση λαμπτήρα που τροφοδοτείται από την κύρια ηλεκτρική τροφοδοσία
Τώρα στο δύσκολο κομμάτι, θα συνδέσουμε το ρελέ στη βάση λαμπτήρα που τροφοδοτείται από την παροχή Main Electric. Αλλά, πρώτα θέλω να σας δώσω μια σύντομη ιδέα για το πώς τα φώτα ενεργοποιούνται και απενεργοποιούνται μέσω άμεσης τροφοδοσίας.
Τώρα, όταν ο λαμπτήρας είναι συνδεδεμένος με την κύρια παροχή, το κάνουμε συνήθως συνδέοντας δύο καλώδια στον λαμπτήρα. ένα από τα καλώδια είναι ένα "Ουδέτερο" σύρμα και ένα άλλο είναι το "Αρνητικό" σύρμα που μεταφέρει στην πραγματικότητα το ρεύμα, επίσης υπάρχει ένας διακόπτης που προστίθεται σε ολόκληρο το κύκλωμα για τον έλεγχο του μηχανισμού ON / OFF. Έτσι, όταν το swith είναι συνδεδεμένο (Or ενεργοποιημένο) το ρεύμα ρέει μέσω του λαμπτήρα και του ουδέτερου καλωδίου, ολοκληρώνοντας το κύκλωμα. Αυτό ενεργοποιεί τη λάμπα. Όταν κλείνει ο διακόπτης, σπάει το κύκλωμα και ο λαμπτήρας σβήνει. Ακολουθεί ένα μικρό διάγραμμα κυκλώματος για να το εξηγήσετε:
Τώρα, για το πείραμά μας, θα χρειαστεί να κάνουμε το "Αρνητικό Σύρμα" να περάσει από το ρελέ μας για να σπάσει το κύκλωμα και να ελέγξει τη ροή ισχύος χρησιμοποιώντας τη μεταγωγή του ρελέ. Έτσι, όταν το ρελέ ενεργοποιηθεί, θα πρέπει να ολοκληρώσει το κύκλωμα και ο λαμπτήρας να ανάψει και αντίστροφα. Ανατρέξτε στο παρακάτω διάγραμμα για Πλήρες κύκλωμα.
Βήμα 5: Διαμόρφωση I2C (Raspberry Pi)
Εκτελέστε sudo raspi-config και ακολουθήστε τις οδηγίες για να εγκαταστήσετε υποστήριξη i2c για τον πυρήνα ARM και τον πυρήνα linux
Μεταβείτε στις Επιλογές διασύνδεσης
Βήμα 6: Άμεσος έλεγχος χωρίς προγραμματισμό (Raspberry Pi)
Ενεργοποιήστε το ρελέ καναλιού Νο. 1
i2cset -y 1 0x10 0x01 0xFF
Απενεργοποιήστε το ρελέ καναλιού Νο. 1
i2cset -y 1 0x10 0x01 0x00
Ενεργοποιήστε το ρελέ καναλιού Νο. 2
i2cset -y 1 0x10 0x02 0xFF
Απενεργοποιήστε το ρελέ καναλιού No2
i2cset -y 1 0x10 0x02 0x00
Ενεργοποιήστε το ρελέ καναλιού Νο. 3
i2cset -y 1 0x10 0x03 0xFF
Απενεργοποιήστε το ρελέ καναλιού Νο. 3
i2cset -y 1 0x10 0x03 0x00
Ενεργοποιήστε το ρελέ καναλιού Νο. 4
i2cset -y 1 0x10 0x04 0xFF
Απενεργοποιήστε το ρελέ καναλιού Νο. 4
i2cset -y 1 0x10 0x04 0x00
Βήμα 7: Πρόγραμμα στη γλώσσα C (Raspberry Pi)
Δημιουργήστε πηγαίο κώδικα και ονομάστε τον "relay.c"
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (άκυρο)
{
printf ("Ενεργοποίηση ρελέ στο C / n");
int fd;
int i = 0;
fd = καλωδίωσηPiI2CSetup (DEVICE_ADDR);
Για(;;){
για (i = 1; i <= 4; i ++)
{
printf ("ενεργοποίηση ρελέ αρ. $ d", i);
καλωδίωσηPiI2CWriteReg8 (fd, i, ON);
ύπνος (200)?
printf ("απενεργοποίηση ρελέ αρ. $ d", i);
καλωδίωσηPiI2CWriteReg8 (fd, i, OFF);
ύπνος (200)?
}
}
επιστροφή 0?
}
Μεταγλωττίστε το
ρελέ gcc.c -lwiringPi -o ρελέ
Εκτέλεσε το
./αναμετάδοση
Βήμα 8: Πρόγραμμα σε Python (Raspberry Pi)
Ο ακόλουθος κώδικας συνιστάται να εκτελεστεί χρησιμοποιώντας Python 3 και να εγκαταστήσετε τη βιβλιοθήκη smbus:
Δημιουργήστε ένα αρχείο με το όνομα: "relay.py" και επικολλήστε τον ακόλουθο κώδικα:
χρόνος εισαγωγής ως t
εισαγωγή smbus
εισαγωγή sys
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
bus = smbus. SMBus (DEVICE_BUS)
ενώ True:
προσπαθήστε:
για i στην περιοχή (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t. ύπνος (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t. ύπνος (1)
εκτός από το KeyboardIntrrupt as e:
εκτύπωση ("Quit the Loop")
sys.exit ()
* Αποθηκεύστε το και στη συνέχεια εκτελέστε το ως python3:
ρελέ python3.py
Βήμα 9: Πρόγραμμα σε Java (Raspberry Pi)
Δημιουργήστε ένα νέο αρχείο με το όνομα: I2CRelay.java και επικολλήστε τον ακόλουθο κώδικα:
εισαγωγή java.io. IOException;
εισαγωγή java.util. Arrays;
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice;
εισαγωγή com.pi4j.io.i2c. I2CFactory?
εισαγωγή com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException?
εισαγωγή com.pi4j.platform. PlatformAlreadyAssignedException;
εισαγωγή com.pi4j.util. Console;
δημόσια τάξη I2CRelay {
// διεύθυνση μητρώου ρελέ.
δημόσιος στατικός τελικός int DOCKER_PI_RELAY_ADDR = 0x10;
// κανάλι ρελέ.
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_1 = (byte) 0x01;
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_2 = (byte) 0x02;
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_3 = (byte) 0x03?
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_4 = (byte) 0x04;
// Κατάσταση ρελέ
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_ON = (byte) 0xFF;
δημόσιο στατικό τελικό byte DOCKER_PI_RELAY_OFF = (byte) 0x00;
public static void main (String args) ρίχνει InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
τελική κονσόλα κονσόλας = νέα κονσόλα ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice device = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Ενεργοποίηση ρελέ!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.sleep (500);
console.println ("Απενεργοποίηση ρελέ!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Συνιστάται:
ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΧΡΕΩΣΗΣ ΤΙΜΟΛΟΓΙΟΥ ΚΑΙ ΑΠΟΘΕΜΑΤΟΣ: 3 Βήματα
ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΧΡΕΩΣΗΣ ΤΙΜΟΛΟΓΙΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ: Με αυτό το εκπαιδευτικό εγχειρίδιο, θα σας δώσω μια ιδέα να δημιουργήσετε ένα σύστημα ελέγχου τιμολογίου και αποθέματος. Χρησιμοποιώντας πρόσβαση MS. Είναι πολύ εύκολο και δεν χρειάζεται περισσότερες γνώσεις υπολογιστή ή προγραμματισμού. Εάν έχετε βασικές γνώσεις για την κα Πρόσβαση, Πίνακες. φόρμες και αναφορές τ
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi: 6 βήματα
Σύστημα παρακολούθησης και ελέγχου εσωτερικού κλίματος Raspberry Pi: Οι άνθρωποι θέλουν να είναι άνετα μέσα στο σπίτι τους. Καθώς το κλίμα στην περιοχή μας μπορεί να μην ταιριάζει στον εαυτό μας, χρησιμοποιούμε πολλές συσκευές για να διατηρήσουμε ένα υγιές εσωτερικό περιβάλλον: θερμαντήρας, ψύκτης αέρα, υγραντήρας, αφυγραντήρας, καθαριστής κλπ. Σήμερα, είναι κοινόχρηστο
Σύστημα Αυτόματου Ελέγχου Πλάκας (HPACS): 3 Βήματα
Σύστημα Αυτόματου Ελέγχου Πλάκας (HPACS): Αυτό το έργο στοχεύει στην παροχή ενός απλού διαισθητικού τρόπου κατανόησης του τρόπου αυτόματης ρύθμισης PID χρησιμοποιώντας θερμάστρα. Αυτό που έχω φτιάξει βασίζεται στη μέθοδο Åström – Hägglund για την εξαγωγή παραμέτρων χρησιμοποιώντας τον έλεγχο κρούσης για να αποκαλύψει τα χαρακτηριστικά του συστήματος
Ηλεκτρονικό σύστημα ασφαλείας με σύστημα ελέγχου ματιών Μέρος 2: 3 βήματα
Ηλεκτρονικό σύστημα ασφαλείας με σύστημα ελέγχου ματιών Μέρος 2: Γεια σας παιδιά! Αν δεν έχετε δει το Part-1 ΠΑΤΗΣΤΕ ΕΔΩ. Σε αυτό το έργο, θα δούμε μια απλή εφαρμογή Home Security που ονομάζεται Electronic Eye Controlled Security System χρησιμοποιώντας LDR ως κύριο αισθητήρα και μερικά άλλα εξαρτήματα. Το ηλεκτρονικό μάτι καλείται επίσης
ΕΝΑΛΛΑΚΤΙΚΟ ΕΛΕΓΧΟΥ ΣΗΜΑΤΟΣ ΓΕΝΝΗΤΡΙΑΣ ΕΛΕΓΧΟΥ ΓΙΑ ΕΛΕΓΧΟ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΧΥΤΗΤΑΣ (ESC): 7 Βήματα
ΕΝΑΛΛΑΚΤΙΚΟ ΕΛΕΓΧΟΥ ΕΓΧΕΙΡΙΔΙΟΥ ΣΗΜΑΤΟΣ ΓΕΝΙΚΟΥ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΤΑΧΥΤΗΤΑ (ESC): Πριν από λίγο καιρό δημοσίευσα ένα βίντεο (https://www.youtube.com/watch?v=-4sblF1GY1E) στο κανάλι μου στο YouTube όπου έδειξα πώς να φτιάχνω ανεμογεννήτρια από κινητήρα DC χωρίς ψήκτρες. Έκανα το βίντεο στα Ισπανικά και εξηγούσε ότι αυτός ο κινητήρας είχε δοθεί σε