Мазмұны:

Attiny85 Termómetro OLED: 5 қадам
Attiny85 Termómetro OLED: 5 қадам

Бейне: Attiny85 Termómetro OLED: 5 қадам

Бейне: Attiny85 Termómetro OLED: 5 қадам
Бейне: ATtiny13 и ATtiny85. Обзор и программирование с помощью Arduino 2024, Желтоқсан
Anonim
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED

Қарапайым температура шын мәнінде, сондай -ақ температураның салыстырмалы мәні бар. ATmega328p бағдарламасын іске қосу, ATtiny85 -тің пайдаланылуы мүмкін емес болғандықтан, ATTEga328p -дің қолданылуы мүмкін емес.

Функционалды сипаттама үздіксіз сипатталады, бұл бағдарламаның жалпы тізбегі мен бағдарламасының соңғы нұсқасы.

Жабдықтар

1 x ATtiny85

1 x Arduino UNO/PRO/etc (ATTiny бағдарламасы)

1 x 128x64 өлшемді I2C OLED

1 x DHT22 сенсорлық температурасы

1 x Resistencia 4.7MOhm (1/4W)

1 x конденсатор электролитикалық 0.1uF

1 x Fuente de 3.3V - 5V 10+ x секіргіштер

1 -қадам: Del Funcionamiento сипаттамасы

OLED, Además, como objetivo secundario, e -liuo de la librería sleep.he interrupt.h үшін активті нұсқаулықтардың кеңеюі мүмкін емес. la batería.

Бағдарлама бағдарламасының негізгі нұсқасы: Температура -> Мастерлік температура -> Апарталы ATtiny -> Результативті бағдарлама.

Мәрия әкімінің пікірінше, бұл кітапханалар мен кітапханалар бар, олар қайта жаңартылмайды. Adafruit (қол жетімді IDE) кітапханасының DHT сенсорлық кітапханасы Tiny4kOLED деректерді автоматты түрде жүктеуге мүмкіндік береді.

Қолданбалар мен жабдықтарды жаңартуға болатын кезде, сіз барлық ақпаратты таба аласыз. Жеке, ол интерактивті қарым -қатынасты анықтайды.

2 -қадам: тізбектер

Айналымдар
Айналымдар
Айналымдар
Айналымдар
Айналымдар
Айналымдар

ATtiny85 бағдарламалық жасақтамасының негізгі тізбегі. Бағдарлама Arduino бағдарламасына сәйкес келеді (ArduinoISP конденсаторы), Archivos -> Ejemplos -> 11. ArduinoISP. Бұл ATtiny85 бағдарламасының конденсаторы болып табылады.

El ATtiny del Arduino бағыттауыш. ATTiny85 бағдарламасында (GND) делдалдық байланыс орнатылғаннан кейін, ең маңыздысы.

Қосымша ақпарат 13 -ші жадыдан кейін қаралатын болады, бұл ATTiny бағдарламасының ең оңай нұсқасы емес.

Қарап шығыңыз. Қосымша SDA del ATyiny es el 0 y el SCL/CLK es el 2.

3 -қадам: Бағдарлама

Бастапқыда, «Arduino провайдер ретінде» бағдарламасын таңдауға болады. ATtiny -ді орнату мүмкін емес, ATtinyCore де Spence Konde. Бұл ешқандай қиындық тудырмайды, бірақ бұл мүмкін емес.

BOD конфигурациясы, OptiBoot 8 МГц жиіліктегі интерфейсінде. IMC байланысы 1 МГц -тен аспайтын болғандықтан, ол 16 МГц -тен аспайтын жылдамдықпен жұмыс істейді, олар сандық технологиялар мен энергияны тұтынуға мүмкіндік береді.

Бұл Tiny4kOLED кітапханасының мұрағаты болып табылады. «Font8x16.h» форматындағы архивтік модульдер 117 -ге қараған кезде, олар бір -бірімен байланыс орнатып, бір -бірімен байланыстырады.

0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

Қолданбаға арналған эскиздердің үздіксіз нұсқасы.

#қосу #қосу #қосу #қосу #анықтау I_PINB PCINT3 #анықтау I_PIN PB3 #анықтау I_VECTOR PCINT0_vect #decine adc_disable () (ADCSRA & = ~ (1 << aden)) өшіру = «» adc = «» түрлендіруші # #DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE) анықтаңыз; const uint8_t ені = 128; const uint8_t биіктігі = 64; тұрақсыз бол бұрылды = жалған; / * * * Үзіліс өңдегіші * */ISR (PCINT_VECTOR) {// үзіліс әрқашан ұйқыдан қалпына келеді, егер (digitalRead (I_PIN) == ЖОҒАРЫ) {бұрылған = шын; // жалаушаны экранды қайта сызуға қою}} void setup () {cli (); // PCMSK үзулерін өшіру | = (1 << I_PINB); GIMSK | = (1 << PCIE); pinMode (I_PIN, INPUT); sei (); // үзілісті қосу adc_disable (); // түрлендіргішті өшіру қуатын үнемдеу set_sleep_mode (SLEEP_MODE_PWR_DOWN); // ұйқының түрін терең ұйқыға қойыңыз oled.begin (ені, биіктігі, өлшемі (tiny4koled_init_128x64br), tiny4koled_init_128x64br); // oled объектісін бастау oled.setFont (FONT8X16); // бұл қаріп басқасына қарағанда жақсы көрінеді drawScreen (); oled.on (); кешіктіру (2000); dht.begin (); айналды = ақиқат; // сурет экраны үшін жалауша} void sleep () {sleep_enable (); sleep_cpu (); } void loop () {if (бұрылған) {cli (); // үзулерді өшіру oled.on (); float h = dht.readHumidity (); // жалған оқу кэшті кешіктіруді қалпына келтіру үшін (2200); // жүктеуді күтіңіз h = dht.readHumidity (); float t = dht.readTemperature (); float i = dht.computeHeatIndex (t, h, false); oled.setCursor (55, 1); oled.print (t); oled.print («~ C»); oled.setCursor (55, 3); oled.print (h, 0); oled.print («%»); oled.setCursor (55, 5); oled.print (i); oled.print («~ C»); // ~ символы кітапханада ° градустық символды кешіктіру сияқты көрінді (5000); // 5 секунд көрсету oled.off (); бұрылды = жалған; sei (); // үзілімдерді қайта қосу} sleep (); // әрқашан соңында ұйықтаңыз} void drawScreen () {// кадрды негізгі мәтінге (uint8_t y = 0; y <8; y ++) {oled.setCursor (0, y); oled.startData (); үшін (uint8_t x = 0; x <128; x += 2) {oled.sendData (0b10101010); oled.sendData (0b01010101); } oled.endData (); } oled.setCursor (0, 0); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b00000101, ені - 2); oled.sendData (0b11111111); oled.endData (); for (uint8_t y = 1; y <(биіктігі - 8) / 8; y ++) {oled.setCursor (0, y); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b00000000, ені - 2); oled.sendData (0b11111111); oled.endData (); } oled.setCursor (0, (биіктігі - 8) / 8); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b10100000, ені - 2); oled.sendData (0b11111111); oled.endData (); oled.setCursor (4, 1); oled.print («Temp:»); oled.setCursor (4, 3); oled.print («Хум:»); oled.setCursor (4, 5); oled.print («Sens:»); }

4 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды

Ең маңыздысы, бұл ATTiny85 емес, сонымен қатар олардың қолданылуын бақылауға мүмкіндік береді. Ешқандай бақылау жоқ, егер сіз ұйқы режимінде болсаңыз, онда бұл шектеулер жоқ. Қатысу бағдарламасы, ATtiny бағдарламасы

OLED кітапханасы бар. GFX де Adafruit кітапханасы ATtiny -ді анықтауға мүмкіндік береді

Бұл өте маңызды. Қарап шығыңыз, ол 3000 мАч (NiMH o LiIon) және 500 дюймге дейінгі уақытты қажет етеді. Аудару мүмкін емес болса да, ATTiny сенсордың тікелей сенсоры болып табылады

Technoblogy.com сайтынан оқуға болады, бұл сіздің еліңіздегі ең маңызды қызметтердің бірі болып табылады. Ақылға қонымды, бұл сіздің өміріңіздің маңыздылығы

5 -қадам: Y Lecturas Relacionados сілтемелері

www.technoblogy.com/show?KX0&fbclid=IwAR0qu…

github.com/SpenceKonde/ATTinyCore

www.electroschematics.com/am2302-dht22-dat…

ww1.microchip.com/downloads/kz/DeviceDoc/A…

embeddedthoughts.com/2016/06/06/attiny85-i…

www.instructables.com/id/ATtiny85-Interrup…

www.technoblogy.com/show?WNM

www.technoblogy.com/show?2F5D

Ұсынылған: