Агуулгын хүснэгт:

POT болон ATTINY85: 3 алхам ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85: 3 алхам ашиглан LED өнгийг өөрчлөх

Видео: POT болон ATTINY85: 3 алхам ашиглан LED өнгийг өөрчлөх

Видео: POT болон ATTINY85: 3 алхам ашиглан LED өнгийг өөрчлөх
Видео: Самый простой способ выровнять пол! Быстро, Дешево, Надежно. ENG SUB 2024, Долдугаар сарын
Anonim
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх
POT болон ATTINY85 ашиглан LED өнгийг өөрчлөх

Энэхүү төсөлд бид ATTINY85 ашиглан LED дээрх өнгийг өөрчлөхийн тулд потенциометр (POT) ашигладаг.

Зарим тодорхойлолтууд -

Потенциометр бол жижиг шураг / эргэх механизмтай төхөөрөмж бөгөөд үүнийг эргүүлэх үед өөр өөр цахилгаан эсэргүүцэл гаргадаг. Дээрх тайлбараас харахад POT нь +, -, гаралт гэсэн 3 зүүтэй болохыг харж болно. POT нь + ба - pin -ийг vcc болон газардуулгад холбож тэжээлийн эх үүсвэрээр тэжээдэг. POT боолтыг эргүүлэх үед гаралтын эсэргүүцэл өөрчлөгдөж, LED нь буурч эсвэл эрчимжиж эхэлдэг.. Өөрөөр хэлбэл энэ нь хувьсах эсэргүүцэл юм. Эдгээрийг гэрлийн гэрлийн диммер гэх мэт зүйлд ашигладаг.

LED - Энэ бол цахилгаан гүйдэл өнгөрөхөд гэрэлтдэг жижиг гэрэл юм. Энэ тохиолдолд бид 3 голтой, нэг газардуулгатай (дунд), хоёр зүү бүхий асаахад ногоон, улаан тус тус харуулсан олон өнгийн LED ашиглах болно.

ATTINY85-энэ бол Arduino шиг програмчлах боломжтой бага өртөгтэй бичил чип юм.

Тойм - POT -ийн гаралт нь ATTINY85 -тэй холбогдсон байна. POT боолтыг эргүүлэх үед 0 -ээс 255 хүртэлх зөрүүтэй эсэргүүцлийг гаргадаг. ATTINY нь үүнийг хэмжиж, POT эсэргүүцлийн утгаас хамааран өөр өөр арга хэмжээ авах боломжтой. Энэ тохиолдолд бид үүнийг LED -тэй холбохын тулд дараах байдлаар програмчилсан болно.

Хэрэв тоо 170 -аас дээш байвал LED -ийг НОГООН болгоно.

Хэрэв тоо нь 170 -аас бага боловч 85 -аас дээш байвал LED -ийг RED болгоно.

Хэрэв энэ тоо 85 -аас бага бол LED НОГООН ба УЛАА -г асааж улбар шар өнгөтэй болно.

Монголбанк

1 x 3 зүү LED 1 x ATTINY 85

1 х POT (B100K)

1 x талх, кабель

1 цахилгаан хангамж.

Алхам 1: ATTINY85 програмчлах

ATTINY85 програмчлалын хувьд миний өмнөх заавартай танилцана уу-https://www.instructables.com/id/15-Dollar-Attiny8…

Кодыг доор харуулав. Анхаарах ёстой зарим зүйл бол өнгөний өөрчлөлтөд нөлөөлөхийн тулд хоёр ATTINY тээглүүр, PB3, физик зүү 2, PB2, физик зүү 7 дижитал горимд LED -тэй холбогдсон байдаг. ATTINY pin PB4, 3 -р физик зүү нь POT -тэй аналог горимд холбогдсон бөгөөд энэ нь 0 -ээс 254 хүртэлх утгыг унших боломжтой гэсэн үг юм. Би интернэтээс олсон кодоо өөрчилсөн тул энэ ажлыг хүлээн зөвшөөрч байна. -

