विषयसूची:

Attiny85 Termómetro OLED: 5 कदम
Attiny85 Termómetro OLED: 5 कदम

वीडियो: Attiny85 Termómetro OLED: 5 कदम

वीडियो: Attiny85 Termómetro OLED: 5 कदम
वीडियो: DIY 3D Printed Arc Reactor (Arduino/ATtiny85, Transistors, CAD, PCB Design, Programming) Iron-Man 2024, दिसंबर
Anonim
Attiny85 टर्मोमेट्रो OLED
Attiny85 टर्मोमेट्रो OLED
Attiny85 टर्मोमेट्रो OLED
Attiny85 टर्मोमेट्रो OLED

एस्टे प्रोयेक्टो कंसिस्टे एन अन टर्मोमेट्रो पेक्वेनो वाई सिंपल क्यू म्यूस्ट्रा ला टेम्परेतुरा वास्तविक, ला हमदद रिलेटिवा वाई एल इंडिस डे टेम्परातुरा। पुएडे रियलिज़रसे कोन एटमेगा३२८पी, पेरो लो इंटरसेंट डे एस्टा वर्शन एस यूटिलिज़र यून एटीटिनी८५ क्यूयो तमानो वाई कंसुमो डे बटेरिया कन्वर्जेन एन डिस्पोजिटिवो पेक्वेनो वाई पोर्टैटिल।

ए कंटीन्यूअस डिस्क्राइबरे एल फंकियोनामिएन्टो, सेगुइडो मोस्टरारे एल सर्किटो वाई फाइनलिजारे कोन एल प्रोग्रामा वाई अल्गुनोस कॉमेंटेरियोस सोब्रे एल प्रोएक्टो एन जनरल।

आपूर्ति

1 एक्स एटीटिनी85

1 एक्स अरुडिनो यूएनओ/प्रो/आदि (प्रोग्रामाडोर डेल एटीटीनी)

1 x 128x64 पेंटाल्ला I2C OLED

1 एक्स सेंसर तापमान DHT22

1 एक्स रेसिस्टेंसिया 4.7MOhm (1/4W)

1 एक्स कैपेसिटर इलेक्ट्रोलिटिको 0.1uF

1 एक्स फुएंते डी 3.3V - 5V 10+ x जंपर्स

चरण 1: विवरण डेल फंकियोनामिएंटो

एल ओब्जेटिवो डेल प्रोयेक्टो एस मोस्ट्रार लॉस ट्रेस वेलोरेस एंटीरियरमेंटे मेन्सियोनाडोस एन ला पेंटाला ओएलईडी, एडेमास, कॉमो ओब्जेटिवो सेकेंडरियो, ई इनक्लूडो एल यूसो डे ला लाइब्रेरिया स्लीप। वह इंटरप्ट। ला बटेरिया।

नुएस्ट्रो प्रोग्राम से गुआरा पोर एल सिगुएंटे प्रोसेसो: लेयर टेम्परेचर -> मोस्ट्रार टेम्परेचर एन पैंटाला -> अपगार एटिनी -> रेनीसिअर अल प्रेसिजनर बॉटन।

पैरा कैडा उनो डे एस्टोस पासोस डेजारेमोस ला मेयर पार्ट डेल ट्रैबाजो ए लास लाइब्रेरियास या एक्सिस्टेंटेस, पोर लो क्यू नो रेनवेंटरेमोस ला रुएडा। ला लाइब्रेरिया डीएचटी सेंसर लाइब्रेरी डे एडफ्रूट (डिस्पोंबल एन एल आईडीई) और टाइनी4कोल्ड डे डेटाक्यूट क्यू डेस्कारगारेमोस डी गिथब या क्यू, अल पारेसर, एल ऑटोर ओरिजिनल एस डेटाक्यूट वाई, एडेमास, नेसेसिटारेमोस मॉडिफकार्ला अन पोको लुएगो।

एल मेटोडो डे रीनिकियो पुएडे सेर टैंटो उन बॉटन कोमो डॉस प्लाकास मेटालिकस क्यू से टोकन पैरा एनकेंडर एल इक्विपो। एन लो पर्सनल, उन्होंने इनकॉन्ट्राडो ला ओप्सियोन डे लास प्लाकास मेटालिकस मास इंटरेक्टिवो।

चरण 2: सर्किटोस

सर्किटोस
सर्किटोस
सर्किटोस
सर्किटोस
सर्किटोस
सर्किटोस

एन ला प्राइमर इमेजन से एनक्यूएंट्रा एल सर्किटो क्यू अपेक्षित पैरा प्रोग्रामर एल एटीटीनी८५। प्राइमरामेंट से डेबे प्रोग्रामर अल अरुडिनो (एल कैपेसिटर डीबे एस्टार डेस्कोनेक्टैडो) को एल स्केच अरुडिनोआईएसपी, क्यू से एन्कुएंट्रा एन आर्किवोस -> उदाहरण -> 11. ArduinoISP। उना वेज़ हेचो एस्टो से देबे कोलोकार एल कैपेसिटर के लिए एविटर क्यू न्यूस्ट्रो अरुडिनो से रीनीसी अल प्रोग्रामर एल एटीटिनी८५।

