Innehållsförteckning:
Video: Ändra LED -färger med en POT och ATTINY85: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I detta projekt använder vi en potentiometer (POT) för att ändra färgerna i en LED med en ATTINY85.
Några definitioner -
En potentiometer är en enhet med en liten skruv / vridmekanism som vid vridning ger olika elektriska motstånd. Du kan se från den kommenterade bilden ovan att POT har tre stift, nämligen +, - och utmatning. POT drivs genom att ansluta + och - stiften till vcc respektive jord på en strömförsörjning. När POT -skruven vrids ändras utgångsmotståndet och gör att lysdioden minskar eller ökar i intensitet.. Med andra ord är det ett variabelt motstånd. De används i saker som hemljusdämpare.
LED - Detta är ett litet ljus som lyser när elektrisk ström passerar genom det. I det här fallet kommer vi att använda en mångfärgad LED som har 3 stift, en mark (mitten) och två stift som visar grönt respektive rött när de utlöses.
ATTINY85-det här är ett litet billigt mikrochip som du kan programmera som en Arduino.
Översikt - Utgången från POT är ansluten till ATTINY85. När POT -skruven vrids utmatas ett differensmotstånd som ett tal mellan 0 och 255. ATTINY kan mäta detta och vidta olika åtgärder beroende på värdet på POT -motståndet. I det här fallet har vi programmerat den för att ansluta till lysdioden enligt följande.
Om siffran är större än 170 växlar lysdioden till GRÖN.
Om siffran är mindre än 170 men större än 85 växlar lysdioden till RÖD.
om antalet är mindre än 85, slå på LED GRÖN OCH RÖD vilket resulterar i ORANGE.
BOM
1 x 3 -stifts LED 1 x ATTINY 85
1 x POT (B100K)
1 x brödbräda och kablar
1 strömförsörjning.
Steg 1: Programmering av ATTINY85
När det gäller programmering av ATTINY85, vänligen se min tidigare instruerbara-https://www.instructables.com/id/15-Dollar-Attiny8…
Koden visas nedan. Några punkter att notera är att två ATTINY -stift, PB3, fysisk stift 2, PB2, fysisk stift 7, är anslutna, i digitalt läge, till lysdioden för att åstadkomma färgändring. ATTINY pin PB4, fysisk pin 3, är ansluten till POT i analogt läge, vilket innebär att den kan läsa värden mellan 0 och 254. Jag anpassade kod som jag hittade på internet så jag erkänner att det fungerar. -
ogiltig 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 - ingång för POT // pb3 ledstift 1 // pb2 ledstift 3 // ATTINY 85 frekvens inställd på intern 8 MHz/* denna funktion initierar ADC
ADC förkalkningsanteckningar:
ADC Prescaler måste ställas in så att ADC -ingångsfrekvensen ligger mellan 50 - 200 kHz.
För mer information, se tabell 17.5 "ADC Prescaler Selections" i kapitel 17.13.2 "ADCSRA - ADC Control and Status Register A" (sidorna 140 och 141 i det kompletta ATtiny25/45/85 databladet, Rev. 2586M – AVR – 07/ 10)
Giltiga förkalkningsvärden för olika klockhastigheter
Klocka Tillgängliga förkalkningsvärden --------------------------------------- 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)
Nedanstående exempel ställer in förskalare på 128 för mcu som körs på 8MHz
(kontrollera databladet för de rätta bitvärdena för att ställa in förkalkningsanläggningen) */
// 8-bitars upplösning
// ställ in ADLAR på 1 för att aktivera vänster-skiftresultatet (endast bitar ADC9.. ADC2 är tillgängliga) // då räcker det bara med läsning av ADCH för 8-bitars resultat (256 värden) DDRB | = (1 << PB3); // Stift anges som en utgång. DDRB | = (1 << PB2); // Stift anges som en utgång. ADMUX = (1 << ADLAR) | // vänster skiftresultat (0 << REFS1) | // Ställer in ref. spänning till VCC, bit 1 (0 << REFS0) | // Ställer in ref. spänning till VCC, bit 0 (0 << MUX3) | // använd ADC2 för ingång (PB4), MUX bit 3 (0 << MUX2) | // använd ADC2 för ingång (PB4), MUX bit 2 (1 << MUX1) | // använd ADC2 för ingång (PB4), MUX bit 1 (0 << MUX0); // använd ADC2 för ingång (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // Aktivera ADC (1 << ADPS2) | // ställ in förkalkning på 64, bit 2 (1 << ADPS1) | // ställ in förkalkningsmedel på 64, bit 1 (0 << ADPS0); // ställ in förkalkningsmedel på 64, bit 0}
int main (void)
{initADC ();
medan (1)
{
ADCSRA | = (1 << ADSC); // starta ADC -mätning medan (ADCSRA & (1 << ADSC)); // vänta tills konverteringen är klar
om (ADCH> 170)
{PORTB | = (1 << PB3); // Pin inställd på HIGH. PORTB | = (1 << PB2); // Pin inställd på HIGH. } annat om (ADCH 85) {PORTB | = (1 << PB3); // Pin inställd på HIGH. PORTB & = ~ (1 << PB2); // Pin inställd på LOW
} annat {
PORTB | = (1 << PB2); // Pin inställd på HIGH. PORTB & = ~ (1 << PB3); // Stift inställd på LÅG
}
}
returnera 0;
}
Steg 2: Krets
ATTINY stift
PB3, fysisk stift 2 - ansluten LED -stift 1
PB4, fysisk stift 3, är ansluten till mittstiftet POT
GND, fysisk stift 4, är ansluten till den negativa skenan - strömförsörjning
PB2, fysisk stift 7 - ansluten LED -stift 3
VCC, fysisk stift 8, är ansluten till den positiva skenan - strömförsörjning
POTT
pos och neg stift ansluten till respektive skenor - strömförsörjning.
LED
mittstiftet anslutet till den negativa skenan - strömförsörjning
Jag experimenterade med en 3 och 3,3 volt strömförsörjning och båda fungerade.
Steg 3: Slutsats
ATTINY85: s förmåga att flytta mellan analogt och digitalt läge är mycket kraftfullt och kan användas i ett antal olika applikationer, t.ex. köra motorer med variabel hastighet och skapa musiknoter. Jag kommer att utforska detta i framtida instruktioner. Jag hoppas att du har funnit detta användbart.
Rekommenderad:
ScanUp NFC -läsare/skrivare och ljudinspelare för blinda, synskadade och alla andra: 4 steg (med bilder)
ScanUp NFC -läsare/skribent och ljudinspelare för blinda, synskadade och alla andra: Jag studerar industridesign och projektet är min termins arbete. Målet är att stödja synskadade och blinda personer med en enhet som gör det möjligt att spela in ljud i WAV -format på ett SD -kort och ringa den informationen med en NFC -tagg. Så i
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Ändra Bluetooth -headset/högtalare/adapterens namn eller andra inställningar via UART: 8 steg (med bilder)
Ändra Bluetooth -headset/högtalare/adapterens namn eller andra inställningar genom UART: Har du ett par Bluetooth -headset eller andra Bluetooth -ljudtillbehör som har ett riktigt äckligt namn och varje gång du kopplar ihop dem har du denna inre önskan att ändra sina namn? Även om orsakerna inte är desamma finns det
Det lilla citronbatteriet och andra mönster för noll kostnadsel och ledbelysning utan batterier: 18 steg (med bilder)
Det lilla citronbatteriet och andra mönster för noll kostnadsel och ledbelysning utan batterier: Hej, du vet säkert redan om citronbatterier eller biobatterier. De används normalt för utbildningsändamål och de använder elektrokemiska reaktioner som genererar låga spänningar, vanligtvis visade i form av en lysdiod eller glödlampa som lyser. Dessa
Mitt rör! Stereo subwooferhögtalare för I-pod och Mp3 andra versionen (med batterier och USB-laddare): 12 steg
Mitt rör! Stereo Sub Woofer-högtalare för I-pod och Mp3 andra versionen (med batterier och USB-laddare): Min insikt i kvartalet är ett komplicerat mer prejudikat, men det är inte svårt att inse. Utkast till två självdrivna fodral stereo till batterier som kan laddas om med möjlighet att ladda i-podden via en USB som matas från samma batteri