Orodha ya maudhui:

Badilisha Rangi za LED Kutumia POT na ATTINY85: 3 Hatua
Badilisha Rangi za LED Kutumia POT na ATTINY85: 3 Hatua

Video: Badilisha Rangi za LED Kutumia POT na ATTINY85: 3 Hatua

Video: Badilisha Rangi za LED Kutumia POT na ATTINY85: 3 Hatua
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Novemba
Anonim
Badilisha Rangi za LED Kutumia POT na ATTINY85
Badilisha Rangi za LED Kutumia POT na ATTINY85
Badilisha Rangi za LED Kutumia POT na ATTINY85
Badilisha Rangi za LED Kutumia POT na ATTINY85
Badilisha Rangi za LED Kutumia POT na ATTINY85
Badilisha Rangi za LED Kutumia POT na ATTINY85

Katika mradi huu tunatumia potentiometer (POT) kubadilisha rangi kwenye LED kwa kutumia ATTINY85.

Baadhi ya ufafanuzi -

Potentiometer ni kifaa kilicho na utaratibu mdogo wa kugeuza / kugeuza ambao unapogeuza matokeo ya upinzani tofauti wa umeme. Unaweza kuona kutoka kwa picha iliyofafanuliwa hapo juu kuwa POT ina pini 3, ambazo ni, +, -, na pato. POT inaendeshwa kwa kuunganisha pini + na - kwa vcc na ardhini mtawaliwa kwenye usambazaji wa umeme. Wakati ganda la POT linapogeuzwa, upinzani wa pato hubadilika na husababisha LED kupungua au kuongezeka kwa nguvu.. Kwa maneno mengine, ni kinzani kinachobadilika. Wao hutumiwa katika vitu kama taa za nyumbani.

LED - Hii ni taa ndogo ambayo huangaza wakati umeme wa sasa unapita. Katika kesi hii, tutatumia LED yenye rangi nyingi ambayo ina pini 3, ardhi moja (katikati) na pini mbili ambazo zinaonyesha kijani na nyekundu mtawaliwa wakati zinasababishwa.

ATTINY85 - hii ni chip ndogo ndogo ya bei ya chini ambayo unaweza kupanga kama Arduino.

Muhtasari - Pato kutoka kwa POT limeunganishwa na ATTINY85. Wakati buruji ya POT inapogeuzwa, upinzani wa tofauti hutolewa kama nambari kati ya 0 na 255. WAKATI anaweza kupima hii na kuchukua hatua tofauti kulingana na thamani ya upinzani wa POT. Katika kesi hii, tumeiandaa ili kuungana na LED kama ifuatavyo.

Ikiwa nambari ni kubwa kuliko 170 badilisha LED kuwa KIJANI.

Ikiwa nambari ni chini ya 170 lakini kubwa kuliko 85 badilisha LED kuwa RED.

ikiwa nambari ni chini ya 85 kubadili LED GREEN NA RED ambayo inasababisha ORANGE.

BOM

1 x 3 pini LED 1 x ATTINY 85

Chungu 1 x (B100K)

1 x mkate na nyaya

Ugavi 1 wa umeme.

Hatua ya 1: Kupanga programu ATTINY85

Kwa upande wa programu ya ATTINY85, tafadhali rejelea maagizo yangu ya zamani -

Nambari imeonyeshwa hapa chini. Baadhi ya vidokezo vya kuzingatia ni kwamba pini mbili za WAKATI, PB3, pini ya mwili 2, PB2, pini ya mwili 7 imeunganishwa, katika hali ya dijiti, kwa LED ili kufanya mabadiliko ya rangi. Pini ya ATTINY PB4, pini ya mwili 3, imeunganishwa na POT katika hali ya analog, ambayo inamaanisha kuwa inaweza kusoma maadili kati ya 0 na 254. Nilibadilisha nambari ambayo nimepata kwenye wavuti kwa hivyo ninatambua kazi hiyo. -

batili initADC () {// *** // *** Pinout ATtiny25 / 45/85: // *** PDIP / SOIC / TSSOP // *** ============= ================================================= ============================== // *** // *** (PCINT5 / Rudisha / 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 - pembejeo ya POT // pb3 inayoongozwa pini 1 // pb2 inayoongozwa pini 3 // ATTINY 85 frequency iliyowekwa ndani ya 8 MHz / * kazi hii inaanzisha ADC

Vidokezo vya Uuzaji wa ADC:

Prescaler ya ADC inahitaji kuwekwa ili frequency ya kuingiza ADC iwe kati ya 50 - 200kHz.

Kwa habari zaidi, angalia jedwali 17.5 "Uteuzi wa Wauzaji wa ADC" katika sura ya 17.13.2 "ADCSRA - ADC Udhibiti na Usajili wa Hali A" (kurasa 140 na 141 kwenye hati kamili ya ATtiny25 / 45/85, Rev. 2586M-AVR-07 / 10)

Thamani halali za daktari kwa kasi anuwai ya saa

Saa Zilizopo za maadili ya mapema --------------------------------------- 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)

Chini ya mfano weka prescaler kwa 128 kwa mcu inayoendesha 8MHz

(angalia hati ya data kwa maadili sahihi ya kuweka daktari) * /

// azimio la 8-bit

// weka ADLAR iwe 1 ili kuwezesha matokeo ya kuhama Kushoto (ni bits ADC9.. ADC2 pekee ndio inapatikana) // basi, kusoma tu ADCH kunatosha kwa matokeo 8-bit (maadili 256) DDRB | = (1 << PB3); // Pin imewekwa kama pato. DDRB | = (1 << PB2); // Pin imewekwa kama pato. ADMUX = (1 << ADLAR) | // matokeo ya kuhama kushoto (0 << REFS1) | // Inaweka kumbukumbu. voltage kwa VCC, kidogo 1 (0 << REFS0) | // Inaweka kumbukumbu. voltage kwa VCC, kidogo 0 (0 << MUX3) | // tumia ADC2 kwa pembejeo (PB4), MUX kidogo 3 (0 << MUX2) | // tumia ADC2 kwa pembejeo (PB4), MUX kidogo 2 (1 << MUX1) | // tumia ADC2 kwa pembejeo (PB4), MUX kidogo 1 (0 << MUX0); // tumia ADC2 kwa pembejeo (PB4), MUX kidogo 0

ADCSRA =

(1 << ADEN) | // Wezesha ADC (1 << ADPS2) | // weka daktari mkuu kuwa 64, kidogo 2 (1 << ADPS1) | // weka daktari mkuu hadi 64, kidogo 1 (0 << ADPS0); // weka daktari mkuu kuwa 64, kidogo 0}

kuu (batili)

{initADC ();

wakati (1)

{

ADCSRA | = (1 << ADSC); // kuanza kipimo cha ADC wakati (ADCSRA & (1 << ADSC)); // subiri hadi ubadilishaji ukamilike

ikiwa (ADCH> 170)

{PORTB | = (1 << PB3); // Pin imewekwa juu. PORTB | = (1 << PB2); // Pin imewekwa juu. } kingine ikiwa (ADCH 85) {PORTB | = (1 << PB3); // Pin imewekwa juu. PORTB & = ~ (1 << PB2); // Pin imewekwa chini

} mwingine {

PORTB | = (1 << PB2); // Pin imewekwa juu. PORTB & = ~ (1 << PB3); // Pin imewekwa chini

}

}

kurudi 0;

}

Hatua ya 2: Mzunguko

Mzunguko
Mzunguko

Pini za wakili

PB3, pini ya mwili 2 - pini ya LED iliyounganishwa 1

PB4, pini ya mwili 3, imeunganishwa na sufuria ya kati ya POT

GND, pini ya mwili 4, imeunganishwa na reli hasi - usambazaji wa umeme

PB2, pini ya mwili 7 - pini ya LED iliyounganishwa 3

VCC, pini ya mwili 8, imeunganishwa na reli nzuri - usambazaji wa umeme

CHUNGU

pini ya pos na neg iliyounganishwa na reli husika - usambazaji wa umeme.

LED

pini ya kati iliyounganishwa na reli hasi - usambazaji wa umeme

Nilijaribu kutumia usambazaji wa umeme wa volt 3 na 3.3 na zote zilifanya kazi.

Hatua ya 3: Hitimisho

Hitimisho
Hitimisho

Uwezo wa ATTINY85 kusonga kati ya hali ya analog na dijiti ni nguvu sana na inaweza kutumika katika matumizi kadhaa tofauti, k.v. kuendesha motors kasi ya kasi na kuunda noti za muziki. Nitachunguza hii katika maelekezo ya baadaye. Natumahi umepata hii muhimu.

Ilipendekeza: