Πίνακας περιεχομένων:
Βίντεο: Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σε αυτό το έργο χρησιμοποιούμε ένα ποτενσιόμετρο (POT) για να αλλάξουμε τα χρώματα σε ένα LED χρησιμοποιώντας ένα ATTINY85.
Μερικοί ορισμοί -
Το ποτενσιόμετρο είναι μια συσκευή με μικρό μηχανισμό βίδας / περιστροφής, ο οποίος όταν γυρίζει βγάζει διαφορετικές ηλεκτρικές αντιστάσεις. Μπορείτε να δείτε από την παραπάνω σχολιασμένη εικόνα ότι το POT έχει 3 ακίδες, δηλαδή, +, -, και έξοδο. Το POT τροφοδοτείται με τη σύνδεση των ακίδων + και - σε vcc και γείωση αντίστοιχα σε τροφοδοτικό. Καθώς περιστρέφεται η βίδα POT, η αντίσταση εξόδου αλλάζει και προκαλεί μείωση ή αύξηση της έντασης της λυχνίας LED. Το Με άλλα λόγια, είναι μια μεταβλητή αντίσταση. Χρησιμοποιούνται σε πράγματα όπως τα φωτιστικά σπιτιού.
LED - Αυτό είναι ένα μικρό φως που ανάβει όταν περνάει ηλεκτρικό ρεύμα. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε ένα πολύχρωμο LED το οποίο έχει 3 ακίδες, μία γείωση (μεσαία) και δύο ακίδες που εμφανίζουν πράσινο και κόκκινο αντίστοιχα όταν ενεργοποιούνται.
ATTINY85-αυτό είναι ένα μικρό μικρο-τσιπ χαμηλού κόστους το οποίο μπορείτε να προγραμματίσετε σαν Arduino.
Επισκόπηση - Η έξοδος από το POT συνδέεται με το ATTINY85. Καθώς περιστρέφεται η βίδα POT, προκύπτει μια αντίσταση διαφοράς ως αριθμός μεταξύ 0 και 255. Το ATTINY μπορεί να το μετρήσει και να κάνει διαφορετικές ενέργειες ανάλογα με την τιμή της αντίστασης POT. Σε αυτήν την περίπτωση, το έχουμε προγραμματίσει να συνδεθεί με το LED ως εξής.
Εάν ο αριθμός είναι μεγαλύτερος από 170, αλλάξτε το LED σε ΠΡΑΣΙΝΟ.
Εάν ο αριθμός είναι μικρότερος από 170 αλλά μεγαλύτερος από 85, αλλάξτε το LED σε RED.
εάν ο αριθμός είναι μικρότερος από 85 ενεργοποιήστε το LED ΠΡΑΣΙΝΟ ΚΑΙ ΚΟΚΚΙΝΟ που οδηγεί σε ΠΟΡΤΟΚΑΛΙ.
BOM
1 x 3 ακίδων LED 1 x ATTINY 85
1 x POT (B100K)
1 x breadboard και καλώδια
1 τροφοδοτικό.
Βήμα 1: Προγραμματισμός του ATTINY85
Όσον αφορά τον προγραμματισμό του ATTINY85, ανατρέξτε στο προηγούμενο εκπαιδευτικό-https://www.instructables.com/id/15-Dollar-Attiny8…
Ο κωδικός εμφανίζεται παρακάτω. Μερικά σημεία που πρέπει να σημειωθούν είναι ότι δύο καρφίτσες ATTINY, PB3, φυσικός πείρος 2, PB2, φυσικός πείρος 7 συνδέονται, σε ψηφιακή λειτουργία, με τη λυχνία LED για να πραγματοποιήσουν αλλαγή χρώματος. Ο πείρος ATTINY PB4, φυσικός ακροδέκτης 3, είναι συνδεδεμένος με το POT σε αναλογική λειτουργία, πράγμα που σημαίνει ότι μπορεί να διαβάσει τιμές μεταξύ 0 και 254. Προσάρμοσα τον κώδικα που βρήκα στο διαδίκτυο, ώστε να αναγνωρίζω ότι λειτουργεί. -
void initADC () {// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ============= ================================================== ============================= // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]* [8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) //* ** (PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/ DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) // *** // pb4 - είσοδος για POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frequency set in ներքին 8 MHz/* αυτή η λειτουργία αρχικοποιεί το ADC
Σημειώσεις Prescaler ADC:
Το ADC Prescaler πρέπει να ρυθμιστεί έτσι ώστε η συχνότητα εισόδου ADC να είναι μεταξύ 50 - 200kHz.
Για περισσότερες πληροφορίες, ανατρέξτε στον πίνακα 17.5 "ADC Prescaler Selections" στο κεφάλαιο 17.13.2 "ADCSRA - ADC Control and Status Register A" (σελίδες 140 και 141 στο πλήρες φύλλο δεδομένων ATtiny25/45/85, Rev. 2586M – AVR – 07/ 10)
Έγκυρες τιμές προεπιλογής για διάφορες ταχύτητες ρολογιού
Ρολόι Διαθέσιμες τιμές prescaler ------------------------------------------- 1 MHz 8 (125kHz), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)
Στο παρακάτω παράδειγμα, ορίστε τον προ -ζυγοστάτη σε 128 για mcu που λειτουργεί σε 8MHz
(ελέγξτε το φύλλο δεδομένων για τις κατάλληλες τιμές bit για να ορίσετε τον προκαθοριστή) */
// Ανάλυση 8-bit
// ορίστε το ADLAR στο 1 για να ενεργοποιήσετε το αποτέλεσμα αριστερής μετατόπισης (διατίθενται μόνο bits ADC9.. ADC2) // τότε, μόνο η ανάγνωση ADCH είναι αρκετή για αποτελέσματα 8 bit (256 τιμές) DDRB | = (1 << PB3) ? // Το pin έχει οριστεί ως έξοδος. DDRB | = (1 << PB2); // Το pin έχει οριστεί ως έξοδος. ADMUX = (1 << ADLAR) | // αποτέλεσμα αριστερής μετατόπισης (0 << REFS1) | // Ορίζει αναφορά τάση στο VCC, bit 1 (0 << REFS0) | // Ορίζει αναφορά τάση σε VCC, bit 0 (0 << MUX3) | // χρησιμοποιήστε ADC2 για είσοδο (PB4), bit MUX 3 (0 << MUX2) | // χρησιμοποιήστε ADC2 για είσοδο (PB4), bit MUX 2 (1 << MUX1) | // χρησιμοποιήστε ADC2 για είσοδο (PB4), bit MUX 1 (0 << MUX0). // χρησιμοποιήστε ADC2 για είσοδο (PB4), bit MUX 0
ADCSRA =
(1 << ADEN] | // Ενεργοποίηση ADC (1 << ADPS2] | // ορίστε τον προκατασκευαστή σε 64, bit 2 (1 << ADPS1) | // ορίστε τον προκατασκευαστή σε 64, bit 1 (0 << ADPS0); // ορίστε τον προκατασκευαστή σε 64, bit 0}
int main (άκυρο)
{initADC ();
ενώ (1)
{
ADCSRA | = (1 << ADSC); // ξεκινήστε τη μέτρηση ADC ενώ (ADCSRA & (1 << ADSC)); // περιμένετε μέχρι να ολοκληρωθεί η μετατροπή
εάν (ADCH> 170)
{PORTB | = (1 << PB3); // Το pin έχει οριστεί σε HIGH. PORTB | = (1 << PB2); // Το pin έχει οριστεί σε HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // Το pin έχει οριστεί σε HIGH. PORTB & = ~ (1 << PB2); // Το pin έχει οριστεί σε LOW
} αλλο {
PORTB | = (1 << PB2); // Το pin έχει οριστεί σε HIGH. PORTB & = ~ (1 << PB3); // Το pin έχει οριστεί σε LOW
}
}
επιστροφή 0?
}
Βήμα 2: Κύκλωμα
Καρφίτσες ATTINY
PB3, φυσικός πείρος 2 - συνδεδεμένος πείρος LED 1
Το PB4, ο φυσικός πείρος 3, είναι συνδεδεμένος με το μεσαίο pin POT
Το GND, φυσικός πείρος 4, συνδέεται με την αρνητική ρεύμα - τροφοδοτικό
PB2, φυσικός πείρος 7 - συνδεδεμένος πείρος LED 3
Το VCC, φυσικός πείρος 8, συνδέεται με τη θετική ράγα - τροφοδοτικό
ΔΟΧΕΙΟ
pos και neg pin που συνδέονται με αντίστοιχες ράγες - τροφοδοτικό.
LED
μεσαίο πείρο συνδεδεμένο με την αρνητική ράγα - τροφοδοτικό
Πειραματίστηκα χρησιμοποιώντας τροφοδοτικό 3 και 3,3 volt και λειτουργούσαν και τα δύο.
Βήμα 3: Συμπέρασμα
Η ικανότητα του ATTINY85 να κινείται μεταξύ αναλογικής και ψηφιακής λειτουργίας είναι πολύ ισχυρή και μπορεί να χρησιμοποιηθεί σε πολλές διαφορετικές εφαρμογές, π.χ. οδήγηση κινητήρων μεταβλητής ταχύτητας και δημιουργία μουσικών νότες. Θα το διερευνήσω σε μελλοντικές οδηγίες. Ελπίζω να το βρήκατε χρήσιμο.
Συνιστάται:
NeckLight V2: Glow-In-The-Dark κολιέ με σχήματα, χρώματα και φώτα: 10 βήματα (με εικόνες)
NeckLight V2: Glow-In-The-Dark κολιέ με σχήματα, χρώματα και φώτα: Γεια σε όλους, Μετά τα πρώτα Instructables: NeckLight που δημοσίευσα ήταν μεγάλη επιτυχία για μένα, επιλέγω να φτιάξω το V2 του. Η ιδέα πίσω από αυτό Το V2 είναι να διορθώσει κάποιο λάθος του V1 και να έχει περισσότερη οπτική επιλογή. Σε αυτό το Instructables θα εξηγήσω
Δημιουργήστε μια συσκευή αισθητήρα θερμοκρασίας Apple HomeKit χρησιμοποιώντας ένα ESP8266 και ένα BME280: 10 βήματα
Κατασκευάστε μια συσκευή αισθητήρα θερμοκρασίας Apple HomeKit χρησιμοποιώντας έναν ESP8266 και έναν BME280: Στο σημερινό διδακτικό, θα φτιάξουμε αισθητήρα θερμοκρασίας, υγρασίας και υγρασίας χαμηλού κόστους με βάση είτε τον αισθητήρα θερμοκρασίας/υγρασίας AOSONG AM2302/DHT22 είτε BME280, αισθητήρα υγρασίας YL-69. και την πλατφόρμα ESP8266/Nodemcu. Και για προβολή
Πώς να φτιάξετε ένα drone χρησιμοποιώντας το Arduino UNO - Φτιάξτε ένα Quadcopter χρησιμοποιώντας μικροελεγκτή: 8 βήματα (με εικόνες)
Πώς να φτιάξετε ένα drone χρησιμοποιώντας το Arduino UNO | Φτιάξτε ένα Quadcopter χρησιμοποιώντας μικροελεγκτή: Εισαγωγή Επισκεφθείτε το κανάλι μου στο Youtube Ένα Drone είναι ένα πολύ ακριβό gadget (προϊόν) για αγορά. Σε αυτήν την ανάρτηση θα συζητήσω πώς θα το φτιάξω φθηνά; Και πώς μπορείτε να φτιάξετε το δικό σας έτσι σε φθηνή τιμή … Λοιπόν στην Ινδία όλα τα υλικά (κινητήρες, ESC
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: 5 βήματα
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: Λάβετε υπόψη ότι αυτό είναι τώρα αρκετά παλιό, οπότε ορισμένα μέρη είναι λανθασμένα και παλιά. Τα αρχεία που πρέπει να επεξεργαστείτε έχουν αλλάξει. Έχω ενημερώσει τον σύνδεσμο για να σας δώσω την πιο πρόσφατη έκδοση της εικόνας (χρησιμοποιήστε το 7-zip για να την αποσυμπιέσετε) αλλά για πλήρη εγκατάσταση
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: 11 βήματα
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: Update Notes Πέμπτη 25 Φεβρουαρίου 2016: Έχω βελτιώσει το πρόγραμμα Scratch και επανασχεδίασα το εκπαιδευτικό μου. Γεια σας παιδιά, με αυτό το έργο ήθελα να χρησιμοποιήσω το Scratch για να μετακινήσω ένα LED RGB στο χρωματικό φάσμα. Υπάρχουν πολλά έργα που το κάνουν αυτό με