Përmbajtje:
- Furnizimet
- Hapi 1: Përshkrimi i Funksionit të Funksionit
- Hapi 2: Qarqet
- Hapi 3: Programimi
- Hapi 4: Përfundimet
- Hapi 5: Lidhjet Y Lecturas Relacionados
Video: Attiny85 Termómetro OLED: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:13
Ky produkt konsiston në termometrin e thjeshtë dhe të thjeshtë në temperaturën aktuale, në lidhje me mënyrën e përcaktuar të temperaturës. Mund të kuptohet me ATmega328p, por është interesante për të gjitha versionet e përdorimit të ATtiny85 të konsumatorëve dhe konsumit të baterisë së konvergjenit në një dispozitë të veçantë të portës.
Një përshkrim i vazhdueshëm i funksionit, të sistemit më të fundit të qarkut dhe të përfundimit të programit dhe të komenteve të shpeshta të projektit të përgjithshëm.
Furnizimet
1 x ATtiny85
1 x Arduino UNO/PRO/etj (programador del ATtiny)
1 x pantalla 128x64 I2C OLED
1 x Temperatura e sensorit DHT22
1 x Rezistencë 4.7MOhm (1/4W)
1 x Kondensator elektrolitik 0.1uF
1 x Fuente de 3.3V - 5V 10+ x kërcyes
Hapi 1: Përshkrimi i Funksionit të Funksionit
El objetivo del proyecto es mostrar los tres valores anteriormente mencionados en la pantalla OLED, además, como objetivo secundario, dhe përfshirja e përdorimit të përgjithshëm të gjumit. Ai ndërpret. H para aktivizimit të termometrisë së manualmente dhe así zvogëlimin e konsumit para konsumatorit la batería.
Nuestro programi mund të përcaktohet nga sistemi i procesit: Leht temperatura -> Mostrar temperatura en pantalla -> Apagar ATtiny -> Reiniciar al presionar botón.
Për shembull, ju do të gjeni një kryetar partie del trabajo a las librerías ya existentes, por lo que no no reinventaremos la rueda. Libraria DHT e bibliotekës së sensorit të Adafruit (disponueshme në el IDE) dhe Tiny4kOLED të dhëna që mund të shkarkohen nga Github e faqes sonë, nga parecer, nga autoritetet origjinale të të dhënave, además, necesitaremos modificarla un poco luego.
Método de reinicio puede ser tanto un botón como dos placas metálicas que se tocan para encender el equipo. Në mënyrë personale, ai nënkupton opcionin e las placas metálicas más interactivo.
Hapi 2: Qarqet
Përfundimisht, imagjinoni një qark të kërkuar për programin e ATtiny85. Kryeministri mund të programojë me Arduino (me një kondensator të caktuar në desconectado) me një skicë të ArduinoISP, që është e përfshirë në Arkivos -> Ejemplos -> 11. ArduinoISP. Una vez hecho esto se debe colocar el capacitor para evitar dhe nuestro Arduino se reinicie al programar el ATtiny85.
El ATtiny se puede alimentar directamente del Arduino. Përdorimi i një përdorimi të pafuqishëm nga një pajisje e nevojshme për lidhjen e masës (GND) në Arduino dhe në ATtiny85.
Colocar un botón entre el pin 13 nga Arduino dhe el 2 nga ATtiny puede lehtësimin e ndihmës së parë që ju do të pantalla no puede estar conectada cuando se programa al ATtiny.
Como se observva en las imágenes. El pin SDA del ATyiny es el 0 y el SCL/CLK es el 2. Nuestro DHT është i lidhur me el pin 4.
Hapi 3: Programimi
Fillimisht, zgjidhni programin "Arduino as ISP". Nëse nuk jeni të instaluar për një vend në ATtiny, ju rekomandojmë të instaloni një vend ATINyCore de Spence Konde. Esta placa no me generó ningún problema de compilación durante la realización del proyecto.
Mund të vendosni për konfigurimin e mëkatit BOD, duke përdorur 8MHz interno dhe më OptiBoot. Përdorimi i 1MHz për komunikimin me I2C nuk është i qëndrueshëm në 16MHz në mënyrë kristalore të jashtme, duke përdorur një numër të madh të pineve dixhitale, një mjet energjie të konsumit të konsiderueshëm.
Cabe destacar que he modificado un archivo en la librería Tiny4kOLED. El archivo modificado është "font8x16.h" y ai ka kërkuar në zonën 117 nga el siguiente código con el fin de cambiar el simbolo ~ por ° que përdoruesit në ° C.
0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
Një vazhdim i skicës së nevojshme për një projekt të mëparshëm.
#include #include #includ #include #define I_PINB PCINT3 #define I_PIN PB3 #define I_VECTOR PCINT0_vect #define adc_disable () (ADCSRA & = ~ (1 << aden)) çaktivizo = "" adc = "" #përcakto DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE); const uint8_t gjerësi = 128; const uint8_t lartësi = 64; bool i paqëndrueshëm i kthyer = false; / * * * Trajtuesi i ndërprerjeve * */ISR (PCINT_VECTOR) {// ndërprerja gjithmonë shërohet nga gjumi nëse (digitalRead (I_PIN) == LART HIGH) {kthyer = e vërtetë; // vendosni flamurin që të rishikojë përsëri ekranin}} void setup () {cli (); // fikni ndërprerjet PCMSK | = (1 << I_PINB]; GIMSK | = (1 << PCIE]; pinMode (I_PIN, INPUT); sei (); // ndez ndërprerjet adc_disable (); // kurseni energji duke fikur konvertuesin set_sleep_mode (SLEEP_MODE_PWR_DOWN); // vendosni llojin e gjumit në gjumë të thellë oled.begin (gjerësia, lartësia, madhësia (tiny4koled_init_128x64br), tiny4koled_init_128x64br); // fillo objektin e lyer me oled.setFont (FONT8X16); // ky font duket më mirë se tjetri drawScreen (); oled.on (); vonesa (2000); dht.filloj (); u kthye = e vërtetë; // flamuri për vizatimin e ekranit} void sleep () {sleep_enable (); gjumi_cpu (); } void loop () {if (kthyer) {cli (); // fikur ndërprerjet oled.on (); noton h = dht.readHumidity (); // leximi i rremë për të rivendosur vonesën e cht dht (2200); // prisni dht për të ngarkuar h = dht.readHumidity (); noton t = dht.readTemperatura (); noton 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"); // simboli ~ u ndryshua në bibliotekë për t'u dukur si një vonesë e simbolit të shkallës ° (5000); // shfaq për 5 sekonda oled.off (); u kthye = false; sei (); // bashkëngjit ndërprerjet përsëri} gjumë (); // gjithmonë shkoni për të fjetur në fund} void drawScreen () {// vizaton kornizën si tekstin kryesor për (uint8_t y = 0; y <8; y ++) {oled.setCursor (0, y); oled.startData (); për (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, gjerësia - 2); oled.sendData (0b11111111); oled.endData (); për (uint8_t y = 1; y <(lartësia - 8) / 8; y ++) {oled.setCursor (0, y); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b00000000, gjerësia - 2); oled.sendData (0b11111111); oled.endData (); } oled.setCursor (0, (lartësia - 8) / 8); oled.startData (); oled.sendData (0b11111111); oled.repeatData (0b10100000, gjerësia - 2); oled.sendData (0b11111111); oled.endData (); oled.setCursor (4, 1); oled.print ("Temp:"); oled.setCursor (4, 3); oled.print ("Hum:"); oled.setCursor (4, 5); oled.print ("Ndjen":); }
Hapi 4: Përfundimet
Një çmim i pakuptimtë, në ATtiny85 ofrece una amplia gama de aplicaciones en las que podemos implementare este controlador nga bajo costo mëkat fungerionalidad. Personalmente no esperaba que fuera potible mund të përfshijë kontrollin e pantallave dhe të gjumit duke përdorur një kufizim të kufirit të kujtesës. Dichozamente, el programa ha entrado en nuestro ATtiny
Ekzistojnë otras librerías para las pantallas OLED. Librería GFX de Adafruit nuk më lejoi një krahasim për atë që ju mund të vendosni për autobus algo precisamente para el ATtiny, por ekzistojnë të dhëna të lira në zgjidhjen e të tjerëve kur janë interesantë të eksploruesit
El konsumo del dispositivo es muy bajo. Duke pasur parasysh konstanten, ai vlerësoi një vida për një bateri prej 3000mAh (NiMH ose LiIon) dhe 500 ditë. Konsumimi i konsumatorëve është zvogëluar në mënyrë të përcaktuar nga pantalla dhe drejtori të sensorit që dëshironi të vendosni në ATINY, por nuk ka parasysh atë që ju nevojitet
Según Technoblogy.com ishte një operatore që nuk ishte konsumuar për një kohë të gjatë në shumicën e rasteve në imazhin fillestar, por me qëllim që ai të konsumonte një kryetar bashkie që të korrespondonte me imazhin e zgjedhur. El konsumo de la batería Continúa siendo lo suficientemente bajo como para ser un proyecto factible
Hapi 5: Lidhjet 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
Recommended:
Ylli më i madh dhe i përmirësuar i Krishtlindjeve Neopixel Attiny85: 3 hapa (me fotografi)
Ylli i Krishtlindjeve më i Madh dhe i Përmirësuar Neopixel Attiny85: Vitin e kaluar bëra një yll të vogël të Krishtlindjeve të printuar 3D, shikoni https://www.instructables.com/id/Christmas-Star-LE..Ky vit bëra një yll më të madh nga një fije floku prej 50 neopixelësh (5V WS2811). Ky yll më i madh kishte më shumë modele (unë jam akoma duke shtuar dhe përmirësuar
Vëzhgimi dhe Programimi i Ndjekjes së Veprimtarisë Vibruese të Veshur me ATtiny85 ATtiny85 Me Arduino Uno: 4 Hapa (me Fotografi)
Vëzhgimi dhe Programimi i Aktiviteteve Vibruese të Veshshme të Veshshme ATtiny85 & Programimi ATtiny85 Me Arduino Uno: Si ta bëni orën e ndjekjes së aktivitetit të veshur? Kjo është një vegël e veshur e krijuar për të dridhur kur zbulon stanjacion. A e kaloni shumicën e kohës tuaj në kompjuter si unë? A jeni ulur për orë të tëra pa e kuptuar? Atëherë kjo pajisje është f
Si të përdorni Stepper Motor si kodues rrotullues dhe ekran OLED për hapa: 6 hapa
Si të përdorni Stepper Motor si kodues rrotullues dhe ekran OLED për hapa: Në këtë tutorial ne do të mësojmë se si të gjurmojmë hapat e motorit stepper në ekranin OLED. Shikoni një video demonstruese. Kredia për tutorialin origjinal shkon për përdoruesit e youtube " sky4fly "
Flappy Bird në ATtiny85 dhe OLED Display SSD1306: 6 hapa (me fotografi)
Flappy Bird në ATtiny85 dhe OLED Display SSD1306: Hej Gjithkush, Sot do t'ju tregoj një klon bazë të shpendëve flappy që kam krijuar, dhe si mund të bëni për të bërë një lojë të ngjashme. Unë në thelb do të kaloj nëpër kodin tim me ju dhe do t'ju shpjegoj se si funksionon në çdo hap të rrugës. Kjo lojë është ndërtuar për të ruajtur
Kartëvizitë/tastierë lojërash: ATtiny85 dhe OLED Screen: 5 hapa (me fotografi)
Kartëvizitë/tastierë lojërash: ATtiny85 dhe OLED Screen: Përshëndetje të gjithëve! Sot do t'ju tregoj se si mund të krijoni kartën tuaj të biznesit/tastierën e lojës/çfarëdo që mund të imagjinoni që përmban një ekran I2C OLED me ndriçim dhe një Mikroprocesor ATtiny85. Në këtë Instructable unë do t'ju tregoj se si një PCB që unë përcaktoj