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

Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85: 3 βήματα
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85: 3 βήματα

Βίντεο: Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85: 3 βήματα

Βίντεο: Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85: 3 βήματα
Βίντεο: Φως Αδιάβροχο 10 LED RGB με Χειριστήριο 7x2.7cm 2024, Ιούλιος
Anonim
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85
Αλλάξτε τα χρώματα LED χρησιμοποιώντας ένα δοχείο και ATTINY85

Σε αυτό το έργο χρησιμοποιούμε ένα ποτενσιόμετρο (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 να κινείται μεταξύ αναλογικής και ψηφιακής λειτουργίας είναι πολύ ισχυρή και μπορεί να χρησιμοποιηθεί σε πολλές διαφορετικές εφαρμογές, π.χ. οδήγηση κινητήρων μεταβλητής ταχύτητας και δημιουργία μουσικών νότες. Θα το διερευνήσω σε μελλοντικές οδηγίες. Ελπίζω να το βρήκατε χρήσιμο.

Συνιστάται: