Мазмуну:
Video: POT жана ATTINY85 аркылуу LED түстөрүн өзгөртүү: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул долбоордо биз ATTINY85тин жардамы менен LEDдеги түстөрдү өзгөртүү үчүн потенциометрди (ПОТ) колдонобуз.
Кээ бир аныктамалар -
Потенциометр - бул кичинекей бурама / бурулуш механизми бар түзүлүш, ал бурулганда ар кандай электр каршылыгын чыгарат. Жогорудагы аннотацияланган сүрөттөн POTтун 3 казыгы бар экенин көрө аласыз, тактап айтканда, +, - жана чыгаруу. POT + жана - pin'дерди VC менен жерге туташтырып, тиешелүүлүгүнө жараша электр менен камсыз кылат. POT бурамасы бурулганда, чыгуу каршылыгы өзгөрөт жана LEDдин интенсивдүүлүгүнүн төмөндөшүнө же көбөйүшүнө алып келет.. Башкача айтканда, бул өзгөрүлмө каршылык. Алар үйдүн жарык диммерлери сыяктуу нерселерде колдонулат.
Светодиод - бул кичинекей жарык, ал электр тогу өткөндө жарык кылат. Бул учурда, биз 3 казык, бир жер (орто) жана иштетилгенде тиешелүүлүгүнө жараша жашыл жана кызыл түстөгү эки казыкка ээ болгон түстүү LEDди колдонобуз.
ATTINY85-бул кичинекей арзан микро-чип, аны сиз Arduino сыяктуу программалай аласыз.
Сереп - ПОТтон чыгуу ATTINY85ке туташкан. POT бурамасы бурулганда, 0 менен 255 ортосундагы айырма каршылыгы чыгат. ATTINY муну өлчөп, POT каршылыгынын маанисине жараша ар кандай аракеттерди жасай алат. Бул учурда, биз аны LEDге төмөнкүдөй туташуу үчүн программалаганбыз.
Эгерде саны 170тен чоң болсо, анда LEDди Жашылга которуңуз.
Эгерде саны 170тен аз, бирок 85тен көп болсо, LEDди КЫЗЫЛГА которуңуз.
эгерде саны 85тен аз болсо, ЖАШЫЛ ЖАНА КЫЗЫЛДЫ күйгүзүңүз, бул апельсинге алып келет.
БОМ
1 x 3 pin LED 1 x ATTINY 85
1 х казан (B100K)
1 х нан жана кабель
1 электр менен камсыздоо.
1 -кадам: ATTINY85ти программалоо
ATTINY85ти программалоо жагынан, менин мурунку көрсөтмөлөрүмө кайрылыңыз-https://www.instructables.com/id/15-Dollar-Attiny8…
Код төмөндө көрсөтүлгөн. Белгилей кетчү нерсе, эки ATTINY казыгы, PB3, физикалык 2, PB2, физикалык пин 7, түстүн өзгөрүшүн камсыз кылуу үчүн LEDге санариптик режимде туташкан. ATTINY пин PB4, физикалык 3 -пин, POTко аналогдук режимде туташкан, бул 0ден 254кө чейинки баалуулуктарды окуй алат дегенди билдирет. Мен интернеттен тапкан кодду ыңгайлаштырып койгом, ошондуктан бул ишти моюнга алам. -
жараксыз initADC () {// *** // *** Pin 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 жетелөөчү пин 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 тандоолору" таблицасын караңыз (140 жана 141 -беттер ATtiny25/45/85 толук маалымат баракчасында, Rev. 2586M – AVR – 07/ 10)
Ар кандай саат ылдамдыгы үчүн прескалердин жарактуу баалуулуктары
Саат Жеткиликтүү prescaler баалуулуктары --------------------------------------- 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)
Төмөндөгү мисалда 8 МГцте иштеген mcu үчүн prescaler 128 коюлган
(алдын ала эсептегичти орнотуу үчүн маалымат барагын туура бит баалуулуктары үчүн текшериңиз) */
// 8-биттик чечим
// Солго жылуу натыйжасын иштетүү үчүн ADLARны 1ге коюңуз (ADC9.. ADC2 биттери гана бар) // анда ADCHди окуу 8-бит жыйынтыктары үчүн жетиштүү (256 маанилер) DDRB | = (1 << PB3); // пин чыгаруу катары белгиленет. DDRB | = (1 << PB2); // пин чыгаруу катары белгиленет. ADMUX = (1 << ADLAR) | // солго жылуунун натыйжасы (0 << REFS1) | // Реф. чыңалуу VCC, бит 1 (0 << REFS0) | // Реф. чыңалуу 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); // PIN жогору деп коюлду. PORTB | = (1 << PB2); // PIN жогору деп коюлду. } else if (ADCH 85) {PORTB | = (1 << PB3); // PIN жогору деп коюлду. PORTB & = ~ (1 << PB2); // ПИН төмөнгө коюлду
} башка {
PORTB | = (1 << PB2); // PIN жогору деп коюлду. PORTB & = ~ (1 << PB3); // ПИН төмөнгө коюлду
}
}
return 0;
}
2 -кадам: Circuit
ATTINY казыктары
PB3, физикалык пин 2 - туташкан LED пин 1
PB4, физикалык пин 3, орто пин ПОТко туташкан
GND, физикалык пин 4, терс темир жолго туташкан - электр менен камсыздоо
PB2, физикалык пин 7 - туташкан LED пин 3
VCC, физикалык пин 8, оң темир жолго туташкан - электр менен камсыздоо
POT
тиешелүү рельске туташкан пос жана нег пин - электр менен камсыздоо.
LED
терс темир жолго туташкан орто пин - электр менен камсыздоо
Мен 3 жана 3,3 вольттук электр булагын колдонуп, экөө тең иштеди.
3 -кадам: Жыйынтык
ATTINY85тин аналогдук жана санариптик режимге өтүү мүмкүнчүлүгү абдан күчтүү жана ар кандай тиркемелерде колдонулушу мүмкүн, мис. өзгөрмө ылдамдыктагы моторлорду айдоо жана музыкалык ноталарды түзүү. Мен муну келечектеги көрсөтмөлөрдө изилдейм. Мен муну пайдалуу деп таптыңыз деп үмүттөнөм.
Сунушталууда:
ESP-01 & DHT жана AskSensors Cloud аркылуу температура жана нымдуулукту көзөмөлдөө: 8 кадам
ESP-01 & DHT жана AskSensors Cloud аркылуу температура жана нымдуулукту көзөмөлдөө: Бул нускамада биз IOT-MCU/ESP-01-DHT11 тактасын жана AskSensors IoT платформасын колдонуп, температураны жана нымдуулукту кантип өлчөөнү үйрөнөбүз. Мен бул колдонмо үчүн IOT-MCU ESP-01-DHT11 модулун тандап жатам, анткени ал
Смартфон аркылуу видео агымы жана көзөмөл 4WD робот машинасы (Bluetooth аркылуу): 5 кадам
Смартфон аркылуу видео агымы жана көзөмөлү 4WD Robot Car (Bluetooth аркылуу): Саламатсызбы! Мен Arduino үчүн уникалдуу TFT калканына арналган макалалардын сериясын улантам. Бул макала " көрүү " ээ болгон 4WD роботун өнүктүрүүгө арналат. сүрөттөрдү өткөрө турган жалпы жана арзан ОВ7670 камерасын колдонуп
DHT11 / DHT22 жана Arduino аркылуу температураны жана нымдуулукту өлчөгүлө: 4 кадам
DHT11 / DHT22 жана Arduino аркылуу температураны жана нымдуулукту өлчөгүлө: Бул Arduino үйрөткүчүндө биз Arduino тактасы менен температураны жана нымдуулукту өлчөө үчүн DHT11 же DHT22 сенсорун колдонууну үйрөнөбүз
HTTP аркылуу XinaBox жана Ubidots аркылуу аба ырайын кантип курса болот: 7 кадам
XinaBox жана Ubidots аркылуу HTTP аркылуу аба бекетин кантип куруу керек: XinaBox xChips (IP01, CW01 жана SW01) аркылуу Ubidotsто өз аба ырайы станцияңызды жасоону үйрөнүңүз ESP8266 Негизги жана Wi-Fi модулу (xChip CW01) колдонуучуларга жөнөтүүгө мүмкүндүк берет. XinaBoxтун модулдук xChips булутунан алынган маалыматтар. Бул маалыматтарды алыстан көзөмөлдөсө болот
Bluetooth гарнитурасын/динамикти/адаптердин атын же UART аркылуу башка жөндөөлөрдү өзгөртүү: 8 кадам (сүрөттөр менен)
UART аркылуу Bluetooth гарнитурасын/спикерин/адаптеринин атын же башка жөндөөлөрүн өзгөртүңүз: чын эле жийиркеничтүү аталышка ээ болгон Bluetooth гарнитурасы же башка Bluetooth аудио аксессуарлары барбы жана аларды жупташкан сайын сизде ички каалоо пайда болот. аты? Себептери окшош болбосо дагы, бул жерде