Мазмуну:

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

Video: Attiny85 Termómetro OLED: 5 кадам

Video: Attiny85 Termómetro OLED: 5 кадам
Video: Как использовать LM35 для измерения температуры в градусах Цельсия, Фаренгейта и Кельвина 2024, Октябрь
Anonim
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED
Attiny85 Termómetro OLED

Эң негизгиси, бул жөнөкөй темперамент жана температура. ATmega328p колдонулганда, бул ATtiny85 колдонуучуларынын эң керектүү нерселеринин бири болуп саналат.

Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсунбу?

Жабдуулар

1 x ATtiny85

1 x Arduino UNO/PRO/etc (ATtiny программасы)

1 x 128x64 өлчөмүндөгү I2C OLED

1 х сенсор температурасы DHT22

1 x Resistencia 4.7MOhm (1/4W)

1 x Capacitor electrolítico 0.1uF

1 x Fuente de 3.3V - 5V 10+ x Jumpers

1 -кадам: Del Funcionamiento дескрипциясы

OLED, además, como objetivo secundario, e, incluido el uso de la librería sleep.he interrupt.h para activate el termómetro manualmente y así thire azaldil elà de la léporté de la léréréo de la lérte de los tres valores. la batería.

Программанын негизги программасы: Темперамент -> Температура температурасы -> Апарталар ATtiny -> Кайра баштоо.

Последние после после дежеремоса за мэри парте дел трабажо на китепкана китептеринин бар экени, бул жерде эч кандай кайра инвентаремос ла руэда жок. Adafruit (IDEде жок) китепканасы Tiny4kOLED де Github же башка компьютерлерге жүктөлүп алынган, башкача айтканда, түпнуска маалыматтардын түпнускасы, адеми, эң зарыл болгон нерселер.

Колдонуу шарттары өзгөрүлбөсө, экөө тең жабдылышы керек. Жеке, ал өз ара интерактивдүү болгон.

2 -кадам: Circuitos

Circuitos
Circuitos
Circuitos
Circuitos
Circuitos
Circuitos

ATtiny85 программасы үчүн эң керектүү схемалар түзүлгөн. Программанын программасы Al Arduino (бул конденсатордун жардамы менен) ArduinoISP эскизи, архивдер -> Ejemplos -> 11.. ArduinoISP. Бул конденсатордун жок кылынышын камсыз кылуу үчүн ATDiny85 программасын түзүү керек.

AT ATTINY Arduino менен түз байланышта. Колдонуу шарттары Купуялуулук Мобилдүү Жөндөө Бөлүмү (GND) del Arduino y el ATtiny85.

Colocar un no big pin 13 del Arduino y el 2 del ATtiny as many as many as many as you have no host, but no spéde estest conectada quando se programa al ATtiny.

Карап көрүңүз. SDA del ATyiny es el 0 y el SCL/CLK es el 2. Nuestro DHT está conectado en el pin 4.

3 -кадам: Программа

Башталгыч, "Arduino IS IS" программасынын тандоосу боюнча. ATtiny үчүн эч кандай орнотуу жок, жана ATtinyCore де Спенс Конде орнотулду. Эч кандай көйгөйлөр жок болгондуктан, бул көйгөйдү чечүү мүмкүн эмес.

BOD конфигурациясы BODда, 8MHz интернетте жана OptiBootто орнотулган. 1MHz аркылуу I2C коммюникацияланбайт, анткени ал 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 #define adc_disable () (ADCSRA & = ~ (1 << aden)) disable = "" adc = "" converterIN # #Define DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE); const uint8_t туурасы = 128; const uint8_t бийиктиги = 64; туруксуз бол айланды = жалган; / * * * Үзгүлтүк иштетүүчү * */ISR (PCINT_VECTOR) {// үзгүлтүк ар дайым уйкудан калыбына келет, эгерде (digitalRead (I_PIN) == HIGH) {Turn = true; // желекти экранды кайра тартуу үчүн коюңуз}} 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 (turn) {cli (); // үзгүлтүктөрдү өчүрүү oled.on (); float h = dht.readHumidity (); // жалган окуу dht кэшинин кечиктирилишин калыбына келтирүү үчүн (2200); // dht жүктөө үчүн күтө 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 ("Сезим:"); }

4 -кадам: Жыйынтыктар

Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар

Тиешелүү маалымат жок болсо да, ATtiny85 эң көп колдонулган нерселердин бири болуп саналат. Эч кандай эскертмелер көзөмөлдөбөсө да, уктап калганыңызда чектөө жок болот. Dichozamente, ATTiny программасы эң башкысы

Бардыгы болуп OLED китепканалары бар. GFX де Adafruit эч кимге уруксат бербестен, ATtiny үчүн эң сонун шарттарды түзүп берет, бирок китепканалар жана китептер бар

Элдин керектөөсү абдан маанилүү. Карап көрүңүз, ал 3000 мАч (NiMH же LiIon) үчүн 500 дюймга чейин бааланат. Колдонуу убактысы кыскартылганда, сенсор сенсорго түздөн -түз жооп бербейт, бирок ал жокко эсе

Según Technoblogy.com el ATtiny peree operar en unlu керектөөчүлөрдүн эң таң калыштуусу, бул эң башкысы, ал шаар мэри менен катташат, ал эми дагы бир жолу. Элдин керектөөсүн улантуу - бул далилдүү

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/en/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

Сунушталууда: