Πίνακας περιεχομένων:
- Βήμα 1: Υλικά και εργαλεία
- Βήμα 2: Προετοιμάστε το ATTINY85
- Βήμα 3: Συναρμολογήστε το κύκλωμα
- Βήμα 4: Δοκιμή
- Βήμα 5: Επόμενα βήματα
Βίντεο: IOT123 - I2C 2CH RELAY BRICK: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Τα τούβλα IOT123 είναι σπονδυλωτές μονάδες DIY που μπορούν να πολτοποιηθούν με άλλα τούβλα IOT123, για να προσθέσουν λειτουργικότητα σε έναν κόμβο ή να φορεθούν. Βασίζονται στα τετράγωνα ίντσα, τα πρωτόπλακα διπλής όψης με διασυνδεδεμένες τρύπες.
Ορισμένα από αυτά τα ΤΟΥΒΑ αναμένεται να βρίσκονται σε πολλούς κόμβους (Master MCUs - ESP8266 ή ATTINY84) σε έναν ιστότοπο. Το MCU δεν χρειάζεται προηγούμενη γνώση του σκοπού των αισθητήρων ή των αναγκών του λογισμικού. Σαρώνει για κόμβους I2C και στη συνέχεια ζητά μια χωματερή ιδιότητας (δεδομένα αισθητήρα) από κάθε υποτελή. Αυτά τα τούβλα παρέχουν 5.0V, 3.3V και άλλη γραμμή AUX που είναι προσαρμόσιμη.
Αυτό το τούβλο ILC 2CH RELAY επεκτείνει τη λειτουργικότητα του τούβλου I2C KY019 και έχει δύο ιδιότητες ανάγνωσης/εγγραφής:
2CH RELAYS [0] (true/false)
2CH RELAYS [1] (true/false)
Οι διαμπερείς οπές δίπλα στο ATTINY85 έχουν μείνει αχρησιμοποίητες, για να ενεργοποιήσετε έναν προγραμματιστή καρφιτσών pogo ενώ το DIP8 είναι συγκολλημένο στο PCB. Μια περαιτέρω αφαίρεση, η συσκευασία των ΤΟΥΒΛΩΝ σε μικρούς κυλίνδρους που συνδέονται σε έναν διανομέα D1M WIFI BLOCK, που αντλεί τις τιμές σε έναν διακομιστή MQTT, αναπτύσσεται.
Βήμα 1: Υλικά και εργαλεία
Υπάρχει μια πλήρης λίστα λογαριασμών υλικού και πηγών.
- Ρελέ 2 καναλιών (1)
- ATTINY85 20PU (1)
- Πρωτόπλακα διπλής όψης (1)
- Αρσενική κεφαλίδα 90º (3P, 3P)
- Αρσενική κεφαλίδα (2P, 2P)
- Jumper Shunt (1)
- Σύρμα σύνδεσης (7 ~)
- Συγκόλληση και σίδερο (1)
Βήμα 2: Προετοιμάστε το ATTINY85
ΣΗΜΕΙΩΣΗ: Εάν σκοπεύετε να έχετε ενσωμάτωση Crouton, χρησιμοποιήστε τη βιβλιοθήκη από εδώ και χρησιμοποιήστε το παράδειγμα εγκατεστημένο "attiny_2ch_relay".
Απαιτείται AttinyCore από το Board Board. Εγγραφή bootloader "EEPROM διατηρήθηκε", "8mHZ Εσωτερικό" (όλα τα διαμορφωμένα εμφανίζονται παραπάνω).
Μπορείτε να βρείτε το αποθετήριο κώδικα εδώ.
Μπορείτε να βρείτε έναν ταχυδρομικό κώδικα της βιβλιοθήκης εδώ.
Οδηγίες για την "Εισαγωγή μιας βιβλιοθήκης ZIP" εδώ.
Μόλις εγκατασταθεί η βιβλιοθήκη, μπορείτε να ανοίξετε το παράδειγμα "attiny_2ch_relay".
Για να ανεβάσετε το υλικολογισμικό στο ATTINY85, μπορείτε να βρείτε περισσότερες λεπτομέρειες σε αυτές τις οδηγίες:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
Καλύτερα να δοκιμάσετε μέσω breadboard πριν συνεχίσετε.
Εάν έχετε υπάρχοντες ΑΙΣΘΗΤΗΡΕΣ ΑΙΣΘΗΤΗΡΕΣ, βεβαιωθείτε ότι η διεύθυνση slave είναι διαφορετική σε έναν συνδυασμό SENSOR/MCU Host, δηλαδή όλοι οι ηθοποιοί Relay μπορούν να έχουν την ίδια διεύθυνση αρκεί να έχετε μόνο έναν ηθοποιό Relay σε έναν MCU/κόμβο.
Βήμα 3: Συναρμολογήστε το κύκλωμα
- Στο μπροστινό μέρος, τοποθετήστε τα εξαρτήματα ATTINY85 (1), 3P 90deg αρσενικές κεφαλίδες (2) (3), 3P αρσενικές κεφαλές (4) (5) και συγκολλήστε το πίσω μέρος.
- Στο πίσω μέρος, εντοπίστε ένα κίτρινο καλώδιο από το YELLOW1 στο YELLOW2 και κολλήστε το.
- Στο πίσω μέρος, εντοπίστε ένα πορτοκαλί σύρμα από το ORANGE1 στο ORANGE2 και κολλήστε το.
- Στο πίσω μέρος, εντοπίστε ένα μπλε σύρμα από BLUE1 σε BLUE2 και κολλήστε.
- Στο πίσω μέρος, εντοπίστε ένα πράσινο καλώδιο από το GREEN1 στο GREEN2 και κολλήστε το.
- Στο πίσω μέρος, εντοπίστε ένα μαύρο καλώδιο από BLACK1 σε BLACK2 και κολλήστε.
- Στο πίσω μέρος, εντοπίστε ένα μαύρο καλώδιο από BLACK3 σε BLACK4 και κολλήστε.
- Στο πίσω μέρος, εντοπίστε ένα κόκκινο σύρμα από RED1 έως RED2 και κολλήστε.
- Στο πίσω μέρος, εντοπίστε ένα γυμνό καλώδιο από RED3 έως RED4 και κολλήστε.
- Στο πίσω μέρος, εντοπίστε ένα γυμνό καλώδιο από το SILVER1 στο SILVER2 και κολλήστε το.
- Προσθέστε έναν βραχυκυκλωτήρα στη γραμμή 5V ή 3V3.
Το ρελέ μπορεί τώρα να συνδεθεί απευθείας μέσω των ακίδων του στο PCB ή μέσω καλωδίων, στα σημεία που εμφανίζονται στη σύμβαση ακίδων.
Βήμα 4: Δοκιμή
Ορισμένα από αυτά τα ΤΟΥΒΑ αναμένεται να βρίσκονται σε πολλούς κόμβους (MCUs - ESP8266 ή ATTINY84) σε ένα περιβάλλον. Αυτό είναι ένα τεστ μονάδας: στέλνει εντολές I2C από το UNO στο ATTINY που ανοίγει ή κλείνει τα ρελέ.
Έχουμε δημιουργήσει προηγουμένως ένα I2C SHIELD για το Arduino.
Αν θέλετε αντ 'αυτού να πάρετε το breadboard:
- Συνδέστε το 5.0V στο UNO σε ένα VCC στο BRICK.
- Συνδέστε το GND στο UNO στο GND στο BRICK.
- Συνδέστε το A5 στο UNO στο SCL στο BRICK.
- Συνδέστε το A4 στο UNO στο SDA στο BRICK.
- Συνδέστε μια αντίσταση έλξης 4K7 από το SDA στο VCC.
- Συνδέστε μια αντίσταση έλξης 4K7 από SCL στο VCC.
Εκτέλεση της δοκιμής
- Συνδέστε το UNO στον υπολογιστή σας Dev με USB.
- Ανεβάστε τον κωδικό στο UNO.
- Ανοίξτε την κονσόλα Arduino.
- Επιλέξτε 9600 baud (επανεκκινήστε το UNO και ανοίξτε ξανά την κονσόλα αν χρειαστεί).
- Η διεύθυνση του slave θα εκτυπωθεί στην κονσόλα.
-
Όταν, πληκτρολογήστε στο πλαίσιο αποστολής 2 0: 1 (άρα 15 2 0: 1) και ενεργοποιείται το ρελέ CH1.
- Όταν, πληκτρολογήστε στο πλαίσιο αποστολής 2 0: 0 (άρα 15 2 0: 0) και το ρελέ CH1 απενεργοποιείται.
- Όταν, πληκτρολογήστε στο πλαίσιο αποστολής 2 1: 1 (άρα 15 2 1: 1) και ενεργοποιείται το ρελέ CH2.
- Όταν, πληκτρολογήστε στο πλαίσιο αποστολής 2 1: 0 (άρα 15 2 0: 0) και το ρελέ CH2 απενεργοποιείται.
I2C BRICK adhoc εντολές για σκλάβους από κύριο UNO
#περιλαμβάνω |
const byte _num_chars = 32; |
char _received_chars [_num_chars]; // ένας πίνακας για την αποθήκευση των ληφθέντων δεδομένων |
boolean _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("διασφάλιση επιλογής νέας γραμμής στο παράθυρο της κονσόλας"); |
Serial.println (); |
Serial.println ("ΔΙΕΥΘΥΝΣΗ 1 ΕΠΙΒΕΒΑΙΩΣΕΤΕ ΜΕΤΑΔΟΤΙΚΗ ΠΑΡΑΛΑΒΗ Ν/Α (ΓΙΑ Μ2Μ)"); |
Serial.println ("ΔΙΕΥΘΥΝΣΗ 2 ΕΝΤΟΛΗ ΗΘΟΠΟΙΟΥ"); |
Serial.println (); |
Serial.println ("ΔΙΕΥΘΥΝΣΕΙΣ ΣΤΟ ΛΕΩΦΟΡΕΙΟ:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
για (διεύθυνση byte = 8; διεύθυνση <127; διεύθυνση ++) |
{ |
Wire.beginTransmission (διεύθυνση); |
const byte error = Wire.endTransmission (); |
εάν (σφάλμα == 0) |
{ |
Serial.println (διεύθυνση); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
στατικό byte ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
εάν (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
εάν (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
αλλιώς { |
_received_chars [ndx] = '\ 0'; // τερματισμός της συμβολοσειράς |
ndx = 0; |
_has_new_data = true; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String دریافت_string = String (_received_chars); |
εάν (_has_new_data == true) { |
int idx1 = λαμβάνεται_χορδή.indexOf (''); |
Διεύθυνση συμβολοσειράς = ληφθείσα_χορδή.substring (0, idx1) |
int address_int = address.toInt (); |
if (διεύθυνση_int <8 || διεύθυνση_int> 127) { |
Serial.println ("ΑΚΥΡΗ ΕΙΣΟΔΟΣ ΔΙΕΥΘΥΝΣΗΣ:"); |
Serial.println (διεύθυνση); |
ΕΠΙΣΤΡΟΦΗ; |
} |
int idx2 = ληφθείσα_χορδή.indexOf ('', idx1+1); |
Κωδικός συμβολοσειράς. |
εάν (idx2 == -1) { |
κωδικός = λαμβάνεται_χορδές.substring (idx1+1); |
}αλλού{ |
κωδικός = λαμβάνεται_χορδές.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
εάν (code_int <0 || code_int> 5) { |
Serial.println ("ΑΚΥΡΗ ΕΙΣΟΔΟΣ ΚΩΔΙΚΟΥ:"); |
Serial.println (κωδικός); |
ΕΠΙΣΤΡΟΦΗ; |
} |
bool has_parameter = idx2> -1; |
Παράμετρος συμβολοσειράς. |
εάν (έχει_παράμετρο) { |
παράμετρος = λαμβάνεται_χορδές.substring (idx2 + 1, idx2 + 17); // 16 χαρακτήρες μέγ |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = false; |
ΕΠΙΣΤΡΟΦΗ; |
} |
}αλλού{ |
εάν (code_int> 1) { |
Serial.println ("ΑΠΑΙΤΕΙΤΑΙ ΠΑΡΑΜΕΤΡΟΣ!"); |
_has_new_data = false; |
ΕΠΙΣΤΡΟΦΗ; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (string_string); |
Serial.print ("διεύθυνση ="); |
Serial.println (διεύθυνση); |
Serial.print ("code ="); |
Serial.println (κωδικός); |
Serial.print ("παράμετρος ="); |
Serial.println (παράμετρος); |
// ΣΤΕΙΛΤΕ ΜΕΣΩ I2C |
Wire.beginTransmission (διεύθυνση_int); |
Wire.write (code_int); |
εάν (έχει_παράμετρο) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("ΑΠΟΣΤΟΛΗ μέσω V2 I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
προβολή rawuno_i2c_command_input.ino που φιλοξενείται με ❤ από το GitHub
Βήμα 5: Επόμενα βήματα
Η συνέχεια ASSIMILATE ACTOR: 2CH RELAY που χρησιμοποιεί αυτό το τούβλο έχει αυτόματη διαμόρφωση για το Crouton μέσω των μεταδεδομένων που είναι ήδη εγκατεστημένα στο ATTINY85 εδώ. Το πακέτο JSON που αποστέλλεται στο Crouton αποστέλλεται μέσω του τελευταίου υλικολογισμικού για το ICOS10. Μπορείτε να κάνετε ένα Proof-of-concept σε ένα συνηθισμένο ESP8266, εάν η κατασκευή είναι υπερβολική προς το παρόν.
Το σκίτσο UNO που χρησιμοποιείται στη Δοκιμή έχει μια λειτουργία για την αποθήκευση μιας νέας διεύθυνσης slave στο EEPROM στο ATTINY85, εάν έχετε σύγκρουση στο διαύλο στόχου I2C. Έχουν προστεθεί μερικά σχήματα, αλλά υπάρχουν διάφοροι τρόποι να συνδέσετε το κύκλωμα κατάντη ανάλογα με το τι θέλετε να επιτύχετε, οπότε θα το αφήσω για εσάς:)
Συνιστάται:
DIY Remote Control Switch Kit by 2262/2272 M4 Bread Board & Relay for Maker: 4 βήματα (με εικόνες)
DIY Remote Control Switch Kit by 2262/2272 M4 Bread Board & Relay for Maker: το έξυπνο σπίτι έρχεται στη ζωή μας. εάν θέλουμε το έξυπνο σπίτι να γίνει πραγματικότητα, χρειαζόμαστε πολλούς διακόπτες τηλεχειριστηρίου. σήμερα θα κάνουμε μια δοκιμή, κάνουμε ένα εύκολο κύκλωμα για να μάθουμε τη θεωρία του διακόπτη τηλεχειριστηρίου. αυτός ο σχεδιασμός κιτ από την SINONING ROBOT
Ελεγχόμενη WI-Fi 4CH Relay Module για οικιακό αυτοματισμό: 7 βήματα (με εικόνες)
Ελεγχόμενη WI-Fi 4CH Relay Module για οικιακό αυτοματισμό: Έχω χρησιμοποιήσει πολλά WI-FI βάσει απενεργοποιημένων διακοπτών στο παρελθόν. Αλλά αυτά δεν ταιριάζουν με τις απαιτήσεις μου. Αυτός είναι ο λόγος για τον οποίο ήθελα να φτιάξω τη δική μου, η οποία μπορεί να αντικαταστήσει τις κανονικές πρίζες Wall Switch χωρίς καμία τροποποίηση. Το ESP8266 Chip έχει δυνατότητα Wifi
Arduino Tutorial - BLYNK Styled Button και ESP -01 Relay Module: 3 βήματα (με εικόνες)
Arduino Tutorial - BLYNK Styled Button και ESP -01 Relay Module: Καλώς ορίσατε σε άλλο σεμινάριο στο κανάλι μας, αυτό είναι το πρώτο σεμινάριο αυτής της σεζόν που θα είναι αφιερωμένο στα συστήματα IoT, εδώ θα περιγράψουμε μερικές από τις δυνατότητες και τις λειτουργίες των συσκευών χρησιμοποιείται σε αυτόν τον τύπο συστημάτων. Για τη δημιουργία αυτών των
Κάντε κλικ στο Brick Switch for Makey Makey: 4 βήματα (με εικόνες)
Κάντε κλικ στο κουμπί Brick Switch for Makey Makey: Αυτός ο διακόπτης με 3D εκτύπωση θα επιτρέψει στο χρήστη να μετατρέψει ένα Makey Makey σε " διαφάνεια δακτύλων " για ένα " κλικ " στο παιχνίδι ή μπορεί να είναι βέλη δεξιά/αριστερά για κύλιση στις παρουσιάσεις. Η προσθήκη δεξιάς και αριστερής βάσης τερματικού για
500 LED-Pixel RGB-Brick: 9 βήματα (με εικόνες)
500 LED-Pixel RGB-Brick: Πριν από λίγο χτίζω ένα 10x10 LED-Coffetable με μερικές από αυτές τις λυχνίες LED WS2812, αλλά ακόμα κι αν είναι δυνατό να παίξετε το παλιό σχολικό παιχνίδι Snake με ένα smartphone συνδεδεμένο σε αυτό, θέλω κάτι περισσότερο ειδικός. Έτσι αποφάσισα να βάλω μερικά ακόμη led, arra