Përmbajtje:

Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85: 3 hapa
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85: 3 hapa

Video: Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85: 3 hapa

Video: Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85: 3 hapa
Video: Përse po digjen makinat? Mekanikët tregojnë gabimet që bëjnë shoferët në Shqipëri 2024, Korrik
Anonim
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85
Ndryshoni ngjyrat LED duke përdorur një tenxhere dhe ATTINY85

Në këtë projekt ne përdorim një potenciometër (POT) për të ndryshuar ngjyrat në një LED duke përdorur një ATTINY85.

Disa përkufizime -

Një potenciometër është një pajisje me një mekanizëm të vogël vidë / rrotullues i cili kur kthehet nxjerr rezistenca të ndryshme elektrike. Ju mund të shihni nga imazhi i shënuar më sipër se POT ka 3 kunja, domethënë, +, -, dhe dalje. POT mundësohet duke lidhur kunjat + dhe - me vcc dhe tokën përkatësisht në një furnizim me energji. Ndërsa vida POT është e kthyer, rezistenca e daljes ndryshon dhe shkakton që LED të ulet ose të rritet në intensitet. Me Me fjalë të tjera, është një rezistencë e ndryshueshme. Ato përdoren në gjëra të tilla si zbehësit e dritës në shtëpi.

LED - Kjo është një dritë e vogël e cila ndriçon kur kalon rryma elektrike përmes saj. Në këtë rast, ne do të përdorim një LED shumëngjyrësh i cili ka 3 kunja, një terren (i mesëm) dhe dy kunja të cilat tregojnë përkatësisht jeshile dhe të kuqe kur ndizen.

ATTINY85-ky është një mikro-çip i vogël me kosto të ulët të cilin mund ta programoni si një Arduino.

Vështrim i përgjithshëm - Dalja nga POT është e lidhur me ATTINY85. Ndërsa vida POT është e kthyer, një rezistencë diferenciale del si numër midis 0 dhe 255. ATTINY mund ta masë këtë dhe të ndërmarrë veprime të ndryshme në varësi të vlerës së rezistencës POT. Në këtë rast, ne e kemi programuar që të lidhet me LED si më poshtë.

Nëse numri është më i madh se 170 kaloni LED në GREEN.

Nëse numri është më pak se 170 por më i madh se 85 kaloni LED në të KUQ.

nëse numri është më i vogël se 85 ndizni LED GREEN DHE KUQ që rezulton në Portokalli.

BOM

1 x 3 pin LED1 x ATTINY 85

1 x tenxhere (B100K)

1 x panxhar dhe kabllo

1 furnizim me energji elektrike.

Hapi 1: Programimi i ATTINY85

Për sa i përket programimit të ATTINY85, ju lutemi referojuni udhëzimit tim të mëparshëm-https://www.instructables.com/id/15-Dollar-Attiny8…

Kodi është treguar më poshtë. Disa pika për tu vënë në dukje janë se dy kunja ATTINY, PB3, kunja fizike 2, PB2, kunja fizike 7 janë të lidhura, në mënyrë dixhitale, me LED për të ndikuar në ndryshimin e ngjyrës. Kunja ATTINY PB4, kunja fizike 3, është e lidhur me POT në mënyrë analoge, që do të thotë se mund të lexojë vlera nga 0 në 254. Kodin e personalizova të cilin e gjeta në internet, kështu që e pranoj atë punë. -

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 - hyrje për POT // pb3 pin pin 1 // pb2 led pin 3 // ATTINY 85 frekuenca e vendosur në brendësi 8 MHz/* ky funksion inicializon ADC

Shënime paraprake ADC:

ADC Prescaler duhet të vendoset në mënyrë që frekuenca e hyrjes ADC të jetë midis 50 - 200kHz.

Për më shumë informacion, shihni tabelën 17.5 "Përzgjedhjet e ADC Prescaler" në kapitullin 17.13.2 "ADCSRA - Regjistri i Kontrollit dhe Statusit ADC A" (faqe 140 dhe 141 në fletën e të dhënave ATtiny25/45/85, Rev. 2586M – AVR – 07/ 10)

Vlerat e vlefshme të preskalerit për shpejtësi të ndryshme të orës

Ora Vlerat e disponueshme të parashkruesit ------------------------------------------ 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)

Shembulli i mëposhtëm vendosni parashkruesin në 128 për mcu që funksionon në 8MHz

(kontrolloni fletën e të dhënave për vlerat e duhura të bitit për të vendosur parashkruesin) */

// Rezolucioni 8-bit

// vendosni ADLAR në 1 për të mundësuar rezultatin e Zhvendosjes Majtas (vetëm bitët ADC9.. ADC2 janë në dispozicion) // atëherë, vetëm leximi i ADCH është i mjaftueshëm për rezultate 8-bitëshe (256 vlera) DDRB | = (1 << PB3); // Pin është vendosur si dalje. DDRB | = (1 << PB2); // Pin është vendosur si dalje. ADMUX = (1 << ADLAR) | // rezultati i zhvendosjes majtas (0 << REFS1) | // Vendos ref. tension në VCC, bit 1 (0 << REFS0) | // Vendos ref. tension në VCC, bit 0 (0 << MUX3) | // përdorni ADC2 për hyrje (PB4), bit MUX 3 (0 << MUX2) | // përdorni ADC2 për hyrje (PB4), bit MUX 2 (1 << MUX1) | // përdorni ADC2 për hyrje (PB4), bit MUX 1 (0 << MUX0); // përdorni ADC2 për hyrje (PB4), bit MUX 0

ADCSRA =

(1 << ADEN] | // Aktivizo ADC (1 << ADPS2] | // vendosni parashkruesin në 64, bit 2 (1 << ADPS1) | // vendosni prescaler në 64, bit 1 (0 << ADPS0); // vendos parashkruesin në 64, bit 0}

int kryesore (e pavlefshme)

{initADC ();

ndërsa (1)

{

ADCSRA | = (1 << ADSC); // filloni matjen ADC ndërsa (ADCSRA & (1 << ADSC)); // prisni derisa të përfundojë konvertimi

nëse (ADCH> 170)

{PORTB | = (1 << PB3); // Pin i vendosur në HIGH. PORTB | = (1 << PB2); // Pin i vendosur në HIGH. } tjetër nëse (ADCH 85) {PORTB | = (1 << PB3); // Pin i vendosur në HIGH. PORTB & = ~ (1 << PB2); // Pin i vendosur në LOW

} tjetër {

PORTB | = (1 << PB2); // Pin i vendosur në HIGH. PORTB & = ~ (1 << PB3); // Pin i vendosur në LOW

}

}

kthimi 0;

}

Hapi 2: Qarku

Qarku
Qarku

Kunjat ATTINY

PB3, kunja fizike 2 - kunja LED e lidhur 1

PB4, kunja fizike 3, është e lidhur me POT -in e mesit

GND, kunja fizike 4, është e lidhur me hekurudhën negative - furnizimin me energji elektrike

PB2, kunja fizike 7 - kunja LED e lidhur 3

VCC, kunja fizike 8, është e lidhur me hekurudhën pozitive - furnizimin me energji elektrike

EKOT

pos dhe neg pin i lidhur me binarët përkatës - furnizimi me energji elektrike.

LED

kunja e mesme e lidhur me hekurudhën negative - furnizimi me energji elektrike

Eksperimentova duke përdorur një furnizim me energji elektrike 3 dhe 3.3 volt dhe të dyja punuan.

Hapi 3: Përfundimi

Përfundim
Përfundim

Aftësia e ATTINY85 për të lëvizur midis modalitetit analog dhe dixhital është shumë e fuqishme dhe mund të përdoret në një numër aplikimesh të ndryshme, p.sh. drejtimi i motorëve me shpejtësi të ndryshueshme dhe krijimi i notave muzikore. Unë do ta eksploroj këtë në udhëzimet e ardhshme. Shpresoj se e keni gjetur të dobishme këtë.

Recommended: