Πίνακας περιεχομένων:
- Βήμα 1: Τι χρειάζεται
- Βήμα 2: Tower Building
- Βήμα 3: Διάγραμμα καλωδίωσης
- Βήμα 4: Αρχή λειτουργίας
- Βήμα 5: Mp3 Player
- Βήμα 6: Μεταφόρτωση του προγράμματος στο Arduino
- Βήμα 7: Έλεγχος
- Βήμα 8: Αποστολή μηνυμάτων χρησιμοποιώντας διευθύνσεις URL
- Βήμα 9: Ανώνυμο URL για αποστολή μηνύματος
- Βήμα 10: Ενσωμάτωση με IFTTT 1/7
- Βήμα 11: Ενσωμάτωση με IFTTT 2/7
- Βήμα 12: Ενσωμάτωση με IFTTT 3/7
- Βήμα 13: Ενσωμάτωση με IFTTT 4/7
- Βήμα 14: Ενσωμάτωση με IFTTT 5/7
- Βήμα 15: Ενσωμάτωση με IFTTT 6/7
- Βήμα 16: Ενσωμάτωση με IFTTT 7/7
- Βήμα 17: Περίληψη
Βίντεο: Σημειωτής: 17 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Η συσκευή μπορεί να συνδεθεί για παράδειγμα στο σύστημα IFTTT και να αντιδράσει όταν εμφανιστεί μια νέα αλληλογραφία. Στο app.remoteme.org θα δημιουργήσουμε έναν σύνδεσμο μετά την κλήση ποια byte θα σταλούν στο Arduino και το Arduino θα εμφανίσει κάποιο ελαφρύ εφέ και θα παίξει mp3 από την SDcard
Βήμα 1: Τι χρειάζεται
- NodeMCU, WemOS ή κάτι παρόμοιο
- Δύο δακτύλιοι LED με διόδους WS2812B (έχω χρησιμοποιήσει δακτυλίους 16ου led)
- DFRobotDFPlayerMini - αυτό είναι mp3 player. Παίζει mp3 από SDcard και επικοινωνεί με το Arduino μέσω RX/TX
- Ομιλητής
- Κάρτα SD
- Μετατροπέας λογικής -Έχω χρησιμοποιήσει αυτό, το mp3 player χρησιμοποιεί 5V και Arduino 3.3 γι 'αυτό χρειαζόμαστε αυτόν τον μετατροπέα
- Γνώσεις και δεξιότητες για την κατασκευή απλών PCB από τον εαυτό μας
Ο πύργος:
- χαρτόνι - δύο διαφορετικά πάχη
- Χαρτί αντιγραφής
- αλουμινόχαρτο
Βήμα 2: Tower Building
Πάνω από το σχέδιο του πύργου σε πλάγια όψη (η περιπέτειά μου με το τεχνικό σχέδιο τελείωσε στο δημοτικό σχολείο), όλες οι διαστάσεις σε χιλιοστά.
Αρχή λειτουργίας
- δακτύλιο LED που φωτίζει
- Χαρτί αντιγραφής
- Ο κομμένος κώνος, από χαρτόνι και καλυμμένος με αλουμινόχαρτο, έτσι αντανακλά τα φώτα από τους δακτυλίους led, στο σχήμα 3 ‘= το κομμένο πλέγμα
- χάρτινος σωλήνας - συγκρατεί τους πύργους κάθετα, στο εσωτερικό του σωλήνα υπάρχουν καλώδια για led
- Το ύψος εξαρτάται από εσάς έχω 85mm
- Η βάση μέσα σε όλα τα ηλεκτρονικά μέρη
Όλα τα οριζόντια στοιχεία πρέπει να είναι κατασκευασμένα από παχύτερο χαρτόνι.
Βήμα 3: Διάγραμμα καλωδίωσης
Το mp3 player τροφοδοτείται με τάση 5V και επικοινωνεί με το Arduino μέσω TX / RX, απαιτείται μετατροπέας λογικής επειδή το ίδιο το Arduino λειτουργεί σε τάση 3,3V. Ο έλεγχος των δακτυλίων συνδέεται επίσης με το Arduino (D5, D6) μέσω του μετατροπέα λογικής.
Στο αποθετήριο, θα βρείτε αρχεία αετού με σχέδια PCB
Προτείνω να μην κολλήσετε μόνιμα το Arduino και το mp3 player μόνο για να χρησιμοποιήσετε θηλυκές καρδερίνες
Βήμα 4: Αρχή λειτουργίας
Το Arduino μας συνδέεται με το σύστημα app.remoteme.org χρησιμοποιώντας WebSockets (υπάρχουν έτοιμες βιβλιοθήκες) μέσω αυτής της σύνδεσης αποστέλλονται μηνύματα 5 byte:
- το πρώτο byte του εφέ φωτισμού για τον επάνω δακτύλιο LED
- δεύτερο εφέ φωτισμού byte για τον κάτω δακτύλιο LED
- τον αριθμό του αρχείου mp3 που θα αναπαραχθεί
- ο αριθμός των δευτερολέπτων πόσο καιρό θα αναπαράγεται το εφέ φωτισμού και το mp3
- αν το mp3 πρέπει να παιχτεί μία φορά ή σε βρόχο
πηγαίο κώδικα
Ολόκληρο τον πηγαίο κώδικα Μπορείτε να βρείτε εδώ
στα αρχεία SingleRing.cpp και SingleRing.h υπάρχει μια κλάση για τον έλεγχο των εφέ των δακτυλίων LED. Προτείνω να ξεκινήσετε κοιτάζοντας τη συνάρτηση setMode (int m):
void SingleRing:: setMode (int m) {switch (m) {case 0: setConfiguration (0, 0, 50, 0, 5, 1); break; // off = 0 case 1: setConfiguration (6, 0, 50, 0, 0, 20); θραύση; // σταθερή τυπική πράσινη θήκη 2: setConfiguration (6, 0, 0, 50, 0, 20); θραύση; // σταθερή τυπική μπλε θήκη 3: setConfiguration (6, 50, 0, 0, 0, 20); θραύση; // σταθερή τυπική κόκκινη θήκη 4: setConfiguration (6, 50, 10, 0, 0, 20); θραύση; // σταθερή τυπική πορτοκαλί θήκη 5: setConfiguration (1, 0, 100, 0, 5, 2); διάλειμμα; // αστυνομική δεξιόστροφη πράσινη θήκη 6: setConfiguration (1, 0, 100, 0, 5, -2); διάλειμμα; // η αστυνομία επαναφέρει την πράσινη θήκη 7: setConfiguration (1, 0, 0, 100, 5, 2); διάλειμμα; // αστυνομία δεξιόστροφα μπλε θήκη 8: setConfiguration (1, 0, 0, 100, 5, -2); break; // police revert blue case 9: setConfiguration (1, 100, 0, 0, 5, 2); διάλειμμα; // αστυνομική τυπική κόκκινη θήκη 10: setConfiguration (1, 100, 0, 0, 5, -2); διάλειμμα; // αστυνομία επαναφορά κόκκινης θήκης 11: setConfiguration (1, 100, 20, 0, 5, 2); διάλειμμα; // τυποποιημένη πορτοκαλί θήκη αστυνομίας 12: setConfiguration (1, 100, 20, 0, 5, -2); διάλειμμα; // αστυνομία επαναφορά πορτοκαλί υπόθεση 13: setConfiguration (2, 0, 0, 50, 8, 10); break; // cross standard blue case 14: setConfiguration (2, 0, 0, 50, 8, -10); break; // cross revert blue case 15: setConfiguration (5, 0, 50, 0, 0, 20); break; // αναβοσβήνει τυπική πράσινη θήκη 16: setConfiguration (5, 0, 50, 0, 0, -20); break; // blink odwyrtka green case 17: setConfiguration (5, 0, 0, 50, 0, 20); break; // αναβοσβήνει τυπική μπλε θήκη 18: setConfiguration (5, 0, 0, 50, 0, -20); break; // αναβοσβήνει επαναφορά μπλε υπόθεση 19: setConfiguration (5, 50, 0, 0, 0, 20); break; // αναβοσβήνει τυπική κόκκινη θήκη 20: setConfiguration (5, 50, 0, 0, 0, -20); break; // αναβοσβήνει επαναφορά κόκκινης θήκης 21: setConfiguration (5, 50, 10, 0, 0, 20); break; // αναβοσβήνει τυπική πορτοκαλί θήκη 22: setConfiguration (5, 50, 10, 0, 0, -20); break; // blink επαναφορά πορτοκαλί προεπιλογής: setConfiguration (0, 0, 50, 0, 5, 1); διάλειμμα; // απενεργοποίηση = 0}}
ανάλογα με τη δεδομένη παράμετρο, ο δακτύλιος θα εμφανίσει το εφέ. Μπορείτε να προσθέσετε το δικό σας εφέ καλώντας το σύνολο λειτουργιών Διαμόρφωση με νέες παραμέτρους (αλλαγή χρώματος, ταχύτητα εμφάνισης) προσθέτοντας μια νέα λειτουργία ή προσθέτοντας ένα εντελώς νέο εφέ - ή ενημερώστε με στα σχόλια αν μου αρέσει θα προσθέσω νέο εφέ
arduino.ino:
#include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h"
#περιλαμβάνω
#include #include #include "SingleRing.h"
#περιλαμβάνω
#συμπεριλάβω #συμπεριλάβω
#περιλαμβάνω
#define WIFI_NAME ""
#define WIFI_PASSWORD "" #define DEVICE_ID 205 #define DEVICE_NAME "siren" #define TOKEN ""
#define DIODES_COUNT 16
SingleRing top = SingleRing (DIODES_COUNT, D5);
SingleRing bottom = SingleRing (DIODES_COUNT, D6);
SoftwareSerial mySoftwareSerial (D4, D3); // RX, TX
DFRobotDFPlayerMini myDFPlayer; RemoteMe & remoteMe = RemoteMe:: getInstance (TOKEN, DEVICE_ID);
ESP8266WiFiMulti WiFiMulti;
void setup () {mySoftwareSerial.begin (9600); Serial.begin (115200);
εάν (! myDFPlayer.begin (mySoftwareSerial)) {// Χρησιμοποιήστε το softwareSerial για επικοινωνία με mp3.
Serial.println (F ("Δεν μπορώ να ξεκινήσω:")); Serial.println (F ("1. Παρακαλώ ελέγξτε ξανά τη σύνδεση!")); Serial.println (F ("2. Παρακαλώ εισάγετε την κάρτα SD!")); ενώ (αληθινό)? } Serial.println (F ("DFPlayer Mini online."));
myDFPlayer.setTimeOut (500); // Ρυθμίστε το χρονικό όριο σειριακής επικοινωνίας 500ms
myDFPlayer.volume (30);
myDFPlayer. EQ (DFPLAYER_EQ_NORMAL);
myDFPlayer.outputDevice (DFPLAYER_DEVICE_SD); WiFiMulti.addAP (WIFI_NAME, WIFI_PASSWORD); while (WiFiMulti.run ()! = WL_CONNECTED) {καθυστέρηση (100); }
remoteMe.setUserMessageListener (onUserMessage);
remoteMe.setupTwoWayCommunication ();
remoteMe.sendRegisterDeviceMessage (DEVICE_NAME);
top.setup ();
bottom.setup (); top.clear (); bottom.clear (); }
boolean turnOff = true;
ανυπόγραφο μακρύ turnOffMillis = 0;
void onUserMessage (uint16_t senderDeviceId, uint16_t dataSize, uint8_t *data) {
uint16_t pos = 0; uint8_t bottomMode = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t topMode = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t trackNumber = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t time = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t mode = RemoteMeMessagesUtils:: getUint8 (data, pos);
bottom.setMode (bottomMode);
top.setMode (topMode); if (mode == 1) {myDFPlayer.loop (trackNumber); } else {myDFPlayer.play (trackNumber); } turnOff = false; turnOffMillis = millis () + 1000 * χρόνος. }
κενός βρόχος ()
{remoteMe.loop (); top.loop (); bottom.loop (); εάν (turnOffMillis
}
εξήγηση:
#define WIFI_NAME "" #define WIFI_PASSWORD "" #define DEVICE_ID 205 #define DEVICE_NAME "notificator" #define TOKEN ""
Πρέπει να παράσχουμε τα παραπάνω δεδομένα, λεπτομερείς οδηγίες εδώ στον σύνδεσμο, επίσης έχω δείξει πώς να εγγραφείτε στο remoteme.org και να δημιουργείτε το διακριτικό, void onUserMessage (uint16_t senderDeviceId, uint16_t dataSize, uint8_t *data) {uint16_t pos = 0; uint8_t bottomMode = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t topMode = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t trackNumber = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t time = RemoteMeMessagesUtils:: getUint8 (δεδομένα, pos); uint8_t mode = RemoteMeMessagesUtils:: getUint8 (data, pos);
bottom.setMode (bottomMode);
top.setMode (topMode); if (mode == 1) {myDFPlayer.loop (trackNumber); } else {myDFPlayer.play (trackNumber); } turnOff = false; turnOffMillis = millis () + 1000 * χρόνος. }
Αυτή η λειτουργία θα κληθεί όταν το μήνυμα έρθει στο Arduino και εμφανίσει την ειδοποίηση. Ο κώδικας είναι τόσο σαφής που περιγράφει τον εαυτό του. Αναφέρομαι στις λεπτομέρειες των τάξεων στην τεκμηρίωση εδώ και εδώ
void loop () {remoteMe.loop (); top.loop (); bottom.loop (); εάν (turnOffMillis <millis ()) {
αν (! turnOff) {
top.clear ();
bottom.clear (); myDFPlayer.stop (); turnOff = true? }}
Στον βρόχο, καλούμε τις λειτουργίες βρόχου των αντικειμένων και επίσης εάν ο χρόνος εμφάνισης των ειδοποιήσεων έχει παρέλθει, απενεργοποιούμε τις διόδους και τον ήχο.
Βήμα 5: Mp3 Player
Επικοινωνεί με το Arduino μέσω TX / RX - Λεπτομέρειες για τον ίδιο τον παίκτη εδώ και τη βιβλιοθήκη εδώ
Ανεβάζουμε αρχεία mp3 στην κάρτα SD. Τα αρχεία στην κάρτα ταξινομούνται αλφαβητικά και κατόπιν καλώντας:
myDFPlayer.play (5);
Παίζουμε το πέμπτο αρχείο από την κάρτα SD από τον ριζικό κατάλογο. Αυτός είναι ο λόγος για τον οποίο είναι καλό να δίνετε αρχεία στα προθέματα της κάρτας SD 01, 02 κ.λπ. Στην περίπτωσή μου μοιάζει με την παραπάνω οθόνη εκτύπωσης
Για τη δημιουργία φωνητικών εντολών Μπορείτε να χρησιμοποιήσετε αυτήν τη σελίδα.
Βήμα 6: Μεταφόρτωση του προγράμματος στο Arduino
Πριν ανεβάσετε το σκίτσο στο Arduino, Πρέπει να κατεβάσετε τις απαραίτητες βιβλιοθήκες εδώ θα βρείτε αναλυτικές οδηγίες
Επιπλέον, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη DFRobotDFPlayerMini και το Adafruit_NeoPixel
Βήμα 7: Έλεγχος
Στέλνουμε στο Arduino μας πέντε byte
- το πρώτο byte του εφέ φωτισμού για τον επάνω δακτύλιο LED
- δεύτερο εφέ φωτισμού byte για τον κάτω δακτύλιο LED
- τον αριθμό του αρχείου mp3 που θα αναπαραχθεί
- ο αριθμός των δευτερολέπτων πόσο καιρό θα αναπαράγεται το εφέ φωτισμού και το mp3
- αν το mp3 πρέπει να παιχτεί μία φορά ή σε βρόχο (1 αν πρέπει να παιχτεί σε βρόχο)
Με αποστολή byte
07 0F 01 05 01
Το επάνω δαχτυλίδι θα δείχνει τα φώτα της αστυνομίας (λειτουργία 6), το κάτω μέρος αναβοσβήνει πράσινο (λειτουργία 15) (ελέγξτε τη λειτουργία setMode στο singleRing.cpp και τα σχόλια δίπλα του). Το πρώτο αρχείο από την κάρτα SD θα παιχτεί για 5 δευτερόλεπτα. Και το αρχείο θα παιχτεί στον βρόχο (ελέγξτε τη λειτουργία στοUserMessage στο arduino.ino)
Ας στείλουμε αυτά τα byte. Κοιτάξτε την παραπάνω οθόνη και κάντε κλικ στα εικονίδια με τη σειρά γραμμένα από 1, 2, 3. Το παράθυρο εμφανίζεται
Στη συνέχεια, κοιτάξτε τη δεύτερη οθόνη - και συμπληρώστε το παράθυρο όπως στη δεύτερη οθόνη
Το παράθυρο που εμφανίζεται χρησιμοποιείται για την αποστολή μηνυμάτων στη συσκευή. Στο πεδίο 1, επιλέξτε τη συσκευή αποστολέα - επειδή έχουμε μόνο μία συσκευή, την επιλέγουμε (αυτό είναι υποχρεωτικό πεδίο και δεν έχει σημασία ότι είναι η ίδια συσκευή στην οποία στέλνουμε μήνυμα) Στο πεδίο 2 δίνουμε byte σε send (με κόκκινο χρώμα η τιμή που εισαγάγαμε στο 2 θα αναπαριστάται ως συμβολοσειρά) και στη συνέχεια κάντε κλικ στο κουμπί Αποστολή.
Μετά την αποστολή του μηνύματος, ο ειδοποιητής μας θα πρέπει να αντιδράσει εμφανίζοντας τα κατάλληλα εφέ φωτισμού και αναπαράγοντας το επιλεγμένο mp3. Σας ενθαρρύνω να δοκιμάσετε διαφορετικά εφέ δίνοντας τα δύο πρώτα byte ενός αριθμού μεταξύ 0 και 22 (δείτε περιγραφή στη συνάρτηση setMode).
Βήμα 8: Αποστολή μηνυμάτων χρησιμοποιώντας διευθύνσεις URL
Εάν θέλουμε να εμφανίζουμε ειδοποιήσεις από εξωτερική εφαρμογή π.χ. με IFTTT, πρέπει να έχουμε μια διεύθυνση URL που θα κάνει ακριβώς το ίδιο πράγμα που κάναμε στο παράθυρο στο προηγούμενο βήμα. Το remoteme.org παρέχει REST APi. Μεταβείτε σε αυτό κάνοντας κλικ στην καρτέλα swagger στα αριστερά (το τελευταίο). Θα εμφανιστεί μια σελίδα, σε αυτήν τη σελίδα μπορούμε επίσης να δοκιμάσουμε τα URL μας.
Στην πρώτη οθόνη Έχετε τη λειτουργία Πρέπει να επεκτείνετε και, στη συνέχεια, συμπληρώστε δεδομένα όπως στη δεύτερη οθόνη.
συμπληρώστε τα δεδομένα όπως στο παραπάνω στιγμιότυπο οθόνης. Αφού κάνουμε κλικ στην εκτέλεση θα στείλουμε ένα μήνυμα
070F010501
Ο δέκτης είναι η συσκευή με 205 id, η ίδια συσκευή είναι επίσης αποστολέας. Το MessageId με τις ρυθμίσεις "No_RENEVAL" είναι άσχετο. Στη συνέχεια, κάντε κλικ στην επιλογή Εκτέλεση. Ο ειδοποιητής θα αντιδράσει με τον ίδιο τρόπο όπως κατά την αποστολή μηνυμάτων από την εφαρμογή. Αφού καλέσετε το REST παρακάτω είναι το URL που κλήθηκε - κοιτάξτε την τρίτη οθόνη. Και η αντιγραφή και επικόλληση στη διεύθυνση URL του προγράμματος περιήγησης σημειώθηκε με πράσινο περίγραμμα. Στην τέταρτη οθόνη, το πρόγραμμα περιήγησής μου Chrome μετά την επικόλληση του URL
Στην περίπτωσή μου, το URL είναι:
app.remoteme.org/api/*/rest/v1/message/sendUserMessageHexString/205/1/NO_RENEWAL/1/070F010501/
Βήμα 9: Ανώνυμο URL για αποστολή μηνύματος
Στο προηγούμενο βήμα Έχετε μια διεύθυνση URL που στέλνει δεδομένα στη συσκευή σας. Δυστυχώς, μετά την αποσύνδεση από το app.remoteme.org, σταματά να λειτουργεί. Αυτό συμβαίνει επειδή δεν παρέχουμε το διακριτικό ελέγχου ταυτότητας και δεν είμαστε πλέον συνδεδεμένοι. Ας πάρουμε το διακριτικό μας (ή δημιουργήσουμε ένα νέο) και το επικολλήσουμε στη διεύθυνση URL αντί για το αστέρι.
Κοιτάξτε την οθόνη και αντικαταστήστε το * στη διεύθυνση URL με το διακριτικό σας
στην περίπτωση μου το διακριτικό είναι:
~ 267_ZxoWtJ) 0ph & 2c
έτσι το τελικό URL μου μοιάζει με:
app.remoteme.org/api/~267_ZxoWtJ)0ph&2c/rest/v1/message/sendUserMessageHexString/205/1/NO_RENEWAL/1/070F010501/
Τώρα μπορούμε να το καλέσουμε ακόμα κι αν δεν είμαστε συνδεδεμένοι. Και όταν κληθεί, θα σταλεί ένα μήνυμα στη συσκευή μας 205
Βήμα 10: Ενσωμάτωση με IFTTT 1/7
Το url που δημιουργήθηκε στο παραπάνω βήμα είναι κατάλληλο για εκτέλεση από εξωτερικές εφαρμογές. Πώς να το χρησιμοποιήσετε θα δείξω στο IFTTT. Θα το διαμορφώσω έτσι ώστε ο ειδοποιητής να ενεργοποιείται όταν έρχεται ένα email στη διεύθυνση email (λογαριασμός Gmail).
Συνδεθείτε στο IFTTT. Στη συνέχεια, μεταβείτε στην καρτέλα My Applets και στη συνέχεια "New Applet"- πρώτη οθόνη
Βήμα 11: Ενσωμάτωση με IFTTT 2/7
Επόμενο κλικ "+αυτό"
Βήμα 12: Ενσωμάτωση με IFTTT 3/7
Στη συνέχεια, στο πεδίο "Υπηρεσίες αναζήτησης" γράψτε "Gmail"
Στη συνέχεια, "νέο μήνυμα ηλεκτρονικού ταχυδρομείου στα εισερχόμενα" (μπορεί να χρειαστεί κάποια διαμόρφωση).
Βήμα 13: Ενσωμάτωση με IFTTT 4/7
τώρα κάνουμε κλικ στο "+ αυτό"
Βήμα 14: Ενσωμάτωση με IFTTT 5/7
βρείτε το "Webhooks" και κάντε κλικ σε αυτό
Βήμα 15: Ενσωμάτωση με IFTTT 6/7
στη συνέχεια, "Κάντε ένα αίτημα ιστού"
Βήμα 16: Ενσωμάτωση με IFTTT 7/7
συμπληρώνουμε τη διεύθυνση URL του url μας με το διακριτικό. Τύπος περιεχομένου στην εφαρμογή / json και κάντε κλικ στην επιλογή "δημιουργία ενέργειας" και Τέλος. Τώρα έχουμε το applet μας:
Βήμα 17: Περίληψη
Σε αυτό το σεμινάριο, έδειξα πώς να στέλνετε μηνύματα στο Arduino από εξωτερικά συστήματα. Ενσωματώνουμε επίσης κάποιο άλλο σύστημα μετά το IFTTT με παρόμοιο τρόπο. Δεν χρειάζεται απαραίτητα να είναι ένας «ειδοποιητής» που ήθελα να δείξω σε αυτό το παράδειγμα πώς να στέλνω μηνύματα από εξωτερικά συστήματα στο Arduino μας.
sourcecodesFanPage στο Facebook
Μπράβο, Maciek
Συνιστάται:
Πώς να φτιάξετε 4G LTE Double BiQuade Antenna Εύκολα Βήματα: 3 Βήματα
Πώς να κάνετε εύκολα 4G LTE διπλή κεραία BiQuade Antenna: Τις περισσότερες φορές αντιμετώπισα, δεν έχω καλή ισχύ σήματος στις καθημερινές μου εργασίες. Ετσι. Searchάχνω και δοκιμάζω διάφορους τύπους κεραίας αλλά δεν δουλεύω. Μετά από σπατάλη χρόνου βρήκα μια κεραία που ελπίζω να φτιάξω και να δοκιμάσω, γιατί δεν είναι η βασική αρχή
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: 5 βήματα
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: Το Flick είναι ένας πραγματικά απλός τρόπος δημιουργίας ενός παιχνιδιού, ειδικά κάτι σαν παζλ, οπτικό μυθιστόρημα ή παιχνίδι περιπέτειας
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: 3 βήματα
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: Σε αυτό το Instructable πρόκειται να πραγματοποιήσουμε ανίχνευση προσώπου στο Raspberry Pi 4 με το Shunya O/S χρησιμοποιώντας τη βιβλιοθήκη Shunyaface. Το Shunyaface είναι μια βιβλιοθήκη αναγνώρισης/ανίχνευσης προσώπου. Το έργο στοχεύει στην επίτευξη της ταχύτερης ταχύτητας ανίχνευσης και αναγνώρισης με
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): 4 βήματα
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): Σε αυτήν την ανάρτηση, έφτιαξα ένα DIY Vanity Mirror με τη βοήθεια των λωρίδων LED. Είναι πραγματικά υπέροχο και πρέπει να τα δοκιμάσετε επίσης