एल एटिनी से पुएडे एलिमेंटर डायरेक्टमेंट डेल अरुडिनो। एन कासो डे यूटिलिज़र उना फ्यूएंटे डे पोडर कोमो उना बटेरिया एस नेसेसारियो कोनेक्टर ला मासा (जीएनडी) डेल अरुडिनो वाई एल एटीटिनी८५।

कोलोकार अन बॉटन एंट्रे एल पिन 13 डेल अरुडिनो और एल 2 डेल एटिनी पुएडे फैसिलिटर एल हेसर प्रीबास या क्यू ला पेंटाला नो पुएडे एस्टार कनेक्टेड कुआंडो से प्रोग्रामा अल एटिनी।

कोमो से ऑब्सर्वा एन लास इमेजिन्स। एल पिन एसडीए डेल एटिनी एस एल 0 वाई एल एससीएल/सीएलके एस एल 2. नुएस्ट्रो डीएचटी एस्टा कोनेक्टैडो एन एल पिन 4.

चरण 3: कार्यक्रम

प्राइमेरामेंटे, डिबेमोस चयनकर्ता "Arduino as ISP" कॉमो एल प्रोग्रामडोर। कोई हन इंस्टालाडो ला प्लाका पैरा एल एटिनी, रीकोमिएन्डो इंस्टालर ला प्लाका एटिनीकोर डे स्पेंस कोंडे। एस्टा प्लाका नो मी जेनेरो निंगुन प्रॉब्लम डे कॉम्पिलासिओन दुरांते ला रियलिज़ैसिओन डेल प्रोयेक्टो।

ला प्लाका देबे एस्टार कॉन्फिगुराडा पाप बीओडी, कॉन अन रिलेज डी 8 मेगाहर्ट्ज इंटर्नो वाई पाप ऑप्टिबूट। सी यूटिलाइज़ामोस 1 मेगाहर्ट्ज ला कम्यूनिकेसिओन पोर आई2सी नो एस एस्टेबल वाई ए 16 मेगाहर्ट्ज कॉन् क्रिस्टल एक्सटर्नो, एडेमास डी पेरडर डॉस पाइंस डिजीटल्स, एल कंसुमो एनर्जेटिको ऑमेंटा फाइनमेंटमेंट।

केब डेस्टाकार क्यू हे मॉडिफिकैडो अन आर्किवो एन ला लाइब्रेरिया टाइनी4कोलेड। एल आर्किवो मोडिफाडो एस "font8x16.h" और वह कैम्बियाडो ला लाइन 117 पर एल सिगुएंटे कोडिगो कॉन एल फिन डे कैंबियार एल सिम्बोलो ~ पोर ° क्यू usaremos en °C।

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

एक निरंतरता अजून्टो एल स्केच आवश्यक है पैरा एल प्रोयेक्टो।

#शामिल करें #शामिल करें #शामिल करें #शामिल करें #I_PINB PCINT3 परिभाषित करें #I_PIN PB3 परिभाषित करें #DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE) को परिभाषित करें; कास्ट uint8_t चौड़ाई = 128; कास्ट uint8_t ऊंचाई = ६४; अस्थिर बूल बदल गया = झूठा; /* * * इंटरप्ट हैंडलर * */ ISR (PCINT_VECTOR) {//इंटरप्ट हमेशा स्लीप से रिकवर करता है अगर (डिजिटलरेड (I_PIN) == हाई) {टर्न = ट्रू; // फिर से स्क्रीन को फिर से तैयार करने के लिए ध्वज सेट करें }} शून्य सेटअप () {क्ली (); // पीसीएमएसके को बाधित करता है |= (1 << I_PINB); GIMSK |= (1 << पीसीआईई); पिनमोड (I_PIN, INPUT); सेई (); // इंटरप्ट्स को चालू करें adc_disable (); // कनवर्टर सेट_स्लीप_मोड (SLEEP_MODE_PWR_DOWN) को बंद करके बिजली बचाएं; // नींद के प्रकार को गहरी नींद में सेट करें oled.begin (चौड़ाई, ऊँचाई, आकार (tiny4koled_init_128x64br), tiny4koled_init_128x64br); // ओल्ड ऑब्जेक्ट oled.setFont (FONT8X16) शुरू करें; // यह फ़ॉन्ट दूसरे ड्रॉस्क्रीन () से बेहतर दिखता है; ओलेड.ऑन (); देरी (2000); dht.begin (); मुड़ा हुआ = सच; // स्क्रीन खींचने के लिए ध्वज} शून्य नींद () {स्लीप_इनेबल (); स्लीप_सीपीयू (); } शून्य लूप () { अगर (बदला हुआ) {क्ली (); // इंटरप्ट्स को बंद करें old.on (); फ्लोट h = dht.readHumidity (); // dht कैश विलंब (2200) को रीसेट करने के लिए गलत पढ़ा गया; // dht को लोड करने के लिए प्रतीक्षा करें h = dht.readHumidity (); फ्लोट टी = dht.readTemperature (); फ्लोट मैं = dht.computeHeatIndex(t, h, false); oled.setCursor (55, 1); ओलेड.प्रिंट (टी); ओलेड.प्रिंट ("~ सी"); oled.setCursor (५५, ३); ओलेड.प्रिंट (एच, 0); ओलेड.प्रिंट ("%"); oled.setCursor(55, 5); ओलेड.प्रिंट (i); ओलेड.प्रिंट ("~ सी"); // डिग्री प्रतीक विलंब (5000) की तरह दिखने के लिए पुस्तकालय पर ~ प्रतीक बदल दिया गया था; // 5 सेकंड के लिए दिखाएं old.off (); मुड़ा हुआ = झूठा; सेई (); // फिर से इंटरप्ट संलग्न करें} नींद (); // हमेशा अंत में सो जाओ } शून्य ड्रॉस्क्रीन () {// फ्रेम को मुख्य पाठ के लिए खींचता है (uint8_t y = 0; y <8; y ++) {oled.setCursor(0, y); ओलेड.स्टार्टडाटा (); के लिए (uint8_t x=0; x<128; x += 2) {oled.sendData(0b10101010); oled.sendData (0b01010101); } old.endData (); } oled.setCursor(0, 0); ओलेड.स्टार्टडाटा (); oled.sendData(0b11111111); oled.repeatData(0b00000101, चौड़ाई - 2); oled.sendData(0b11111111); oled.endData (); के लिए (uint8_t y = 1; y < (ऊंचाई - 8) / 8; y++) { oled.setCursor(0, y); ओलेड.स्टार्टडाटा (); oled.sendData (0b11111111); oled.repeatData(0b00000000, चौड़ाई - 2); oled.sendData(0b11111111); oled.endData (); } oled.setCursor(0, (ऊंचाई - 8) / 8); ओलेड.स्टार्टडाटा (); oled.sendData (0b11111111); oled.repeatData(0b10100000, चौड़ाई - 2); oled.sendData (0b11111111); oled.endData (); oled.setCursor(4, 1); oled.print ("अस्थायी:"); oled.setCursor(4, 3); oled.print ("हम:"); oled.setCursor(4, 5); oled.print ("सेंस:"); }

चरण 4: निष्कर्ष

निष्कर्ष
निष्कर्ष
निष्कर्ष
निष्कर्ष

ए पेसर डे सु तामानो इनसिग्निग्नेट, एल एटीटीनी८५ ऑफ़्रेस उना एम्प्लिया गामा डे एप्लिसिओनेस एन लास क्यू पोडेमोस इम्प्लीमेंटर एस्टे कंट्रोलडोर डे बाजो कोस्टो सिन पेरडर फंकियोनिलिडाड। पर्सनलमेंट नो एस्पेरबा क्यू फ्यूरा पॉसिबल इनक्लूयर एल कंट्रोल डे पेंटाला वाई डे स्लीप जुंटोस डेबिडो ए लास लिमिटैसिओनेस डे मेमोरिया। Dichozamente, El Programa ha entrado en nuestro ATtiny।

मौजूदा ओट्रस लाइब्रेरियास पैरा लास पैंटालस ओएलईडी। ला लाइब्रेरिया जीएफएक्स डी एडफ्रूट नो मी परमिट कंपिलर पोर लो क्यू डेसीडी बसकार एल्गो प्रिसीमेंटे पैरा एल एटिनी, पेरो एक्सिस्टेंन ओट्रस लाइब्रेरियास और सॉल्यूसिओन्स क्यू बेटा इंटरसेंटेस डी एक्सप्लोरर।

एल कंसुमो डेल डिस्पोजिटिवो एस मुय बाजो। विचार करें और उस पर ध्यान दें, वह ५०० दिनों में ३०००mAh (NiMH o LiIon) पर ध्यान दें। एल कंसुमो पोड्रिया रिड्यूसिर्स ऐन मैस डिसकनेक्टांडो ला पेंटाला वाई एल सेंसर डायरेक्टामेंट दे अन पिन डेल एटिनी, पेरो नो लो हे कॉन्सेडो नेसेसारियो।

सेगोन Technobology.com एल एटिनी पुएडे ऑपेरा एन अन कंसुमो टैन बाजो कोमो एल मोस्ट्राडो एन ला प्राइमरा इमेजन, पेरो एन एस्टे प्रोएक्टो हे ओब्टेनिडो अन कंसुमो मेयर क्यू कॉरेस्पोन्ड अल डे ला सेगुंडा इमेजन। एल कंसुमो डे ला बटेरिया कॉन्टिन्टा सिएन्डो लो सुफिसिएंटमेंट बाजो कोमो पैरा सेर अन प्रॉयक्टो फैक्टिबल।

चरण 5: लिंक Y Lecuras Relacionados

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

github.com/SpenceKonde/ATTinyCore

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

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

embeddedविचार.com/2016/06/06/attiny85-i…

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

www.technobology.com/show?WNM

www.technobology.com/show?2F5D

सिफारिश की: