Obsah:
Video: Attiny85 Termómetro OLED: 5 krokov
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Môžu sa skladať z jednoduchých a aktuálnych teplôt, relatívnych a teplých teplôt. Ich realizácia je spojená s používaním ATmega328p, ale predovšetkým medzi rôznymi druhmi použitia ATtiny85 a jeho spotrebou batérií.
Pokračovanie popisu základných funkcií, všeobecných okruhov a konečných programov spojených s programom.
Zásoby
1 x ATtiny85
1 x Arduino UNO/PRO/atď (programátor ATtiny)
1 x 128x64 pantalla I2C OLED
1 x teplota snímača DHT22
1 x odpor 4,7MOhm (1/4W)
1 x elektrický kondenzátor 0,1uF
1 x prepínače 3,3 V - 5 V 10+ x prepojky
Krok 1: Popis del Funcionamiento
Väčšina zariadení obsahuje väčšinu predošlých menovaných OLED, bežných a bežných funkcií spánku, vrátane prerušenia a prerušenia činnosti. la batéria.
Nasledujúce programy môžu obsahovať nasledovné: Teplotný režim -> Väčšina teplých teplôt -> Apagar ATtiny -> Reiniciar al presionar botón.
Väčšina miest, ktoré existujú, existujú, ale existujú, zatiaľ čo neexistujú žiadne nové vynálezy. Knižnica DHT senzorových knižníc (k dispozícii v IDE) a Tiny4kOLED z dostupných zdrojov z Githubu, ako aj z parecera, pôvodných autorských dátových adries, adries, ďalších modifikácií a modifikácií.
Viacnásobné prehrávanie hudby a videí, ktoré môžete hrať, počúvajte a vybavujte. En loo person, it encontrado la opción de las placas metálicas más interactivo.
Krok 2: Okruhy
Základné zábery si predstavili obehové schémy, ktoré sú potrebné pre program ATtiny85. Programy základného programu Arduino (kondenzátor kondenzátora odvodeného z kondenzátora) obsahujú náčrt ArduinoISP, ako je uvedené v archíve -> Ejemplos -> 11. ArduinoISP. Väčšina kondenzátorov obsahuje dva rôzne typy kondenzátorov, ktoré sú dodávané spoločne s programom ATtiny85.
El ATtiny sa dodávajú priamo z Arduina. Používajú sa súčasne všetky druhy batérií, ktoré nepotrebujú žiadne prepojovacie zariadenie (GND) Arduino y el ATtiny85.
Počet farebných vstupov je 13 palcov Arduino y 2 2 ATtiny puede facilitar el hacer pruebas ya que la pantalla no puede estar conectada cuando se programa al ATtiny.
Como se observa en las imágenes. El pin SDA del ATyiny es el 0 y el SCL/CLK es el 2. Nuestro DHT está conectado en el pin 4.
Krok 3: Programovanie
Základné informácie o programe "Arduino as ISP" ako programátorovi. Si aún no han instalado la placa para el ATtiny, recomiendo installr la placa ATtinyCore de Spence Konde. Esta placa no me genero ningún problema de compilación durante la realización del proyecto.
Jedna z najobľúbenejších konfigurácií BOD s 8MHz vnútorným a optickým bootovaním. Používajú sa 1 MHz komunikačnej siete I2C a nie sú k dispozícii žiadne vonkajšie ani 16 MHz frekvenčné pásma, ako je digitálna energia, a spotreba energie.
Odklepnite a upravte svoje archívy a knižnice Tiny4kOLED. Všetky modifikácie môžu byť "font8x16.h" y cambiado la línea 117 por el siguiente código con el fin de cambiar el símbolo ~ por ° que usaremos en ° C.
0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
Pokračovanie náčrtu je potrebné pre ďalšie účely.
#include #include #include #include #define I_PINB PCINT3 #define I_PIN PB3 #define I_VECTOR PCINT0_vect #define adc_disable () (ADCSRA & = ~ (1 << aden)) disable = "" adc = "" converter #define DHTPIN 4 #define DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE); const uint8_t šírka = 128; const uint8_t výška = 64; volatile bool turned = false; / * * * Obsluha prerušenia * */ISR (PCINT_VECTOR) {// prerušenie sa vždy preberie z režimu spánku, ak (digitalRead (I_PIN) == HIGH) {turn = true; // nastavenie vlajky na prekreslenie obrazovky}} void setup () {cli (); // vypnutie prerušení PCMSK | = (1 << I_PINB); GIMSK | = (1 << PCIE); pinMode (I_PIN, INPUT); sei (); // zapnúť prerušenia adc_disable (); // úspora energie vypnutím meniča set_sleep_mode (SLEEP_MODE_PWR_DOWN); // nastavenie typu spánku na hlboký spánok oled.begin (šírka, výška, veľkosťof (tiny4koled_init_128x64br), tiny4koled_init_128x64br); // spustenie oled objektu oled.setFont (FONT8X16); // toto písmo vyzerá lepšie ako to ostatné drawScreen (); oled.on (); oneskorenie (2000); dht.begin (); obrátený = pravdivý; // vlajka na kreslenie obrazovky} void sleep () {sleep_enable (); sleep_cpu (); } void loop () {if (otočené) {cli (); // vypnutie prerušení oled.on (); float h = dht.readHumidity (); // false read to reset dht cache delay (2200); // wait dht to load 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"); // symbol ~ bol v knižnici zmenený tak, aby vyzeral ako oneskorenie symbolu ° (5000); // show na 5 sekúnd oled.off (); obrátený = nepravda; sei (); // znova pripojiť prerušenia} sleep (); // vždy na konci choď spať} void drawScreen () {// nakreslí rámček ako hlavný text pre (uint8_t y = 0; y <8; y ++) {oled.setCursor (0, y); oled.startData (); pre (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, šírka - 2); oled.sendData (0b11111111); oled.endData (); pre (uint8_t y = 1; y <(výška - 8) / 8; y ++) {oled.setCursor (0, y); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b00000000, šírka - 2); oled.sendData (0b11111111); oled.endData (); } oled.setCursor (0, (výška - 8) / 8); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b10100000, šírka - 2); oled.sendData (0b11111111); oled.endData (); oled.setCursor (4, 1); oled.print ("Teplota:"); oled.setCursor (4, 3); oled.print ("Hum:"); oled.setCursor (4, 5); oled.print ("Sens:"); }
Krok 4: Závery
Bez ohľadu na to, či sú tieto položky bezvýznamné, alebo nie, získate 85 rôznych aplikácií, ako sú implementované, kontrolované a kontrolované. Osobné možnosti, ktoré je možné zahrnúť, vrátane kontroly nad spánkom a spánkom, ktoré môžu mať za následok obmedzenie pamäte. Dichozamente, el programa ha entrado en nuestro ATtiny
Existujúce otrasné knižnice sú vybavené OLED. Naše knižnice GFX de Adafruit no me allowiócom compilar por lo que decision bus bus algo precisamente para el ATtiny, per existen otras librerías y soluciones que son interesantes de explorar
K dispozícii sú všetky možnosti. Uvažujte o konštantnej spotrebe, pričom odhadujete, že budete môcť vidieť batériu s kapacitou 3000 mAh (NiMH alebo LiIon) a 500 días. Spotrebný materiál znižuje počet senzorov a snímač sníma priamo z jedného kolíka AT, avšak bez ohľadu na to, čo potrebuje
Väčšina Technoblogy.com pracuje s veľkým počtom užívateľov, ktorí majú záujem o prácu, ale hlavne o starostu. Nepretržitá a bežná prevádzka batérií je dostatočne realistická
Krok 5: Odkazy a súvisiace odkazy
www.technoblogy.com/show?KX0&fbclid=IwAR0qu…
github.com/SpenceKonde/ATTinyCore
www.electroschematics.com/am2302-dht22-dat…
ww1.microchip.com/downloads/en/DeviceDoc/A…
embeddedoughts.com/2016/06/06/attiny85-i…
www.instructables.com/id/ATtiny85-Interrup…
www.technoblogy.com/show?WNM
www.technoblogy.com/show?2F5D