Obsah:

Změňte barvy LED pomocí POT a ATTINY85: 3 kroky
Změňte barvy LED pomocí POT a ATTINY85: 3 kroky

Video: Změňte barvy LED pomocí POT a ATTINY85: 3 kroky

Video: Změňte barvy LED pomocí POT a ATTINY85: 3 kroky
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Červenec
Anonim
Změňte barvy LED pomocí POT a ATTINY85
Změňte barvy LED pomocí POT a ATTINY85
Změňte barvy LED pomocí POT a ATTINY85
Změňte barvy LED pomocí POT a ATTINY85
Změňte barvy LED pomocí POT a ATTINY85
Změňte barvy LED pomocí POT a ATTINY85

V tomto projektu používáme potenciometr (POT) ke změně barev v LED pomocí ATTINY85.

Některé definice -

Potenciometr je zařízení s malým šroubovým / otočným mechanismem, které při otočení vydává různé elektrické odpory. Z komentovaného obrázku výše vidíte, že POT má 3 piny, konkrétně +, - a výstup. POT je napájen připojením pinů + a - k vcc a uzemnění na napájecím zdroji. Otáčením šroubu POT se výstupní odpor mění a způsobuje snižování nebo zvyšování intenzity LED.. Jinými slovy, je to proměnný odpor. Používají se v takových věcech, jako jsou domácí stmívače světla.

LED - Jedná se o malé světlo, které se rozsvítí, když jím prochází elektrický proud. V tomto případě použijeme vícebarevnou LED, která má 3 piny, jeden uzemňovací (střední) a dva piny, které se při spuštění zobrazují zeleně a červeně.

ATTINY85-to je malý nízkonákladový mikročip, který můžete programovat jako Arduino.

Přehled - Výstup z POT je připojen k ATTINY85. Při otáčení šroubem POT vychází rozdílový odpor jako číslo mezi 0 a 255. ATTINY to může měřit a provádět různé akce v závislosti na hodnotě odporu POT. V tomto případě jsme jej naprogramovali tak, aby se připojil k LED následovně.

Pokud je číslo větší než 170, přepněte LED na ZELENOU.

Pokud je číslo menší než 170, ale větší než 85, přepněte LED na ČERVENOU.

pokud je číslo menší než 85, zapněte LED ZELENOU A ČERVENOU, což má za následek ORANŽOVOU.

BOM

1 x 3 pin LED 1 x ATTINY 85

1 x POT (B100K)

1 x prkénko a kabely

1 napájecí zdroj.

Krok 1: Programování ATTINY85

Pokud jde o programování ATTINY85, podívejte se na můj předchozí instruktáž-https://www.instructables.com/id/15-Dollar-Attiny8…

Kód je uveden níže. Některé body je třeba poznamenat, že dva ATTINY piny, PB3, fyzický pin 2, PB2, fyzický pin 7 jsou připojeny v digitálním režimu k LED pro změnu barvy. ATTINY pin PB4, fyzický pin 3, je připojen k POT v analogovém režimu, což znamená, že dokáže číst hodnoty mezi 0 a 254. Přizpůsobil jsem kód, který jsem našel na internetu, takže tuto práci uznávám. -

neplatné 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 - vstup pro POT // pb3 LED pin 1 // pb2 led pin 3 // ATTINY 85 frekvence nastavena na interní 8 MHz/* tato funkce inicializuje ADC

Poznámky k předběžnému měření ADC:

ADC Prescaler je třeba nastavit tak, aby byla vstupní frekvence ADC mezi 50 - 200kHz.

Další informace naleznete v tabulce 17.5 „Výběr předřadníku ADC“v kapitole 17.13.2 „ADCSRA - ADC Control and Status Register A“(strany 140 a 141 v úplném datovém listu ATtiny25/45/85, rev. 2586M – AVR – 07/ 10)

Platné hodnoty prescaleru pro různé rychlosti hodin

Hodiny Dostupné hodnoty předzesilovače --------------------------------------- 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)

Níže uvedený příklad nastavte prescaler na 128 pro MCU běžící na 8MHz

(zkontrolujte správné bitové hodnoty v datovém listu, abyste mohli nastavit předzesilovač) */

// 8bitové rozlišení

// nastavte ADLAR na 1, aby byl povolen výsledek Left-shift (k dispozici jsou pouze bity ADC9.. ADC2) // pak pro 8bitové výsledky (256 hodnot) stačí pouze čtení ADCH | DDRB | = (1 << PB3); // Pin je nastaven jako výstup. DDRB | = (1 << PB2); // Pin je nastaven jako výstup. ADMUX = (1 << ADLAR) | // výsledek posunu doleva (0 << REFS1) | // Nastaví ref. napětí na VCC, bit 1 (0 << REFS0) | // Nastaví ref. napětí na VCC, bit 0 (0 << MUX3) | // použití ADC2 pro vstup (PB4), bit MUX 3 (0 << MUX2) | // použít ADC2 pro vstup (PB4), bit MUX 2 (1 << MUX1) | // použít ADC2 pro vstup (PB4), bit MUX 1 (0 << MUX0); // použití ADC2 pro vstup (PB4), bit MUX 0

ADCSRA =

(1 << ADEN) | // Povolit ADC (1 << ADPS2) | // nastavit prescaler na 64, bit 2 (1 << ADPS1) | // nastavit prescaler na 64, bit 1 (0 << ADPS0); // nastavit prescaler na 64, bit 0}

int main (neplatné)

{initADC ();

zatímco (1)

{

ADCSRA | = (1 << ADSC); // spuštění měření ADC while (ADCSRA & (1 << ADSC)); // počkejte na dokončení převodu

pokud (ADCH> 170)

{PORTB | = (1 << PB3); // Pin nastaven na VYSOKÝ. PORTB | = (1 << PB2); // Pin nastaven na VYSOKÝ. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin nastaven na VYSOKÝ. PORTB & = ~ (1 << PB2); // Pin nastaven na LOW

} else {

PORTB | = (1 << PB2); // Pin nastaven na VYSOKÝ. PORTB & = ~ (1 << PB3); // Pin nastaven na LOW

}

}

návrat 0;

}

Krok 2: Okruh

Obvod
Obvod

ATTINY piny

PB3, fyzický pin 2 - připojený LED pin 1

PB4, fyzický pin 3, je připojen ke střednímu POT POT

GND, fyzický pin 4, je připojen k záporné liště - napájení

PB2, fyzický pin 7 - připojený pin LED 3

VCC, fyzický kolík 8, je připojen ke kladnému napájecímu vodiči

HRNEC

pos a neg pin připojený k příslušným kolejnicím - napájení.

VEDENÝ

střední kolík připojený k záporné liště - napájení

Experimentoval jsem s použitím 3 a 3,3 voltového napájecího zdroje a oba fungovaly.

Krok 3: Závěr

Závěr
Závěr

Schopnost ATTINY85 přecházet mezi analogovým a digitálním režimem je velmi silná a lze ji použít v řadě různých aplikací, např. řízení motorů s proměnnými otáčkami a vytváření hudebních not. Prozkoumám to v budoucích instrukcích. Doufám, že jste to považovali za užitečné.

Doporučuje: