Πίνακας περιεχομένων:

SpookyEyes κρανίο: 8 βήματα
SpookyEyes κρανίο: 8 βήματα

Βίντεο: SpookyEyes κρανίο: 8 βήματα

Βίντεο: SpookyEyes κρανίο: 8 βήματα
Βίντεο: ГЛАЗ - ЭТО КАМЕРА❓🤯 2024, Νοέμβριος
Anonim
SpookyEyes κρανίο
SpookyEyes κρανίο

Εδώ είναι μια απλή τροποποίηση που έκανα σε ένα πλαστικό κρανίο αποκριών. Τρύπησα τις κόγχες των ματιών και πρόσθεσα δύο κόκκινα LED. Οι λυχνίες LED είναι συνδεδεμένες με έναν μικροελεγκτή για ειδικά εφέ (ξεθωριάζουν μέσα/έξω, αναβοσβήνουν, αυτού του είδους τα πράγματα). Υπάρχουν μερικά επιπλέον χαρακτηριστικά αυτού του σχεδιασμού:

  • Τροφοδοτείται από μπαταρία
  • Βελτιστοποιημένο για μεγάλη διάρκεια ζωής (υπολογίζω 200 ώρες ή περισσότερο σε ένα σετ 3 αλκαλικών μπαταριών ΑΑ.

    • Ανάβει το σούρουπο.
    • Λειτουργεί για N ώρες (ρυθμίζεται από τον προγραμματιστή) και μετά απενεργοποιείται.
    • Μένει μακριά κατά τη διάρκεια της ημέρας.
  • Χρησιμοποιεί ένα τσιπ μικροελεγκτή ATtiny84.

Εάν είστε λάτρεις του Arduino και το μόνο που έχετε δουλέψει ποτέ είναι τα τσιπ που είναι προεγκατεστημένα σε έναν πίνακα Arduino, τότε αυτό μπορεί να είναι ένα καλό έργο για να επεκτείνετε λίγο τους ορίζοντές σας. Υπάρχει μια τόσο μεγάλη γκάμα τσιπ ATmega διαφόρων μεγεθών που το να παραμένεις κλειδωμένο στις 2 ή 3 συσκευές που παρέχονται από τις συνηθισμένες προσφορές Arduino είναι μάλλον περιοριστικό. Για ένα πράγμα, αυτό το έργο θα γινόταν πολύ διαφορετικά αν έπρεπε να χρησιμοποιήσω το Uno Rev. 3. Αυτός ο πίνακας είναι ο ίδιος $ 22. Κάνω τη δουλειά εδώ μόνο με 1,50 $! Επιπλέον, δεδομένου ότι είναι πολύ πιο αργό (αν και αρκετά γρήγορο για να ανάψει LED), χρησιμοποιεί λιγότερη ενέργεια. Αυτό σημαίνει ότι είναι πιο κατάλληλο για ένα έργο με μπαταρία.

Βήμα 1: Γκολ

Γκολ
Γκολ

Εδώ είναι:

  1. Δημιουργήστε τρομακτικά κόκκινα μάτια στις κόγχες των ματιών ενός φτηνού πλαστικού αποκριάτικου κρανίου.
  2. Για να το τροφοδοτήσετε με μπαταρίες.
  3. Για να λειτουργήσει για καλές 2 εβδομάδες περίπου στις εν λόγω μπαταρίες.
  4. Να έχει ημερομηνία λήξης. Ζω σε μια περιοχή όπου τα δροσερά πράγματα που μένουν μπροστά έχουν την τάση να φεύγουν. (Τρομακτικό σωστά; Θέλω να πω, ένα κρανίο αποκριών ανεβαίνει ξαφνικά και φεύγει. Δεν το έχω δει ποτέ, αλλά ξέρω ότι συμβαίνει και η ιδέα με γεμίζει τρόμο.) Ως εκ τούτου:

    • Δεν θέλω κάποιον που να μου αρέσει να απολαμβάνω τους καρπούς της εργασίας μου. Αν μου πάρουν το κρανίο, σύντομα θα τους γίνει άχρηστο! MWAH-hah-hah-HAH-HAH-HAH-HAAAHHHH !!!
    • Αυτό το κρανίο θα φωτιστεί μόνο για Χ αριθμό ημερών πριν δώσει το φάντασμα, για να το πω έτσι.
  5. Ελάχιστα μέρη (βλέπε σημείο 2, παραπάνω).
  6. Για να αποκτήσετε γνώσεις σε άλλους μικροελεγκτές AVR, εκτός από το ATmega328p στο Arduino Uno και άλλους.
  7. Για να μάθετε πώς να χρησιμοποιείτε τη συσκευή USBASP. Δείτε https://www.fischl.de/usbasp/. Όπως λέει ο Thomas, "Το USBasp είναι ένας προγραμματιστής USB σε λειτουργία για ελεγκτές Atmel AVR … Ο προγραμματιστής χρησιμοποιεί πρόγραμμα οδήγησης USB μόνο για υλικολογισμικό, δεν απαιτείται ειδικός ελεγκτής USB."

Όπως ίσως γνωρίζετε, τα Arduino Uno, Leonardo και άλλοι πίνακες που βασίζονται σε AVR συνοδεύονται από ένα σωρό πρόσθετα εξαρτήματα, όπως ένα τσιπ USB σε σειρά FT232RL, έναν ρυθμιστή ισχύος, έναν ταλαντωτή κρυστάλλων, διάφορους συνδέσμους και φώτα, κεφαλίδες για καλωδίωση κλπ. Και αφού προγραμματιστεί το τσιπ μέσω της διεπαφής USB, το επιπλέον IC είναι απλώς μια παροχή ενέργειας. Επιπλέον, εάν τροφοδοτείτε από μπαταρίες, ο ρυθμιστής τάσης είναι στην καλύτερη περίπτωση άχρηστος και στη χειρότερη μεγαλύτερη εξάντληση της παροχής σας. Εάν θέλετε να ελέγχετε μόνο δύο LED, σχεδόν όλα εκτός από τον επεξεργαστή είναι περιττά για το μεγαλύτερο μέρος της ζωής του έργου σας.

Επιπλέον, τα περισσότερα αν όχι όλα τα τσιπ AVR διαθέτουν ενσωματωμένο ταλαντωτή ρολογιού. Δεν είναι τόσο γρήγορο ή τόσο ακριβές όσο το κρύσταλλο, αλλά για μια απλή θήκη χρήσης, τι σημασία έχει;

Χρησιμοποιώντας έναν επεξεργαστή από την κατάλληλα ονομαζόμενη γραμμή "ATtiny", αποκτάτε έναν εκπληκτικά ικανό μικρό επεξεργαστή που αντλεί λίγη ενέργεια, παρέχει όλες τις εξόδους που χρειάζεστε, έχει περισσότερη από αρκετή ταχύτητα, είναι πραγματικά φθηνό και διατηρεί τον αριθμό των εξαρτημάτων σας χαμηλό, για την εκκίνηση.

Η αντιστάθμιση είναι ότι πρέπει να φέρετε τη δική σας συσκευή προγραμματισμού. Ευτυχώς, υπάρχει ένας εκεί έξω που ονομάζεται "USBASP". Σκεφτείτε το σαν το ενσωματωμένο τσιπ USB-to-serial του Arduino, αλλά ξεχωριστό και αφαιρούμενο. Μπορείτε να το χρησιμοποιήσετε για όλα τα έργα σας. Ακόμα καλύτερα, εξαλείφει την ανάγκη για ένα bootloader. Παίρνετε πίσω αυτή τη μνήμη, αν τη χρειάζεστε.

Και μην φοβάστε- το USBASP είναι πολύ εύκολο στη χρήση. Πολλοί πρωτοπόροι πριν το χρησιμοποιούσατε, έτσι είναι αρκετά οικείο και υποστηρίζεται καλά για το έργο. Σε αυτό το σεμινάριο θα το χρησιμοποιήσουμε και, ως απλό έργο για να βρέξετε τα πόδια σας στον κόσμο των επεξεργαστών ATtiny, μπορεί να είναι μια καλή στιγμή για να εξοικειωθείτε.

8. Τελικός στόχος: Ελπίζω να σας αρέσει αυτό το Instructable!

Βήμα 2: Συστατικά

Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
  • 3x μπαταρίες AA (Walgreens)
  • Υποδοχή μπαταρίας για 3 μπαταρίες ΑΑ (eBay)
  • Κλιπ μπαταρίας 9V (eBay)
  • Breadboard για δοκιμή (eBay)
  • Πίνακας PC (συγκολλήσιμο breadboard)
  • Γυναικείες κεφαλίδες 0,1 "(0,254 mm) (για το ATtiny84a σας. Εάν είστε σίγουροι, απλά κολλήστε το ATtiny στην πλακέτα υπολογιστή). (EBay)
  • 2x κόκκινα LED 5mm (eBay)
  • 100 uF ηλεκτρολυτικός πυκνωτής (eBay)
  • Κεραμικός πυκνωτής 0,1 uF (eBay)
  • Αντίσταση 2,2 megohm (eBay)
  • φωτοευαίσθητη αντίσταση (eBay)
  • 2x 82 ohm αντιστάσεις (eBay)
  • Τσιπ μικροελεγκτή ATtiny84a (eBay)
  • Στερεό καλώδιο σύνδεσης 24 μετρητών (eBay)
  • συγκολλητικό σίδερο (Amazon ή Radio Shack)
  • συγκόλλησης (Amazon ή Radio Shack. Το καλύτερο χωρίς μόλυβδο είναι καλύτερο.)
  • κόλλα
  • πλαστικό κρανίο αποκριών, όχι πολύ μικρό, κοίλο (Walmart, Dollar Store κ.λπ.)
  • προγραμματιστής usbasp (eBay)

Συμβουλές και κόλπα για την αγορά ηλεκτρονικών ειδών για εκείνους στις ΗΠΑ:

Για οποιοδήποτε από τα βασικά σας (αντιστάσεις, τρανζίστορ, πυκνωτές, LED, κ.λπ.), μεταβείτε στο eBay. Τα ηλεκτρονικά σας έργα θα λάβουν γενικά τυπικά μεγέθη (όπως συμβαίνει εδώ). αυτή είναι μια εξαιρετική στιγμή για αποθέματα. Searchάξτε γύρω και βρείτε πακέτα με 20, 40, 100 κομμάτια. Αγοράστε αυτά? μπορείτε γενικά να τα βρείτε κάτω από 10 δολάρια και δωρεάν μεταφορικά. Αυτό είναι πολύ φθηνότερο από το Mouser/Digi-Key/Newark. Εκεί, θα λάβετε λογικές τιμές στα ανταλλακτικά, αλλά στη συνέχεια θα σας κερδίσουν 9 δολάρια για αποστολή. αυτές οι χαμηλές τιμές εξατμίζονται βιαστικά! Σίγουρα μπορείτε να βρείτε τα εξειδικευμένα ανταλλακτικά και η επιλογή είναι μεγάλη στα εξειδικευμένα καταστήματα, αλλά πληγώνεστε από αυτήν την αποστολή. Από την άλλη, βρήκα ένα πακέτο 5 ATtiny84a για 7,50 $ στο eBay, με δωρεάν μεταφορικά. 5 MCU για λιγότερο από την τιμή αποστολής 1 από Mouser! Yowser! Και το eBay διαθέτει όλα τα πακέτα ποικιλίας συστατικών που θα μπορούσατε να χρειαστείτε και γνωρίζετε ότι εάν χρειάζεστε μία αντίσταση, θα χρειαστείτε μια ντουζίνα!

Βήμα 3: Το USBasp

Το USBasp
Το USBasp
Το USBasp
Το USBasp

Πριν ξεκινήσουμε, ας μιλήσουμε λίγο για το USBasp. Είναι εύκολο να τα βρείτε στο eBay, οπότε πηγαίνετε να πάρετε ένα. Μην ανησυχείς, θα περιμένω…

Το έχεις? Καλός! Το αγοράσατε από την Κίνα; Δεν είναι περίεργο που πήρε τόσο πολύ.:-) Εντάξει, ήταν πιο φτηνό έτσι είμαι σίγουρος. Δωρεάν αποστολή επίσης.

Εάν είστε λάτρης του Linux όπως εγώ, το USBasp λειτουργεί εκτός συσκευής. Για τα Windows 10, είναι λίγο πιο περίπλοκο. Ας το περάσουμε λοιπόν:

Ο ιστότοπος USBasp στη διεύθυνση https://www.fischl.de/usbasp/ μας δείχνει το εργαλείο εγκατάστασης προγράμματος οδήγησης "Zadig" στη διεύθυνση

  • Κατέβασέ το. Κατέβασα την έκδοση 2.4.
  • Τα Windows 10 θα σας ρωτήσουν εάν θέλετε να κάνει αλλαγές στη συσκευή σας. Ναί. Ναι, το κάνετε.
  • Αποφασίστε εάν θέλετε το Zadig να ελέγχει για ενημερώσεις εφαρμογών. Είπα ναι.
  • Τώρα ακολούθησα τις οδηγίες από το https://rayshobby.net/dead-simple-driver-installa…. Αυτό είναι,
  • Συνδέστε τη συσκευή USBasp. Πιθανώς θα δείτε ένα κόκκινο LED να ανάβει πάνω του.
  • Στο Zadig, στο πλαίσιο δεξιά από το μεγάλο πράσινο βέλος, κάντε κλικ στα μικρά επάνω ή κάτω βέλη μέχρι να δείτε το libusbK (v3.0.7.0). Αυτό είναι για Windows 10.
  • Κάντε κλικ στο μεγάλο κουμπί Εγκατάσταση προγράμματος οδήγησης.
  • Περίμενε. Σε λίγα δευτερόλεπτα, θα δείτε την ενότητα "Το πρόγραμμα οδήγησης εγκαταστάθηκε με επιτυχία". κουτί διαλόγου. Κλείστε το.

Η συσκευή σας USBasp είναι τώρα έτοιμη!

Βήμα 4: Υποστήριξη Arduino για το ATtiny

Υποστήριξη Arduino για το ATtiny
Υποστήριξη Arduino για το ATtiny
Υποστήριξη Arduino για το ATtiny
Υποστήριξη Arduino για το ATtiny

Το Arduino IDE δεν υποστηρίζει τη σειρά τσιπ ATtiny εκτός κουτιού. Πρέπει να το προσθέσετε στο IDE χρησιμοποιώντας τον διαχειριστή πινάκων. Δείτε

Υποθέτοντας ότι έχετε ήδη κατεβάσει το λογισμικό Arduino, θα δημιουργήσω ξανά τα βήματα από το παραπάνω URL. Απλά

  • Ανοίξτε το λογισμικό Arduino (χρησιμοποιώ 1.8.7 από αυτήν τη σύνταξη).
  • Ανοίξτε το μενού: Αρχείο -> Προτιμήσεις. Βρείτε το πλαίσιο "Πρόσθετες διευθύνσεις διευθύνσεων πινάκων" στο κάτω μέρος.
  • Αντιγράψτε και επικολλήστε τα ακόλουθα:

raw.githubusercontent.com/damellis/attiny/…

  • Αυτό είναι
  • Κάντε κλικ στο OK
  • Ανοίξτε το μενού: Εργαλεία -> Πίνακας: "" -> Διαχειριστής πινάκων (στην κορυφή της λίστας)
  • Μετακινηθείτε προς τα κάτω. Θα πρέπει να βρείτε "attiny by David A. Mellis".
  • Κάντε κλικ στο κουμπί Εγκατάσταση.
  • Μεταβείτε στο κάτω μέρος της λίστας. Θα πρέπει να δείτε "ΕΓΚΑΤΑΣΤΑΣΗ" τώρα.
  • Ανοίξτε το μενού: Εργαλεία -> Πίνακας: ""
  • Θα πρέπει να δείτε το ATtiny στο κάτω μέρος της λίστας. Κάντε κλικ στο "ATtiny24/44/84".
  • Ανοίξτε το μενού: Εργαλεία -> Επεξεργαστής: "". Επιλέξτε το ATtiny84.
  • Στο μενού Εργαλεία θα πρέπει να δείτε μια καταχώρηση Ρολόι. Η προεπιλογή είναι μια χαρά. Έτσι στέλνονται οι επεξεργαστές ATtiny, με εσωτερικό ρολόι 1 MHz.
  • Στο μενού Εργαλεία επιλέξτε τη θύρα. Θέλετε "COM1".

Βήμα 5: Δοκιμή, Δοκιμή: Breadboard Your Circuit

Δοκιμές, Δοκιμές: Breadboard Your Circuit
Δοκιμές, Δοκιμές: Breadboard Your Circuit
Δοκιμές, Δοκιμές: Breadboard Your Circuit
Δοκιμές, Δοκιμές: Breadboard Your Circuit

Εάν δεν είστε εξοικειωμένοι με τις σανίδες ψωμιού … πάρτε ένα. Αυτός είναι ο μόνος τρόπος για να δοκιμάσετε τα κυκλώματά σας και να βεβαιωθείτε ότι κάνουν αυτό που θέλετε. Το συνιστώ ακόμα κι αν χτίζετε ένα γνωστό κύκλωμα όπως αυτό, το οποίο έχει δοκιμαστεί και λειτουργεί. Θα εξοικειωθείτε με τη διάταξη των πραγμάτων, έτσι ώστε εάν και όταν κάτι αποτύχει να λειτουργήσει σωστά, να έχετε ευκολότερο χρόνο για την αντιμετώπιση προβλημάτων.

Επισυνάπτεται μια πιθανή διάταξη ψωμιού, και μια σχηματική παράσταση αυτού του μικρού κυκλώματος επίσης. Καλωδίστε το κύκλωμά σας όπως φαίνεται.

Κατά την εισαγωγή των LED και του ηλεκτρολυτικού πυκνωτή, θυμηθείτε ότι η κατεύθυνση μετράει: πρέπει να τοποθετήσετε την αρνητική πλευρά προς την μπαταρία αρνητική και τη θετική πλευρά προς την πιο θετική πλευρά των πραγμάτων. Στην περίπτωση των LED, θα είναι αναμμένα όταν η καρφίτσα του ATTiny84a γίνει θετική (ή, "Υ HIGHΗΛΗ"). Έτσι, η θετική πλευρά των LED θα πρέπει να συνδεθεί με την κατάλληλη ακίδα στο ATTiny84a.

Υπάρχουν πολλοί ιστότοποι που συζητούν την πολικότητα των LED. ένα τέτοιο σεμινάριο μπορείτε να βρείτε εδώ: https://learn.sparkfun.com/tutorials/polarity/diod…. Τελικά, ο καλύτερος τρόπος που βρήκα για να ελέγξω την πολικότητα είναι να συνδέσω μια αντίσταση 120 ohm στην αρνητική μπαταρία, να συνδέσω το ένα πείρο ενός LED στο άλλο άκρο αυτής της αντίστασης και μετά να συνδέσω το άλλο άκρο του LED στη θετική μπαταρία (επίσης γνωστό ως VCC). Εάν ανάψει η λυχνία LED, γνωρίζετε ποια καρφίτσα είναι ποια.

Για τον πυκνωτή 100 microfarad, αυτός είναι ένας πυκνωτής ηλεκτρολυτικού τύπου. Βασικά αυτό σημαίνει ότι ο προσανατολισμός του είναι επίσης σημαντικός. Ο αρνητικός πείρος πρέπει να επισημανθεί. Με τη διαδικασία της εξάλειψης, μπορείτε να καταλάβετε ποιος είναι ο θετικός πείρος:-). Συνδέστε το σωστά.

Οι αντιστάσεις, το φωτοκύτταρο και ο μικρός κυκλικός κεραμικός πυκνωτής δεν έχουν πολικότητα. Συνδέστε τα προς όποια κατεύθυνση θέλετε. Βεβαιωθείτε ότι έχετε συνδέσει τον μικρό κεραμικό πυκνωτή πολύ κοντά στις ακίδες VCC και GND του ATTiny84a. Η δουλειά του είναι να εξομαλύνει τυχόν γρήγορες αιχμές τροφοδοσίας από τον μικροελεγκτή ATtiny. Είναι γεμάτο με μια μικροσκοπική φόρτιση από την πηγή ενέργειας (μπαταρίες), η οποία είναι διαθέσιμη πολύ γρήγορα εάν ο μικροελεγκτής το χρειαστεί σε χρόνο μικροδευτερολέπτου. Αποτρέπει την πτώση της τάσης τροφοδοσίας στο τσιπ πολύ χαμηλά λόγω παροδικών αναλήψεων γρήγορου ρεύματος.

Ο ηλεκτρολυτικός πυκνωτής 100 microfarad κάνει το ίδιο πράγμα, αλλά σε μεγαλύτερα διαστήματα. Λόγω του ότι είναι ένα τύλιγμα λεπτών μεταλλικών φύλλων, περιέχει κάποια εσωτερική αντίσταση και έτσι η φόρτιση του δεν είναι τόσο άμεσα διαθέσιμη. Μπορεί να είναι γρήγορο, είναι αλήθεια, αλλά όχι με τον ρυθμό που παρέχει ο πυκνωτής κεραμικού δίσκου.

Και οι δύο πυκνωτές αντιδρούν γρηγορότερα στις παροδικές παροχές ρεύματος από τις μπαταρίες, γι 'αυτό και περιλαμβάνονται. Έχει συμβεί ότι τα κυκλώματά μου έχουν συμπεριφερθεί περίεργα αν λείπουν. Μπορεί να είναι πολύ μυστηριώδες, επομένως είναι σημαντικά.

Εκσυγχρονίζω

Δεν φαίνεται εδώ, αλλά είναι απαραίτητο, είναι μια αντίσταση 10K ohm από την ακίδα 4 έως το Vcc. Καλό θα ήταν να εγκαταστήσετε ένα. Ωστόσο, δεν το έκανα και το κύκλωμα λειτούργησε καλά. Χωρίς αυτό, όμως, κινδυνεύετε με ψευδείς επαναφορές στο τσιπ σας.

Βήμα 6: Φορτώστε το σκίτσο

Φορτώστε το Σκίτσο
Φορτώστε το Σκίτσο

Τώρα έρχεται η ώρα να φορτώσετε το σκίτσο. Ας κάνουμε αυτά τα φλας!

Θα βρείτε τον πηγαίο κώδικα για το σκίτσο στη διεύθυνση

  • Πιάστε το και φορτώστε το στο λογισμικό Arduino.
  • ΣΗΜΕΙΩΣΗ: Υπάρχει μια ενότητα στον κώδικα που μοιάζει με αυτήν:

// --- DEBUG DEBUG DEBUG DEBUG D-vvvv-UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG // --- DEBUG DEBUG DEBUG D-vvvv-UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG #undef DEBUG/ / --- DEBUG DEBUG DEBUG DEBUG D-vvvv-UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG // --- DEBUG DEBUG DEBUG DEBUG D-vvvv-UG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG

Προτείνω να αλλάξετε το

#undef DEBUG

προς το

#define DEBUG

καθώς οι χρόνοι του βρόχου συντομεύονται πολύ. Θα πρέπει να το αλλάξετε ξανά και να το ανεβάσετε ξανά όταν είστε έτοιμοι να εμφανίσετε το SpookyEyes πραγματικά.

  • Προχωρήστε και κάντε το τώρα. Το υπόλοιπο αυτής της σελίδας υποθέτει ότι το κάνατε.
  • Βεβαιωθείτε ότι έχετε ακολουθήσει τα βήματα στο Βήμα 4: Υποστήριξη Arduino για το ATtiny
  • Τώρα συνδέστε την πλευρά Arduino του usbasp στην πλακέτα σας. Θέλετε να το συνδέσετε ως εξής:

    • GND στην μπαταρία σας αρνητική
    • MOSI στην καρφίτσα 7 του ATtiny
    • MISO στο pin 0 του ATtiny
    • SCK στην καρφίτσα 9 του ATtiny
    • RST στην καρφίτσα 4 του ATtiny
  • Συνδέστε το άλλο άκρο του USBasp στη θύρα USB του υπολογιστή σας
  • Συνδέστε την μπαταρία ή άλλη πηγή ισχύος 5v στο κύκλωμά σας.
  • Ανεβάστε το σκίτσο χρησιμοποιώντας το Arduino IDE (Sketch-> Upload). Οι λυχνίες LED θα αναβοσβήνουν αφού ορισμένες από τις ακίδες που χρησιμοποιούνται για το κύκλωμα χρησιμοποιούνται επίσης για το USBasp.

Πώς λειτουργεί το σκίτσο

Βεβαιωθείτε ότι βρίσκεστε σε ένα κάπως φωτεινό δωμάτιο ή κατευθύνετε το φως από έναν φακό στη μικρή αντίσταση ευαίσθητη στο φως. Τροφοδοτήστε το κύκλωμα και παρατηρήστε τα LED των ματιών. Αυτή είναι η λειτουργία "φως ημέρας". Τώρα που εκτελείται το σκίτσο, θα πρέπει να δείτε τα παρακάτω. Λάβετε υπόψη ότι οι περιοχές στον κώδικα που περιγράφονται εδώ επισημαίνονται με "BooKmarks" και όχι με αριθμούς γραμμών, ώστε να μπορείτε να ακολουθήσετε. Αυτά έχουν τη μορφή: #BK.descriptive_string ("Pound B K Period" και στη συνέχεια κάποιο είδος περιγραφικής συμβολοσειράς). Για παράδειγμα, ο πρώτος σελιδοδείκτης ονομάζεται "#BK. Hello" και μπορεί να βρεθεί στον κώδικα όπου τα LED ανάβουν για ένα δευτερόλεπτο και στη συνέχεια κενό για ένα δευτερόλεπτο:

  • Και τα δύο LEDS θα συνεχίσουν για ένα δευτερόλεπτο και στη συνέχεια θα είναι κενά για ένα δευτερόλεπτο. #BK. Γεια σας
  • Και οι δύο αναβοσβήνουν αργά 3 φορές. Αυτό υποδεικνύει ότι το ATtiny έχει ρυθμιστεί σε ταχύτητα 1MHz. #BK.check_time * Δείτε τη ΣΗΜΕΙΩΣΗ Α παρακάτω.
  • Παύση για ένα δευτερόλεπτο.
  • Στη συνέχεια αναβοσβήνουν γρήγορα δύο φορές.
  • Παύση για ένα δευτερόλεπτο.
  • Τώρα είστε στον βρόχο () #BK.loop. Θυμηθείτε, μια ώρα είναι μόνο 10 δευτερόλεπτα τώρα.

Το "μάνδαλο" είναι απενεργοποιημένο. Και ένας χρόνος HOUR_millis (== 1 ώρα, σε κανονική λειτουργία) δεν έχει περάσει ακόμη. Έτσι, παραλείπουμε τα πάντα μέχρι να φτάσουμε στο #BK.indicate_duration. Μέχρι στιγμής είμαστε στη μηδενική ώρα, οπότε αναβοσβήνουμε τα μάτια 0 φορές.

  • Αυτό συνεχίζεται μέχρι να φτάσουμε στα HOUR_millis δευτερόλεπτα (10 δευτερόλεπτα, σε λειτουργία DEBUG).
  • Στη συνέχεια, αναβοσβήνει γρήγορα τρεις φορές. #BK.time_management
  • Προσθέστε άλλη "ώρα" αυξάνοντας τη μεταβλητή latch_time_off
  • Στη συνέχεια, πηδήξτε μέχρι το #BK.indicate_duration. Εκεί, αναβοσβήνουμε τον αριθμό των "ωρών" που έχουμε τρέξει. Αυτός ο αριθμός είναι αποθηκευμένος στο EEPROM, επομένως είναι διαθέσιμος ακόμη και αν αποσυνδεθεί το ρεύμα από το τσιπ.

    • Η πρώτη μας ώρα στο φως ολοκληρώθηκε. Έτσι αναβοσβήνουμε μία φορά, εν συντομία.
    • Στη συνέχεια, κάντε παύση 2 δευτερολέπτων.
  • Επιστροφή στον βρόχο ():

    • Κάθε επανάληψη μέσω του βρόχου τώρα, ελέγχουμε αν έχει περάσει ο χρόνος HOURS_milli. Για τις πρώτες αρκετές επαναλήψεις (στο DEBUG), δεν έχει. Έτσι δεν αναβοσβήνουμε 3 φορές.
    • Περνάμε στο #BK.indicate_duration και αναβοσβήνουμε γρήγορα μια καταμέτρηση του αριθμού των ωρών που έχουμε περάσει στο φως, η οποία και πάλι αποθηκεύεται στη θέση 0 της EEPROM.
    • Αυτό συνεχίζεται για πολύ καιρό.
    • Σημειώστε ότι μόλις ο αριθμός στη θέση 0 της EEPROM είναι αρκετά μεγάλος, ο βρόχος γίνεται απλά:

      • Αναβοσβήνει 3 φορές σε λογικό ρυθμό,
      • Αναβοσβήνει γρήγορα ο αριθμός των HOURS_millis που έχουμε δει στο φως,
      • Περιμένετε 2 δευτερόλεπτα,
      • επαναλαμβάνω.

Τώρα βάλτε το δάχτυλό σας πάνω από τη φωτοευαίσθητη αντίσταση. Or απλώς σβήστε τα φώτα. Ο βρόχος γίνεται τώρα:

  • Η ώρα λήξης μας έχει περάσει πάνω από μία ώρα και είναι σκοτεινό, οπότε στο #BK. ελέγξτε το φως, διαπιστώνουμε ότι είναι πράγματι σκοτεινό.
  • Ενεργοποιούμε το μάνδαλο. Αυτό ξεκινά τα τρομακτικά πράγματα σε κάθε βρόχο. Δείτε ΕΔΩ ΤΟ ΠΡΟΦΥΛΑΚΤΙΚΟ ΧΑΡΑ Ο κώδικας πρέπει να είναι αρκετά περιγραφικός.
  • Μόλις ενεργοποιηθεί το μάνδαλο αρκετά καιρό, θα το απενεργοποιήσουμε. Δείτε #BK.turn_spookiness_off.
  • Τώρα επιστρέφουμε στη #BK.time_management, σύμφωνα με το "κλείνω γρήγορα τρεις φορές", παραπάνω.

Τρέξτε για την πραγματική

Μην ξεχάσετε να αλλάξετε το σκίτσο σε #undef DEBUG.

ΣΗΜΕΙΩΣΗ Α

* ΣΗΜΕΙΩΣΗ Α: Ο κωδικός περιλαμβάνεται για να τον ρυθμίσετε στα 8 MHz. Δείτε το CLKPR = 0x00. σχολιασμένος κώδικας. Εάν θέλετε να το κάνετε αυτό (και δεν υπάρχει λόγος να το κάνετε για αυτό το κύκλωμα), βεβαιωθείτε ότι έχετε αλλάξει το Arduino IDE, στο στοιχείο μενού Εργαλεία-> Ρολόι.

Βήμα 7: Από Breadboard στο Soldered Circuit

Από Breadboard στο Soldered Circuit
Από Breadboard στο Soldered Circuit
Από Breadboard στο Soldered Circuit
Από Breadboard στο Soldered Circuit
Από το Breadboard στο Soldered Circuit
Από το Breadboard στο Soldered Circuit

Τώρα ήρθε η ώρα να κάνουμε το κύκλωμα Παραγωγή! Πάρτε ένα μικρό συγκολλητό πάνελ. Μου αρέσει ο κατάλογος Radio Shack #: 2760159, που φαίνεται εδώ: https://www.radioshack.com/collections/prototyping…. Υπάρχουν πολλές τρύπες για τη μεταφορά των εξαρτημάτων της πλακέτας του υπολογιστή σας στο διάτρητο.

Μην ξεχάσετε να συμπεριλάβετε μικρά κομμάτια υποδοχής για την εισαγωγή των καλωδίων USBasp (για προγραμματισμό)! Θα χρειαστείτε 5 από αυτά.

Προετοιμάστε το κρανίο

Προσανατολίστε το κρανίο σας ως προς το πώς θα καθίσει στο έδαφος. Θα χρειαστεί να ανοίξετε μια τρύπα για τη φωτοαντίσταση, έτσι ώστε να φωτίζεται πραγματικά:-). … Σημαντικό βήμα! Επίσης, χρησιμοποιώντας το αγαπημένο σας εργαλείο κοπής, ανοίξτε το κάτω μέρος του κρανίου έτσι ώστε να υπάρχει χώρος για την πλακέτα και τις μπαταρίες. Κόψτε το από 3 πλευρές μόνο για να κάνετε μια πόρτα.

Τρυπήστε την τρύπα ώστε η φωτοαντίσταση να είναι κατάλληλη για πρέσα. Προφανώς, μπορείτε να δοκιμάσετε το μέγεθος από το εξωτερικό του κρανίου για να το κάνετε σωστά. Ξεκινάτε πάντα μικρά με τα τρυπάνια σας και μην τρυπάτε πολύ γρήγορα για να μην δημιουργήσετε πολύ λάμψη γύρω από την τρύπα που θα χρειαστεί να ξυρίσετε με ένα μαχαίρι.

Τρυπήστε τρύπες στα μάτια για τα LED. Μετρήστε τα προσεκτικά, έτσι ώστε τα LED να ταιριάζουν με το πάτημα. Έβαλα τα LED μου από μέσα και επειδή δεν υπήρχε αρκετός χώρος για να δουλέψω μέσα, απλώς έσταξα λίγη κόλλα θερμού τήγματος στο πίσω μέρος των LED, ως λίγη επιπλέον ασφάλεια για να τα κρατήσω.

Wasμουν επίσης προσεκτικός για να τοποθετήσω ένα από τα καλώδια σε κάθε LED σε σωλήνες που συρρικνώνονται με θερμότητα.

Βάλτε το κύκλωμα

Δεδομένου ότι το κρανίο απλώς κάθεται εκεί, δεν ήμουν ιδιαίτερα προσεκτικός σχετικά με την τοποθέτηση της πλακέτας κυκλώματος. Βεβαιώθηκα ότι η μπαταρία πήγε στο κάτω μέρος και δεν θα υπήρχαν βραχυκυκλώματα. Μόλις συνδεθεί, τοποθετηθεί και τροφοδοτηθεί, έκλεισα το ipt up και έβαλα μια σταγόνα από κόλλα θερμής τήξης στο κάτω πτερύγιο.

Βεβαιωθείτε ότι έχετε κάνει τα καλώδια στα LED και τη φωτοαντίσταση για μεγάλο χρονικό διάστημα, ώστε να μπορείτε να τραβήξετε την πλακέτα για επαναπρογραμματισμό.

Βήμα 8: Spoooooky Eyes !!!! Ωωωωωωωω !!

Spoooooky Eyes !!!! Ωωωωωωωω !!!!
Spoooooky Eyes !!!! Ωωωωωωωω !!!!

Εντάξει, τώρα αυτό είναι. Τα Spooky Eyes σας θα ενεργοποιηθούν το σούρουπο, θα εμφανίζονται για 4 ώρες και μετά θα κλείνουν για να διατηρήσετε τις μπαταρίες. Θα μείνει εκτός μέχρι το επόμενο βράδυ. Θα το κάνει για TOTAL_RUN_HOURS ώρες, οπότε προετοιμάστε αυτήν την τιμή στο σκίτσο προσεκτικά. Δεδομένου ότι έχω 4 ώρες προεπιλεγμένο MAX_RUNTIME, 40 ώρες για TOTAL_RUN_HOURS σημαίνει ότι θα λειτουργεί για 10 ημέρες.

Εάν κάποιος αποφασίσει ότι είναι πολύ νόστιμο για εσάς και το πάει σπίτι, το SpookyEyes θα τελειώσει το τρέξιμό του και μετά θα σιωπήσει και θα στοιχειώσει για πάντα την ψυχή του. Αρκεί να πούμε, οι κλέφτες καλό θα ήταν να αποφύγουν να σας πάρουν το κρανίο SpookyEyes!

Αφήστε τα SpookyEyes σας μακριά για την εποχή. Του χρόνου, απλά ανεβάστε ξανά το σκίτσο και το SpookyEyes ζωντανεύει! Πόσο τρομακτικό είναι αυτό; Ωωωωωωω !!!!

Βελτιώσεις

Μάλλον θα έπρεπε να είχα κάνει το ATtiny να κοιμηθεί κατά τη διάρκεια της ημέρας. Απενεργοποιημένο, αντλεί πολύ λίγο ρεύμα.

Θα έπρεπε να είχα βάλει μια αντίσταση 10K ohm στον πείρο 4. Αυτό εμποδίζει το κύκλωμα να μη ρυθμιστεί μυστηριωδώς. Δεν είχα όμως κανένα πρόβλημα. Αλλά πρέπει να γίνει για να είναι σωστό.

Με μπαταρία

Λατρεύω το ATtiny84. Είναι ένα υπέροχο μικρό τσιπ για κύκλωμα χαμηλής ισχύος. Σίγουρα, δεν έχει τις δυνατότητες Serial.print () του Arduino ATmega328p και των παρόμοιων, αλλά μπορείτε να αναβοσβήνετε τα φώτα με συγκεκριμένους τρόπους για να σας πει τι συμβαίνει μέσα στο κύκλωμά σας, για εντοπισμό σφαλμάτων. Δεν είναι δύσκολο να συνεργαστείς.

Ελπίζω να βρήκατε αυτό το εκπαιδευτικό… διδακτικό!

Συνιστάται: