Taula de continguts:
Vídeo: Canvieu els colors del LED mitjançant POT i ATTINY85: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
En aquest projecte fem servir un potenciòmetre (POT) per canviar els colors d’un LED mitjançant un ATTINY85.
Algunes definicions:
Un potenciòmetre és un dispositiu amb un petit mecanisme de cargol / gir que quan es gira produeix diferents resistències elèctriques. Podeu veure a la imatge anotada que el POT té 3 pins, és a dir, +, - i sortida. El POT s’alimenta connectant els pins + i - a vcc i a terra respectivament en una font d’alimentació. A mesura que es gira el cargol POT, la resistència de sortida canvia i fa que el LED disminueixi o augmenti en intensitat.. En altres paraules, és una resistència variable. S'utilitzen en coses com els reguladors de llum domèstics.
LED: és una petita llum que s’il·lumina quan hi passa corrent elèctric. En aquest cas, utilitzarem un LED multicolor que té 3 pins, un terra (mig) i dos pins que es mostren verds i vermells respectivament quan s’activa.
ATTINY85: es tracta d’un petit xip de baix cost que podeu programar com un Arduino.
Visió general: la sortida del POT està connectada a l'ATTINY85. A mesura que es gira el cargol POT, es produeix una diferència de resistència com a número entre 0 i 255. L'ATTINY pot mesurar-ho i fer diferents accions en funció del valor de la resistència POT. En aquest cas, l'hem programat per connectar-se al LED de la següent manera.
Si el nombre és superior a 170, canvieu el LED a VERD.
Si el nombre és inferior a 170 però superior a 85, canvieu el LED a VERMELL.
si el nombre és inferior a 85, activeu el LED VERD I VERMELL que resulti en TARONJA.
BOM
1 x LED de 3 pins 1 x ATTINY 85
1 x POT (B100K)
1 x tauler de connexió i cables
1 font d'alimentació.
Pas 1: programació de l'ATTINY85
Pel que fa a la programació de l’ATTINY85, consulteu la meva instrucció prèvia:
El codi es mostra a continuació. Alguns punts a destacar són que dos pins ATTINY, PB3, pin físic 2, PB2, pin físic 7 estan connectats, en mode digital, al LED per efectuar el canvi de color. El pin PB4 ATTINY, el pin físic 3, està connectat al POT en mode analògic, el que significa que pot llegir valors entre 0 i 254. He personalitzat el codi que he trobat a Internet, de manera que reconec que funciona. -
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 - entrada per POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 set de freqüència a 8 MHz / * aquesta funció inicialitza l'ADC
Notes sobre precalificador ADC:
Cal configurar ADC Prescaler de manera que la freqüència d’entrada ADC estigui entre 50 i 200 kHz.
Per obtenir més informació, vegeu la taula 17.5 "Seleccions ADC Prescaler" al capítol 17.13.2 "ADCSRA - Registre de control i estat ADC A" (pàgines 140 i 141 a la fitxa completa de dades ATtiny25 / 45/85, Rev. 2586M – AVR – 07 / 10)
Valors de prescaler vàlids per a diverses velocitats de rellotge
Rellotge Valors disponibles del precalificador --------------------------------------- 1 MHz 8 (125kHz), 16 (62,5 kHz) 4 MHz 32 (125 kHz), 64 (62,5 kHz) 8 MHz 64 (125 kHz), 128 (62,5 kHz) 16 MHz 128 (125 kHz)
A continuació, es defineix el prescaler a 128 per a mcu que funciona a 8 MHz
(consulteu el full de dades per obtenir els valors de bits adequats per configurar el precalificador) * /
// Resolució de 8 bits
// configureu ADLAR a 1 per habilitar el resultat de desplaçament a l'esquerra (només hi ha disponibles els bits ADC9.. ADC2) //, aleshores, només la lectura d'ADCH és suficient per obtenir resultats de 8 bits (valors 256) DDRB | = (1 << PB3); // El pin es defineix com a sortida. DDRB | = (1 << PB2); // El pin es defineix com a sortida. ADMUX = (1 << ADLAR) | // resultat de desplaçament a l'esquerra (0 << REFS1) | // Conjunts ref. tensió a VCC, bit 1 (0 << REFS0) | // Conjunts ref. tensió a VCC, bit 0 (0 << MUX3) | // utilitzeu ADC2 per a l'entrada (PB4), bit MUX 3 (0 << MUX2) | // utilitzeu ADC2 per a l'entrada (PB4), bit MUX 2 (1 << MUX1) | // utilitzeu ADC2 per a l'entrada (PB4), bit MUX 1 (0 << MUX0); // utilitzeu ADC2 per a l'entrada (PB4), bit MUX 0
ADCSRA =
(1 << ADEN) | // Activa ADC (1 << ADPS2) | // estableix el precaler a 64, bit 2 (1 << ADPS1) | // estableix el precaler a 64, bit 1 (0 << ADPS0); // estableix el precaler a 64, bit 0}
int main (buit)
{initADC ();
mentre que (1)
{
ADCSRA | = (1 << ADSC); // iniciar el mesurament ADC mentre (ADCSRA & (1 << ADSC)); // espereu fins que es completi la conversió
si (ADCH> 170)
{PORTB | = (1 << PB3); // Pin fixat a HIGH. PORTB | = (1 << PB2); // Pin fixat a HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin fixat a HIGH. PORTB & = ~ (1 << PB2); // Pin fixat a BAIX
} més {
PORTB | = (1 << PB2); // Pin fixat a HIGH. PORTB & = ~ (1 << PB3); // Pin fixat a BAIX
}
}
retorn 0;
}
Pas 2: Circuit
PINS ATTINY
PB3, pin físic 2: pin LED 1 connectat
El PB4, pin físic 3, està connectat al pin POT del mig
GND, pin físic 4, està connectat a la font d'alimentació del carril negatiu
PB2, pin físic 7: pin LED 3 connectat
VCC, el pin físic 8, està connectat a la font d'alimentació del carril positiu
POT
pos i neg pin connectats als respectius rails: font d'alimentació.
LED
pin central connectat al rail negatiu: font d'alimentació
Vaig experimentar amb una font d'alimentació de 3 i 3,3 volts i tots dos funcionaven.
Pas 3: Conclusió
La capacitat de l'ATTINY85 per moure's entre el mode analògic i el digital és molt potent i es pot utilitzar en diverses aplicacions diferents, per exemple. conduint motors de velocitat variable i creant notes musicals. Exploraré això en futures instruccions. Espero que us hagi estat útil.
Recomanat:
Selector de colors Arduino RGB: seleccioneu els colors dels objectes de la vida real: 7 passos (amb imatges)
Arduino RGB Color Picker: seleccioneu els colors dels objectes de la vida real: escolliu fàcilment els colors dels objectes físics amb aquest selector de colors RGB basat en Arduino, que us permetrà recrear els colors que veieu als objectes de la vida real al vostre PC o telèfon mòbil. Simplement premeu un botó per escanejar el color de l'objecte amb un TCS347 barat
Canvieu el nom de l’auricular / altaveu / adaptador Bluetooth o altres paràmetres mitjançant UART: 8 passos (amb imatges)
Canvieu el nom de l’auricular / altaveu / adaptador Bluetooth o altres paràmetres mitjançant UART: teniu un parell d’auriculars Bluetooth o altres accessoris d’àudio Bluetooth que tenen un nom realment repugnant i que cada cop que els parleu teniu aquest desig intern de canviar-ne nom? Encara que els motius no siguin els mateixos, hi ha
Canvieu els servidors DNS a OpenDNS: 6 passos
Canvieu els vostres servidors DNS a OpenDNS: recentment, els servidors AOL han estat una mica escassos i no han funcionat correctament, cosa que ha fet que algunes ànimes desafortunades, com jo, no poguessin accedir a determinats llocs web (principalment wiggle.co.uk). La manera de solucionar-ho és canviar el DNS
Distribuïu els vostres instructables, els temes del fòrum i els vostres preferits a Twitter i Facebook: 3 passos
Distribuïu els vostres instructables, els temes del fòrum i els vostres preferits a Twitter i Facebook: mitjançant els canals RSS del vostre compte i d'un parell de llocs web útils, és possible sindicar i compartir els vostres instructables, els temes del fòrum, els preferits i tota la resta de la vostra activitat a Instructibles a Facebook o Twitter. Aquesta és una gran manera
Canvieu els leds del teclat: 5 passos
Canvieu els leds del teclat: aquest és un altre projecte senzill però interessant que podeu fer amb el teclat. Probablement esteu cansats dels LED verds del teclat i voleu algun altre color? O és possible que vulgueu un color diferent per a cada LED del teclat? Aquest instructable