Tartalomjegyzék:
Videó: A LED színeinek cseréje POT és ATTINY85 használatával: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ebben a projektben potenciométert (POT) használunk a LED színeinek megváltoztatására egy ATTINY85 segítségével.
Néhány definíció -
A potenciométer egy kis csavarral / esztergálószerkezettel rendelkező készülék, amely elfordításkor különböző elektromos ellenállásokat eredményez. A fenti megjegyzésekkel ellátott képen látható, hogy a POT -nak 3 csapja van, nevezetesen +, - és kimenet. A POT tápellátását a + és - csapok vcc -hez, illetve földeléshez való csatlakoztatása biztosítja. A POT csavar elforgatásával a kimeneti ellenállás megváltozik, és a LED intenzitását csökkenti vagy növeli.. Más szóval, ez egy változó ellenállás. Olyan dolgokban használják őket, mint az otthoni fényszabályozók.
LED - Ez egy kicsi fény, amely akkor világít, amikor az elektromos áram áthalad rajta. Ebben az esetben egy sokszínű LED -et fogunk használni, amelynek 3 érintkezője van, egy földelt (középső) és két érintkező, amelyek zölden és pirosan jelennek meg indításkor.
ATTINY85-ez egy kicsi, olcsó mikrochip, amelyet programozhat, mint egy Arduino.
Áttekintés - A POT kimenete csatlakoztatva van az ATTINY85 készülékhez. A POT csavar elforgatásakor a különbség -ellenállás 0 és 255 közötti számként jelenik meg. Az ATTINY ezt meg tudja mérni, és a POT ellenállás értékétől függően különböző műveleteket hajthat végre. Ebben az esetben az alábbiak szerint programoztuk be, hogy csatlakozzon a LED -hez.
Ha a szám nagyobb, mint 170, kapcsolja a Zöldre.
Ha a szám kevesebb, mint 170, de nagyobb, mint 85, kapcsolja a LED -et PIROSRA.
Ha a szám kevesebb, mint 85, kapcsolja be a ZÖLD ÉS PIROS LED -et, amely narancssárgát eredményez.
BOM
1 x 3 tűs LED 1 x ATTINY 85
1 db edény (B100K)
1 x kenyeretábla és kábelek
1 tápegység.
1. lépés: Az ATTINY85 programozása
Az ATTINY85 programozását illetően kérjük, olvassa el az előző utasításomat-https://www.instructables.com/id/15-Dollar-Attiny8…
A kód alább látható. Érdemes megjegyezni, hogy két ATTINY csap, a PB3, a fizikai 2. tű, a PB2, a 7. fizikai tű digitális módban csatlakozik a LED -hez a színváltozás érdekében. ATTINY PB4, fizikai 3. tű, analóg üzemmódban csatlakozik a POT -hez, ami azt jelenti, hogy 0 és 254 közötti értékeket tud leolvasni. Az interneten talált kódot személyre szabtam, így tudomásul veszem, hogy ez a munka. -
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 - bemenet a POT -hez // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frekvencia a belső 8 MHz -en/* ez a funkció inicializálja az ADC -t
ADC prescaler megjegyzések:
Az ADC Prescalert úgy kell beállítani, hogy az ADC bemeneti frekvenciája 50-200 kHz között legyen.
További információért lásd a 17.5 "ADC prescaler Selections" táblázatot a 17.13.2 "ADCSRA - ADC Control and Status Register A" fejezetben (140. és 141. oldal a teljes ATtiny25/45/85 adatlapon, Rev. 2586M – AVR – 07/ 10)
Érvényes előskálázó értékek a különböző órajelekhez
Óra Elérhető előskálázási értékek --------------------------------------- 1 MHz 8 (125 kHz), 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)
Az alábbi példa állítsa az előskálázót 128 -ra a 8 MHz -en futó mcu -hoz
(az adatlapon ellenőrizze a megfelelő bitértékeket az előskálázó beállításához) */
// 8 bites felbontás
// állítsa az ADLAR értéket 1-re a bal oldali eltolás eredményének engedélyezéséhez (csak az ADC9.. ADC2 bitek állnak rendelkezésre) // akkor csak az ADCH olvasása elegendő a 8 bites eredményekhez (256 érték) DDRB | = (1 << PB3); // A tű kimenetként van beállítva. DDRB | = (1 << PB2); // A tű kimenetként van beállítva. ADMUX = (1 << ADLAR) | // bal eltolás eredménye (0 << REFS1) | // Beállítja a ref. feszültség VCC -hez, 1. bit (0 << REFS0) | // Beállítja a ref. VCC feszültség, 0 bit (0 << MUX3) | // ADC2 használata bemenethez (PB4), MUX bit 3 (0 << MUX2) | // ADC2 használata bemenethez (PB4), MUX bit 2 (1 << MUX1) | // ADC2 használata bemenethez (PB4), MUX bit 1 (0 << MUX0); // használjon ADC2 bemenetet (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // ADC engedélyezése (1 << ADPS2) | // állítsa az előskálázót 64 -re, 2. bit (1 << ADPS1) | // állítsa az előskálázót 64 -re, bit 1 (0 << ADPS0); // állítsa az előskálázót 64 -re, bit 0}
int main (void)
{initADC ();
míg (1)
{
ADCSRA | = (1 << ADSC); // indítsa el az ADC mérést miközben (ADCSRA & (1 << ADSC)); // várjon, amíg a konverzió befejeződik
ha (ADCH> 170)
{PORTB | = (1 << PB3); // A tű HIGH -ra van állítva. PORTB | = (1 << PB2); // A tű HIGH -ra van állítva. } else if (ADCH 85) {PORTB | = (1 << PB3); // A tű HIGH -ra van állítva. PORTB & = ~ (1 << PB2); // Tű LOW -ra állítva
} más {
PORTB | = (1 << PB2); // A tű HIGH -ra van állítva. PORTB & = ~ (1 << PB3); // Tű LOW -ra állítva
}
}
visszatérés 0;
}
2. lépés: Áramkör
ATTINY csapok
PB3, fizikai tüske 2 - csatlakoztatott LED -es tű 1
A PB4, a 3. fizikai csap, a középső csap POT -hoz van csatlakoztatva
A GND, 4. fizikai csap, a negatív sínre van csatlakoztatva
PB2, 7. fizikai tű - csatlakoztatott LED -es tű 3
A VCC, 8. fizikai tüske, a pozitív sínre van csatlakoztatva
FAZÉK
pos és neg csap a megfelelő sínekhez csatlakoztatva - tápegység.
VEZETTE
középső csap csatlakozik a negatív sínhez - tápegység
Kísérleteztem 3 és 3,3 voltos tápegységgel, és mindkettő működött.
3. lépés: Következtetés
Az ATTINY85 képessége az analóg és a digitális üzemmód közötti váltásra nagyon erős, és számos különböző alkalmazásban használható, pl. változó fordulatszámú motorok meghajtása és hangjegyek készítése. Ezt a későbbi oktatóanyagokban fogom vizsgálni. Remélem, hasznosnak találta ezt.
Ajánlott:
A rádió izzójának cseréje LED diódára: 6 lépés
A rádió izzó cseréje LED diódára: Örök izzót készítünk tranzisztoros rádiónkhoz
Halvány konyhai páraelszívó LED -ek cseréje: 4 lépés
A homályos konyhai páraelszívó LED -ek cseréje: Amikor átalakítottuk a házunkat, a konyhát a középpontunknak terveztük. Élvezzük a társaságot, és a konyhánk mindig az lett, ahol mindenki lógott. Biztos vagyok benne, hogy sokan tudnak beszélni. Mivel én vagyok a család szakácsa
A LED -áramkört használó sebészeti lámpák cseréje: 7 lépés
A sebészeti lámpák cseréje LED áramkör használatával: Lépésről lépésre, hogyan kell felépíteni és megvalósítani a cseresebészeti lámpa izzórendszert egy Mohammed Shafir és Zoe Englander által kifejlesztett LED áramkör segítségével, a BME 262-Design for the fejlődő világ tanfolyam részeként a Pratt iskola
RGB LED ventilátor automatikus cseréje PC -hez: 5 lépés
RGB LED -ventilátor automatikus cseréje PC -hez: Rendeltem egy 100 rgb -os zsákot, így elgondolkodom azon, hogy bármilyen LED -et lecserélhetek bármilyen eszközön rgb -vel
DIY - ~ 200 USD megtakarítás és a műszerfal -izzók cseréje LED -ekkel: 8 lépés
Barkácsolás - ~ 200 dollár megtakarítás és műszerfal -izzók cseréje LED -ekkel: Az autókereskedő több mint 200,00 dollárt akart (alkatrészek és munka - legtöbbször munka) cserélni a 2001 -es Voyager műszerfalának izzóit. Ha követi ezeket az utasításokat, akkor maga is megteheti körülbelül 20 perc idejét és ~ 22,90 dollárt