хүчингүй initADC () {// *** // *** 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 - POT // pb3 удирдсан зүү 1 // pb2 LED зүү 3 // ATTINY 85 давтамжийг дотоод 8 МГц -д тохируулсан/* Энэ функц нь ADC -ийг эхлүүлдэг

ADC Prescaler -ийн тэмдэглэл:

ADC Prescaler -ийг ADC оролтын давтамж 50 - 200 кГц хооронд байхаар тохируулах шаардлагатай.

Дэлгэрэнгүй мэдээллийг 17.13.2 "ADCSRA - ADC Control and Status Register A" бүлгийн 17.5 "ADC Prescaler Selections" хүснэгтээс үзнэ үү (ATtiny25/45/85 мэдээллийн хүснэгтийн 140, 141 хуудас, Rev. 2586M -AVR – 07/ 10)

Төрөл бүрийн цагийн хурдны хувьд prescaler -ийн хүчин төгөлдөр утгууд

Цаг Боломжтой prescaler утгууд --------------------------------------- 1 MHz 8 (125kHz), 16 (62.5 кГц) 4 МГц 32 (125 кГц), 64 (62.5 кГц) 8 МГц 64 (125 кГц), 128 (62.5 кГц) 16 МГц 128 (125 кГц)

Доорх жишээн дээр 8MHz дээр ажилладаг mcu -д зориулж prescaler -ийг 128 болгож тохируулав

(урьдчилан тооцоолуур тохируулахын тулд өгөгдлийн хүснэгтийг тохирох битийн утгыг шалгана уу) */

// 8 битийн нарийвчлал

// Зүүн шилжилтийн үр дүнг идэвхжүүлэхийн тулд ADLAR-ийг 1 болгож тохируулна уу (зөвхөн ADC9.. ADC2 битүүд байдаг) // дараа нь 8 битийн үр дүнд (256 утга) ADCH уншихад л хангалттай DDRB | = (1 << PB3); // Пинийг гаралт болгон тохируулсан болно. DDRB | = (1 << PB2); // Пинийг гаралт болгон тохируулсан болно. ADMUX = (1 << ADLAR) | // зүүн шилжилтийн үр дүн (0 << REFS1) | // Ref -ийг тохируулна. VCC хүртэлх хүчдэл, бит 1 (0 << REFS0) | // Ref -ийг тохируулна. VCC хүртэлх хүчдэл, бит 0 (0 << MUX3) | // ADC2 -ийг оролтод ашиглах (PB4), MUX бит 3 (0 << MUX2) | // ADC2 -ийг оролтод ашиглах (PB4), MUX бит 2 (1 << MUX1) | // ADC2 -ийг оролтод (PB4), MUX бит 1 (0 << MUX0) ашиглах; // ADC2 -ийг оролтод (PB4) ашиглах, MUX бит 0

ADCSRA =

(1 << ADEN) | // ADC -ийг идэвхжүүлэх (1 << ADPS2) | // prescaler -ийг 64, бит 2 болгон тохируул (1 << ADPS1) | // prescaler -ийг 64, бит 1 болгож тохируулна (0 << ADPS0); // prescaler -ийг 64 болгож тохируулна уу, бит 0}

int main (хүчингүй)

{initADC ();

байхад (1)

{

ADCSRA | = (1 << ADSC); // ADC хэмжилтийг эхлүүлэх (ADCSRA & (1 << ADSC)); // хөрвүүлэлт дуустал хүлээнэ үү

хэрэв (ADCH> 170)

{PORTB | = (1 << PB3); // Зүүг HIGH болгож тохируулсан. PORTB | = (1 << PB2); // Зүүг HIGH болгож тохируулсан. } if if (ADCH 85) {PORTB | = (1 << PB3); // Зүүг HIGH болгож тохируулсан. PORTB & = ~ (1 << PB2); // Зүүг LOW болгож тохируулсан

} өөр {

PORTB | = (1 << PB2); // Зүүг HIGH болгож тохируулсан. PORTB & = ~ (1 << PB3); // Зүүг LOW болгож тохируулсан

}

}

буцаах 0;

}

Алхам 2: Хэлхээ

Хэлхээ
Хэлхээ

ATTINY тээглүүр

PB3, физик зүү 2 - холбогдсон LED зүү 1

PB4, физик зүү 3, дунд зүү POT -тэй холбогдсон байна

GND, физик зүү 4, сөрөг төмөр замд холбогдсон - цахилгаан хангамж

PB2, физик зүү 7 - холбогдсон LED зүү 3

VCC, физик зүү 8, эерэг төмөр замд холбогдсон - цахилгаан хангамж

POT

холбогдох төмөр замд холбогдсон pos ба neg pin - цахилгаан хангамж.

LED

сөрөг төмөр замд холбогдсон дунд зүү - цахилгаан хангамж

Би 3 ба 3.3 вольтын цахилгаан хангамжийг туршиж үзсэн бөгөөд хоёулаа ажилласан.

Алхам 3: Дүгнэлт

Дүгнэлт
Дүгнэлт

ATTINY85 -ийн аналог ба дижитал горим хооронд шилжих чадвар нь маш хүчирхэг бөгөөд үүнийг хэд хэдэн өөр програмд ашиглах боломжтой. хувьсах хурдтай мотор жолоодох, хөгжмийн нот бичих. Би үүнийг ирээдүйн зааварчилгаанд судлах болно. Танд үүнийг хэрэгтэй гэж найдаж байна.

Зөвлөмж болгож буй: