Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Συναρμολόγηση του κυκλώματος
- Βήμα 2: Ρύθμιση του RaspberryPi μας
- Βήμα 3: Ρύθμιση του Backend
- Βήμα 4: Ρύθμιση του Frontend
- Βήμα 5: Εισαγωγή της βάσης δεδομένων για το έργο μας
- Βήμα 6: Έναρξη του έργου μας
- Βήμα 7: Η υπόθεση
- Βήμα 8: Θαυμάστε το Τελικό Προϊόν
- Βήμα 9: Τα προβλήματα
Βίντεο: Σιντριβάνι χωρίς επαφή: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Στο τέλος του πρώτου έτους μου ως φοιτητής MCT μου ανατέθηκε να φτιάξω ένα έργο που θα περιείχε όλες τις δεξιότητες που είχα πάρει από τα μαθήματα όλο το χρόνο.
Έψαχνα για ένα έργο που θα έλεγχε όλες τις απαιτήσεις που έθεσαν οι καθηγητές μου και ταυτόχρονα θα ήταν διασκεδαστικό για μένα. Όταν έψαχνα για ένα θέμα, δεν μπορούσα παρά να νιώσω εμπνευσμένος από τον Covid-19 (αυτό ήταν ακριβώς πριν ξεσπάσει σε παγκόσμιο ξέσπασμα.) Διάλεξα για μια επαφή λιγότερο σιντριβάνι/διανομέα νερού, καθώς θα προσέφερε έναν τρόπο πόσιμο νερό χωρίς να αγγίξετε μερικά κουμπιά πριν βγει νερό.
Αυτό το έργο χρησιμοποιεί έναν αισθητήρα απόστασης για να ανιχνεύσει εάν ένα φλιτζάνι ή ένα ποτήρι έχει τοποθετηθεί κάτω από την έξοδο νερού, το σιντριβάνι θα προχωρήσει στην έξοδο νερού για 60 δευτερόλεπτα (100ml / λεπτό). Αυτό γίνεται για να είναι πιο συνεπής επειδή η ανίχνευση εάν το γυαλί έχει απομακρυνθεί αποδείχθηκε πολύ δύσκολη/αργή σε μια εργασία, γι 'αυτό και τοποθετήθηκε ένα χρονόμετρο. Αφού γεμίσετε το ποτήρι σας με 100 ml νερό, μπορείτε να περιμένετε για 5 δευτερόλεπτα και αν το ποτήρι βρίσκεται ακόμα μπροστά από τον αισθητήρα απόστασης, θα γεμίσει άλλη φορά (αυτό σημαίνει επίσης ότι υπάρχει ένα χρονικό όριο 5 δευτερολέπτων μεταξύ της πλήρωσης δύο διαφορετικών αντικείμενα).
Προμήθειες
Συστατικά
- 1x RaspberryPi (χρησιμοποίησα την 4η έκδοση αλλά μπορεί να λειτουργήσουν και παλαιότερες εκδόσεις)- 1x τρανζίστορ S8050 ή 1x τρανζίστορ PN2222 μπορεί επίσης να λειτουργήσει- 1x Φωτοαντίσταση- 1x HC-SR04 (Υπερηχητικός αισθητήρας απόστασης)- 1x RFID-RC522- 3x Διαφορετικά χρώματα LED (μπλε, κίτρινο, κόκκινο)- 1x LCD1602- 1x Active Buzzer- 1x PCF8574- 1x MCP3008- 1x Αντλία νερού (χρησιμοποιήθηκε περισταλτική αντλία 12v, σύνδεσμος σε αυτό το στοιχείο)
- 1x τροφοδοτικό DC (12v, 600mAh)- 1x τούβλο τροφοδοσίας με 3 κηλίδες- 3x breadboards (πιθανότατα θα μπορούσατε να χρησιμοποιήσετε λιγότερο)- T-cobbler για καρφίτσες RaspberryPi GPIO- T-cobbler καλώδιο (για σύνδεση μεταξύ pi και cobbler)
Υλικά και εργαλεία που χρησιμοποιούνται
- Τρυπάνι με τα ακόλουθα τρυπάνια:
- 4mm (για να τρυπήσετε τρύπες για τις βίδες) - 15mm (για να ανοίξετε τρύπες για τον αισθητήρα απόστασης)
- Οποιοδήποτε κατσαβίδι- 30 βίδες μήκους 45mm- 6 βίδες 20mm- 2 μεντεσέδες για την πόρτα- Μια πλάκα από MDF περίπου 130εκ επί 80εκ
Βήμα 1: Συναρμολόγηση του κυκλώματος
Για το κύκλωμα έχουμε 2 αισθητήρες, έναν αισθητήρα απόστασης και ένα φωτοαντίσταση. Ο αισθητήρας απόστασης χρησιμοποιείται για να ανιχνεύσει εάν ένα κύπελλο έχει τοποθετηθεί στην περιοχή της βρύσης και προαιρετικά πρόσθεσα μια φωτοαντίσταση, αυτή χρησιμοποιείται για να ανιχνεύσει εάν το περίβλημα έχει ανοίξει από κάποιον που δεν υποτίθεται ότι θα το ανοίξει. Επιπλέον, έχουμε έναν αναγνώστη RFID που μπορεί να χρησιμοποιηθεί για τον έλεγχο ταυτότητας ενός μηχανικού που πρέπει να ανοίξει τη θήκη για να ξαναγεμίσει τη δεξαμενή νερού ή για κάποιο άλλο μηχανικό ζήτημα.
Για τα ενεργά στοιχεία έχουμε το LCD1602, τον ενεργό βομβητή και μια περισταλτική αντλία, η οθόνη LCD χρησιμοποιείται για την εμφάνιση κατάστασης όπως εάν η θήκη είναι ανοιχτή ή η αντλία λειτουργεί καθώς και η διεύθυνση IP της συσκευής θα εμφανιστεί, ο βομβητής είναι χρησιμοποιείται για να κάνει έναν ανησυχητικό ήχο όταν η θήκη έχει ανοίξει χωρίς κάποιος να την εξουσιοδοτήσει.
Έχω προσθέσει το breadboard και τις σχηματικές όψεις του κυκλώματος παρακάτω.
Βήμα 2: Ρύθμιση του RaspberryPi μας
Για να ρυθμίσετε το RaspberryPi, θα κατεβάσουμε το λογισμικό απεικόνισης από τον ιστότοπο Raspberry, με αυτό μπορείτε να κατεβάσετε την έκδοση του Raspbian που θέλετε και να απεικονίσετε την SDCARD σας για εσάς. Αφού αυτό το εργαλείο έχει κάνει τη δουλειά του, μπορείτε να ανοίξετε την SDCARD στην Εξερεύνηση των Windows, θα μπορείτε να δείτε το διαμέρισμα εκκίνησης του RaspberryPi σας. Εδώ θα βρούμε ένα αρχείο που ονομάζεται cmdline.txt (μην ανοίξετε αυτό το αρχείο στο σημειωματάριο, ανοίξτε το στο Σημειωματάριο ++ ή σε οποιοδήποτε άλλο IDE). Θα προσθέσουμε ip = 169.254.10.1 στο τέλος αυτού του αρχείου για να βεβαιωθούμε ότι μπορούμε να συνδεθούμε στη συσκευή μας μέσω ethernet (βεβαιωθείτε ότι δεν προσθέτετε κανένα ENTERS στο τέλος του αρχείου σας, διαφορετικά θα έχετε πρόβλημα).
Τώρα μπορείτε να τοποθετήσετε την κάρτα SDC στο RaspberryPi και να την εκκινήσετε, να συνδέσετε το Pi στον υπολογιστή σας και να χρησιμοποιήσετε το Putty για να συνδεθείτε στο Pi σας μέσω SSH. Χρησιμοποιώ την ακόλουθη εντολή για να συνδεθώ στο Pi μου αντί να χρησιμοποιήσω Putty. "ssh [email protected]" αυτό μπορεί να λήξει, οπότε κάντε υπομονή και περιμένετε να ξεκινήσει το Pi. Μόλις σας ζητηθεί κωδικός πρόσβασης, θα συμπληρώσουμε τον προεπιλεγμένο κωδικό πρόσβασης "βατόμουρο". Βεβαιωθείτε ότι έχετε αλλάξει αυτόν τον κωδικό πρόσβασης μετά τη σύνδεση, για να αποτρέψετε οποιονδήποτε με κακή πρόθεση να έχει πρόσβαση στο Raspberry Pi σας.
Τώρα θα διαμορφώσουμε το Pi μας για να παρέχει την απαραίτητη λειτουργικότητα για τον κωδικό μας. Χρησιμοποιήστε το "sudo raspi-config" για να ανοίξετε το μενού διαμόρφωσης και εδώ θα μεταβείτε στις Επιλογές διασύνδεσης.
Κάτω εδώ θα ενεργοποιήσουμε τις ακόλουθες επιλογές ON:- SPI- I2C
Ακολουθήστε αυτόν τον οδηγό για να ρυθμίσετε μια ασύρματη σύνδεση στο Διαδίκτυο στο Pi σας, αφού το κάνετε με επιτυχία, μπορούμε να φτάσουμε στην εγκατάσταση των απαιτούμενων πακέτων.
Πακέτα: (εκτελέστε τις εντολές με τη σειρά όπως σημειώνονται εδώ)
Τα παρακάτω για να λάβετε τις πιο πρόσφατες ενημερώσεις για την ενημέρωση && apt αναβάθμισης a -Pi
Εγκαταστήστε τον διακομιστή MySQL και τον διακομιστή ιστού- sudo apt install mariadb-server apache2
Θα χρησιμοποιήσω το MySQL Workbench για να ρυθμίσω τη βάση δεδομένων αργότερα σε αυτόν τον οδηγό, αν δεν το χρησιμοποιήσετε και προτιμάτε το phpmyadmin, μπορείτε να το εγκαταστήσετε με την ακόλουθη εντολή, είστε ελεύθεροι να χρησιμοποιήσετε οποιοδήποτε άλλο MySQL Client, αρκεί να Είμαι σε θέση να εισάγω σωστά τη βάση δεδομένων.- sudo apt install phpmyadmin
Αφού κάνετε όλα τα παραπάνω, πρέπει να δημιουργήσουμε έναν χρήστη για τη βάση δεδομένων μας. Χρησιμοποιήστε "sudo mysql -u root" για να συνδεθείτε στον διακομιστή MySQL, εδώ θα δημιουργήσουμε έναν χρήστη που ονομάζεται db_admin με τον αντίστοιχο κωδικό πρόσβασής του, κρατήστε αυτός ο κωδικός πρόσβασης σημειώθηκε κάπου αργότερα στις οδηγίες. ΒΑΘΜΙΣΤΕ ΟΛΕΣ ΤΙΣ ΠΡΟΤΙΜΗΣΕΙΣ *. * ΣΤΟ "db_admin"@"%" ΤΑΥΤΟΠΟΙΗΘΗΚΕ ΑΠΟ "yourPasswordHere" ΜΕ ΕΠΙΛΟΓΗ ΧΟΡΗΓΗΣΗΣ.
Χρησιμοποιήστε την εντολή "\ q" για έξοδο από το τερματικό MySQL.
Πακέτα Python: Πρέπει ακόμη να εγκαταστήσουμε κάποια πακέτα python πριν προχωρήσουμε, εκτελέστε την παρακάτω εντολή για να βεβαιωθείτε ότι όλα είναι εκεί για μια άψογη εμπειρία.
sudo pip3 install Flask Flask-Cors Flask-SocketIO gevent gevent-websocket greenlet spi SPI-Pyspidev
Καθώς και τα ακόλουθα MySQL connect python packagesudo apt install python3 -mysql.connector -y
Εάν όλα έγιναν σωστά, μπορείτε τώρα να επισκεφτείτε το Pi σας στο πρόγραμμα περιήγησής σας με την ακόλουθη διεύθυνση
Βήμα 3: Ρύθμιση του Backend
Εδώ θα εξηγήσω πώς μπορείτε να ρυθμίσετε μόνοι σας το backend, πρώτα να κατεβάσετε το αρχείο rar από κάτω, να το καταργήσετε σε κάποιο προσωρινό κατάλογο. Συνδεθείτε στο RaspberryPi με το FileZilla ή το WinSCP με τα ακόλουθα διαπιστευτήρια:
IP: 169.254.10.1 Χρήστης: piPassword: βατόμουρο (αν αλλάξατε τον κωδικό πρόσβασης κάντε το και εδώ)
Στη συνέχεια, μπορείτε να προχωρήσετε στη μεταφορά των αρχείων που καταργήσατε σε οποιονδήποτε κατάλογο θέλετε στον αρχικό κατάλογο του χρήστη pi. Για λόγους απλότητας, θα υποθέσουμε σε αυτήν τη ρύθμιση ότι έχουμε ανεβάσει όλα τα αρχεία μας στον κατάλογο εγγράφων.
Κρατήστε το πρόγραμμα FTP ανοιχτό για το επόμενο βήμα!
Τώρα ανοίξτε ξανά τη γραμμή εντολών με τη σύνδεση SSH, επειδή θα χρειαστεί να κάνουμε κάποιες αλλαγές στον διακομιστή ιστού, ώστε το frontend να μπορεί να επικοινωνεί με το backend. Θα ανοίξουμε το προεπιλεγμένο αρχείο ρυθμίσεων Apache2 και θα το τροποποιήσουμε ελαφρώς: sudo nano /etc/apache2/sites-available/000-default.conf
Προσθέστε τις ακόλουθες γραμμές παρακάτω DocumentRoot στο αρχείο ρυθμίσεων που μόλις ανοίξαμε: ProxyPass/api/https://127.0.0.1:5000/api/ProxyPassReverse/api/https://127.0.0.1:5000/api/
Μπορείτε να ρίξετε μια ματιά στην εικόνα που επισυνάπτεται για παράδειγμα.
Βήμα 4: Ρύθμιση του Frontend
Πριν από τη μεταφορά των αρχείων μας, θα πρέπει να κάνουμε κάτι πριν ξεκινήσουμε τη μεταφορά των αρχείων μας. Ανοίξτε τη γραμμή εντολών με τη σύνδεση SSH που κάνατε προηγουμένως και χρησιμοποιήστε την παρακάτω εντολή για να μεταβείτε στον ριζικό χρήστη του RaspberryPi: "sudo su -"
Μετά από αυτό, μπορούμε να αλλάξουμε τον κωδικό πρόσβασης του root χρήστη μας με την ακόλουθη εντολή: "passwd" Αυτό θα σας ζητήσει να εισαγάγετε έναν νέο κωδικό πρόσβασης, αφού το κάνετε αυτό, μπορείτε να επιστρέψετε στο πρόγραμμα FTP και να συνδεθείτε με τα διαπιστευτήριά σας root:
IP: 169.254.10.1 Χρήστης: root Κωδικός πρόσβασης:
Κατεβάστε το αρχείο rar από κάτω και καταργήστε την κατάργησή του σε έναν προσωρινό φάκελο, μπορείτε να μετακινήσετε αυτά τα αρχεία στο RaspberryPi στον ακόλουθο κατάλογο/var/www/html/, αφού το κάνετε αυτό, μπορείτε να επισκεφθείτε το frontend στο http:/ /169.254.10.1, δεν μπορείτε να αλληλεπιδράσετε ακόμη επειδή το backend δεν εκτελείται ακόμη, θα σας δείξω αργότερα σε αυτόν τον οδηγό πώς να το κάνετε αυτό.
Βήμα 5: Εισαγωγή της βάσης δεδομένων για το έργο μας
Ανοίξτε το αγαπημένο σας πρόγραμμα διαχείρισης διακομιστή MySQL και συνδεθείτε στο Raspberry Pi με τα διαπιστευτήρια που δημιουργήσαμε στο Βήμα 2.
Κατεβάστε την ένδειξη βάσης δεδομένων από κάτω και εισαγάγετε την κανονικά, MySQL workbench θα μεταβείτε στο Αρχείο> Άνοιγμα SQL Script και θα επιλέξετε την χωματερή βάσης δεδομένων που κατεβάσατε. Στη συνέχεια, πατήστε CTRL + SHIFT + ENTER και το σενάριο SQL πρέπει να εκτελεστεί και η δομή για τη βάση δεδομένων θα πρέπει να δημιουργηθεί.
Πρόσθεσα τα διαπιστευτήρια που χρησιμοποίησα για το RaspberryPi μου ως παράδειγμα παρακάτω, καθώς και αρκετές φωτογραφίες της δομής της βάσης δεδομένων, μπορείτε να το ρίξετε μια ματιά και να δοκιμάσετε και να πάρετε μια γενική ιδέα για το πώς λειτουργούν όλα.
Βήμα 6: Έναρξη του έργου μας
Πριν ξεκινήσουμε το έργο μας, πρέπει να αλλάξουμε τα διαπιστευτήρια της βάσης δεδομένων στο αρχείο config.py, αν ακολουθήσατε τις οδηγίες ακριβώς όπως είπε αυτός ο οδηγός, μπορείτε να τα βρείτε στο /home/pi/Documents/Backend/src/config.py εδώ πρέπει να αλλάξετε τα διαπιστευτήρια της μεταβλητής db_config για να ταιριάζει με αυτά που δημιουργήσαμε νωρίτερα για τη βάση δεδομένων μας. Έχω προσθέσει ένα παράδειγμα αυτού που θα δείτε σε αυτό το αρχείο παρακάτω.
Μετά από αυτό, θα προσθέσουμε ένα αρχείο.service, το οποίο θα βεβαιωθεί ότι το έργο μας ξεκινά όταν ξεκινήσει το RaspberryPi, βεβαιωθείτε ότι έχετε αλλάξει τον κατάλογο κατάλληλα από το σημείο που εγκαταστήσατε τα αρχεία backend. Χρησιμοποιήστε την ακόλουθη εντολή για να δημιουργήσετε το αρχείο υπηρεσίας: sudo nano /etc/systemd/system/dispenser.serviceΑυτό θα δημιουργήσει ένα αρχείο υπηρεσίας και θα αντιγράψει επικολλήστε τον παρακάτω κώδικα σε αυτό το αρχείο.
[Μονάδα] Περιγραφή = Διανομέας νερού Μετά = mysql.service
[Service] Type = simpleRestart = alwaysRestartSec = 1User = piExecStart =/usr/bin/python3 /home/pi/Documents/Backend/index.py
[Εγκατάσταση] WantedBy = multi-user.target
Τροποποιήστε τη γραμμή όπου γράφει /home/pi/Documents/Backend/index.py όπου εγκαταστήσατε τα αρχεία backend, εάν δεν το κάνετε σωστά, το έργο δεν θα ξεκινήσει σωστά! Θα προσθέσω ένα παράδειγμα αρχείου παρακάτω.
Αφού το κάνετε αυτό και βγείτε από τον επεξεργαστή κειμένου, μπορούμε να ενεργοποιήσουμε την υπηρεσία με τις ακόλουθες εντολές:- sudo systemctl daemon-reload- sudo systemctl ενεργοποίηση διανομέας- sudo systemctl εκκίνηση
Και ως επιπλέον μπορούμε να εκτελέσουμε: διανομέα κατάστασης sudo systemctl Αυτό θα εμφανίσει ορισμένες πληροφορίες σχετικά με την υπηρεσία μας, εάν είναι ενεργές ή όχι,…
Βήμα 7: Η υπόθεση
Συγχαρητήρια είμαστε σχεδόν εκεί, θα προσθέσω μερικές εικόνες που θα δείχνουν με ακρίβεια τις διαστάσεις που χρησιμοποίησα για το έργο μου, χρησιμοποίησα πλάκες MDF πάχους 18mm, προαιρετικά μπορείτε να χρησιμοποιήσετε διαφορετικό πάχος. Το περίβλημα μου μπορεί να χρησιμοποιηθεί ως οδηγός για να σχεδιάσετε το δικό σας ή μπορείτε να αναδημιουργήσετε αυτό που έφτιαξα. (Εάν χρησιμοποιείτε διαφορετικό πάχος MDF, τα σχέδιά μου δεν θα σας επιτρέπουν πλέον να κάνετε το σχέδιό μου, φροντίστε να το προσαρμόσετε!) 32cm (κάτω πλάκα)- 2 πάνελ 16cm επί 24cm (μπροστινή πλάκα όπου μένει η LCD και γειτονική πλάκα)- 1 πάνελ 28cm επί 24cm (μεσαία πλάκα φαίνεται από μπροστά)- 1 πάνελ 30cm επί 24cm (επάνω πλάκα)
Βήμα 8: Θαυμάστε το Τελικό Προϊόν
Έχετε φτάσει στο τέλος και μέχρι τώρα ελπίζετε ότι έχετε καταφέρει να κάνετε το όλο πράγμα πραγματικότητα. Εάν είστε απλώς ένας περαστικός που διαβάζει, επίσης καλώς ήρθατε, σας ευχαριστώ που διαβάσατε μέχρι το τελευταίο βήμα!
Ξόδεψα πολύ αίμα, ιδρώτα και δάκρυα σε αυτό το έργο, οπότε θα το εκτιμούσα αν αφήνατε ένα σχόλιο, οποιαδήποτε κριτική για τη βελτίωσή του είναι ευπρόσδεκτη!
Βήμα 9: Τα προβλήματα
Θα έβαζα το έργο στην τρέχουσα κατάσταση ως ένα πρωτότυπο εργασίας που μπορεί να δει πολύ περισσότερες βελτιώσεις.
Η βάση κώδικα του backend είναι δομημένη με τέτοιο τρόπο ώστε να μπορεί να δημιουργηθεί τέλεια μια βασική σχέση slave όπου ένα σιντριβάνι θα λειτουργούσε ως το κύριο προβάδισμα και όλα τα άλλα συντριβάνια θα προωθούσαν δεδομένα και αλλαγές στο API REST του master. Υπάρχουν επίσης υπολείμματα ενός συστήματος συμβόλων API στον κώδικα καθώς αυτό προοριζόταν να εφαρμοστεί, αλλά κόπηκε αργότερα λόγω χρονικών περιορισμών.
Έχω ανεβάσει τον κωδικό μου στον διακομιστή Gitlab και εκεί μπορείτε να ρίξετε μια ματιά στον κώδικα ως σύνολο:
Συνιστάται:
Διανομέας απολύμανσης χεριών DIY χωρίς επαφή χωρίς Arduino ή μικροελεγκτή: 17 βήματα (με εικόνες)
DIY Non Contact Contact Sanitizer Dispenser Without Arduino or Microcontroller: Όπως όλοι γνωρίζουμε, το ξέσπασμα του COVID-19 χτύπησε τον κόσμο και άλλαξε τον τρόπο ζωής μας. Σε αυτή την κατάσταση, το αλκοόλ και τα απολυμαντικά χεριών είναι ζωτικά υγρά, ωστόσο, πρέπει να χρησιμοποιούνται σωστά. Αγγίζοντας δοχεία αλκοόλ ή απολυμαντικά χεριών με μολυσμένα χέρια γ
Θερμόμετρο IR χωρίς επαφή: 8 βήματα (με εικόνες)
Θερμόμετρο IR χωρίς επαφή: Το τοπικό Υπουργείο Υγείας μου ήρθε σε επαφή μαζί μου επειδή χρειάζονταν έναν τρόπο να παρακολουθούν τη θερμοκρασία του σώματος της υγείας των εργαζομένων τους σε καθημερινή βάση κατά τη διάρκεια της κρίσης Covid-19 του 2020. Κανονικά, τα θερμόμετρα IR από το ράφι είχαν αρχίσει να είναι λιγοστά
Χρήση smartphone ως θερμόμετρο χωρίς επαφή / φορητό θερμόμετρο: 8 βήματα (με εικόνες)
Χρήση Smartphone ως Θερμόμετρο χωρίς επαφή / Φορητό θερμόμετρο: Μέτρηση της θερμοκρασίας του σώματος χωρίς επαφή / χωρίς επαφή, όπως ένα θερμοβόλο. Δημιούργησα αυτό το έργο επειδή το Thermo Gun τώρα είναι πολύ ακριβό, οπότε πρέπει να βρω εναλλακτική λύση για να φτιάξω DIY. Και ο σκοπός είναι να φτιάξετε με έκδοση χαμηλού προϋπολογισμού. ΠρομήθειεςMLX90614Arddu
Ανιχνευτής τάσης χωρίς επαφή: 5 βήματα (με εικόνες)
Ανιχνευτής τάσης χωρίς επαφή: Σε αυτό το Εγχειρίδιο θα σας δείξω πώς μπορείτε να δημιουργήσετε έναν ανιχνευτή τάσης χωρίς επαφή για τον έλεγχο των καλωδίων τροφοδοσίας. Εργαλεία και υλικά που χρησιμοποιούνται (Συνδέσεις συνεργατών): Τρανζίστορ http://s.click.aliexpress.com /e/bWomecjILEDs http://s.click.aliexpress.com/e
Zero Cost Laptop Cooler / Stand (Χωρίς κόλλα, χωρίς διάτρηση, χωρίς παξιμάδια & μπουλόνια, χωρίς βίδες): 3 βήματα
Zero Cost Laptop Cooler / Stand (No Glue, No Drilling, No Nuts & Bolts, No Screws): ΕΝΗΜΕΡΩΣΗ: ΠΑΡΑΚΑΛΩ KINDLY VOTE FOR MY INSTRUCTABLE, THANKS ^ _ ^ YOU MAY MOTO LIKE ΕΙΣΟΔΟΣ ΣΤΟ www.instructables.com/id/Zero-Cost-Alumin-Furnace-No-Propane-No-Glue-/ ΜΠΟΡΕΙ ΝΑ VΗΦΙΣΕΤΕ ΓΙΑ ΤΟΝ ΚΑΛΥΤΕΡΟ ΦΙΛΟ ΜΟΥ