ESP32 అనేది అవుట్పుట్లను రూపొందించడానికి బహుళ సూచనలను అమలు చేయగల అధునాతన మైక్రోకంట్రోలర్ బోర్డ్. వివిధ రకాల డేటాను ప్రదర్శించడానికి OLED స్క్రీన్ ఉపయోగించబడుతుంది. DHT11 సెన్సార్తో ESP32ని ఉపయోగించి మనం ఉష్ణోగ్రత మరియు తేమ రీడింగ్లను తీసుకోవచ్చు. ఈ డేటా మొత్తాన్ని OLED డిస్ప్లే ద్వారా సూచించవచ్చు. ఈ ట్యుటోరియల్ ఈ సెన్సార్లను ESP32తో ఇంటర్ఫేస్ చేయడానికి అవసరమైన అన్ని దశలను కవర్ చేస్తుంది.
ఈ ట్యుటోరియల్ కింది కంటెంట్ను కవర్ చేస్తుంది:
3: ESP32తో OLED డిస్ప్లే మాడ్యూల్
4: అవసరమైన లైబ్రరీలను ఇన్స్టాల్ చేయడం
4.1: DHT సెన్సార్ కోసం Arduino లైబ్రరీ
4.2: OLED డిస్ప్లే కోసం Arduino లైబ్రరీ
5: DHT11 సెన్సార్తో ESP32 ఇంటర్ఫేసింగ్
1: DHT11 సెన్సార్కి పరిచయం
ఎలక్ట్రానిక్స్ కమ్యూనిటీలో సాధారణంగా ఉపయోగించే ఉష్ణోగ్రత మరియు తేమ పర్యవేక్షణ సెన్సార్లలో DHT11 ఒకటి. ఉష్ణోగ్రత మరియు సాపేక్ష ఆర్ద్రత ఇవ్వడంలో ఇది మరింత ఖచ్చితమైనది. ఇది ఉష్ణోగ్రత మరియు తేమ యొక్క రెండు వేర్వేరు రీడింగ్లుగా ఉమ్మివేయబడిన క్రమాంకనం చేయబడిన డిజిటల్ సిగ్నల్ను అవుట్పుట్ చేస్తుంది.
ఇది విశ్వసనీయత మరియు స్థిరత్వాన్ని అందించే డిజిటల్-సిగ్నల్-సముపార్జన సాంకేతికతను ఉపయోగిస్తుంది. DHT11 సెన్సార్ రెసిస్టివ్-రకం తేమను కొలిచే భాగాన్ని కలిగి ఉంది మరియు NTC ఉష్ణోగ్రత కొలిచే భాగాన్ని కలిగి ఉంటుంది. ఈ రెండూ 8-బిట్ అత్యంత సమర్థవంతమైన మైక్రోకంట్రోలర్తో అనుసంధానించబడ్డాయి, ఇది వేగవంతమైన ప్రతిస్పందన, వ్యతిరేక జోక్య సామర్థ్యం మరియు వ్యయ-ప్రభావాన్ని అందిస్తుంది.
DHT11 యొక్క కొన్ని ప్రధాన సాంకేతిక లక్షణాలు ఇక్కడ ఉన్నాయి:
-
- DHT11 సెన్సార్ 5V నుండి 5.5V వరకు వోల్టేజ్ వద్ద పనిచేస్తుంది.
- కొలిచే సమయంలో ఆపరేటింగ్ కరెంట్ 0.3mA మరియు స్టాండ్బై సమయంలో 60uA.
- ఇది డిజిటల్ సిగ్నల్లో సీరియల్ డేటాను అవుట్పుట్ చేస్తుంది.
- DHT11 సెన్సార్ యొక్క ఉష్ణోగ్రత 0°C నుండి 50°C వరకు ఉంటుంది.
- తేమ పరిధి: 20% నుండి 90%.
- ఉష్ణోగ్రత కొలిచే కోసం ±1°C మరియు సాపేక్ష ఆర్ద్రత రీడింగ్ల కోసం ±1% ఖచ్చితత్వం.
మేము DHT11 సెన్సార్కు ప్రాథమిక పరిచయాన్ని కవర్ చేసినందున ఇప్పుడు DHT11 యొక్క పిన్అవుట్ వైపు వెళ్దాం.
2: DHT11 సెన్సార్ పిన్అవుట్
ఎక్కువ సమయం DHT11 సెన్సార్ రెండు వేర్వేరు పిన్ కాన్ఫిగరేషన్లలో వస్తుంది. 4 పిన్ల కాన్ఫిగరేషన్లో వచ్చే DHT11 సెన్సార్లో 3 పిన్లు పని చేయడం లేదు లేదా కనెక్షన్ లేదు అని లేబుల్ చేయబడింది.
3 పిన్ DHT11 సెన్సార్ మాడ్యూల్ పవర్, GND మరియు డేటా పిన్తో సహా మూడు పిన్లలో వస్తుంది.
2.1: 3 పిన్ DHT11 సెన్సార్
ఇచ్చిన చిత్రం DHT11 సెన్సార్ యొక్క 3 పిన్ కాన్ఫిగరేషన్లను చూపుతుంది.
ఈ మూడు పిన్స్:
1. | సమాచారం | సీరియల్ డేటాలో అవుట్పుట్ ఉష్ణోగ్రత మరియు తేమ |
2. | Vcc | ఇన్పుట్ పవర్ 3.5V నుండి 5.5V |
3. | GND | సర్క్యూట్ యొక్క GND |
2.2: 4 పిన్ DHT11 సెన్సార్
కింది చిత్రం 4 పిన్ DHT11 సెన్సార్ మాడ్యూల్ను వివరిస్తుంది:
ఈ 4 పిన్లు ఉన్నాయి:
1. | Vcc | ఇన్పుట్ పవర్ 3.5V నుండి 5.5V |
2. | సమాచారం | సీరియల్ డేటాలో అవుట్పుట్ ఉష్ణోగ్రత మరియు తేమ |
3. | NC | కనెక్షన్ లేదు లేదా ఉపయోగించబడలేదు |
నాలుగు. | GND | సర్క్యూట్ యొక్క GND |
3: ESP32తో OLED డిస్ప్లే మాడ్యూల్
OLED డిస్ప్లే ప్రధానంగా రెండు వేర్వేరు కమ్యూనికేషన్ ప్రోటోకాల్లతో వస్తుంది. రెండు ప్రోటోకాల్లు I2C మరియు SPI. సీరియల్ పెరిఫెరల్ ఇంటర్ఫేస్ (SPI) సాధారణంగా I2C కంటే వేగవంతమైనది, కానీ మేము SPI ప్రోటోకాల్ కంటే I2Cని ఇష్టపడతాము, దీనికి తక్కువ సంఖ్యలో పిన్లు అవసరం.
కింది చిత్రం 128×64 పిక్సెల్లు (0.96’’) OLED డిస్ప్లేతో ESP32 కనెక్షన్ రేఖాచిత్రాన్ని వివరిస్తుంది.
కనెక్షన్ పట్టిక క్రింద ఉంది:
ESP32 OLED డిస్ప్లేతో ఇంటర్ఫేస్ చేయబడిన తర్వాత, జాబితాలోని తదుపరి దశ Arduino IDEని ఉపయోగించి ESP32 ప్రోగ్రామింగ్ కోసం అవసరమైన అన్ని లైబ్రరీలను ఇన్స్టాల్ చేయడం.
4: అవసరమైన లైబ్రరీలను ఇన్స్టాల్ చేయడం
ఇక్కడ మేము ESP32తో రెండు వేర్వేరు సెన్సార్లను ఇంటర్ఫేస్ చేయబోతున్నాము కాబట్టి రెండింటికీ ప్రత్యేక లైబ్రరీలు పనిచేయడం అవసరం. ఇప్పుడు మేము DHT11 మరియు OLED డిస్ప్లే కోసం లైబ్రరీలను ఇన్స్టాల్ చేస్తాము.
4.1: DHT సెన్సార్ కోసం Arduino లైబ్రరీ
Arduino IDE తెరవండి, దీనికి వెళ్లండి: స్కెచ్>లైబ్రరీని చేర్చండి>లైబ్రరీలను నిర్వహించండి
ప్రత్యామ్నాయంగా, మేము Arduino IDE ఇంటర్ఫేస్లోని సైడ్ బటన్ నుండి లైబ్రరీ మేనేజర్ని కూడా తెరవవచ్చు.
DHT లైబ్రరీ కోసం శోధించండి మరియు తాజా నవీకరించబడిన సంస్కరణను ఇన్స్టాల్ చేయండి. సెన్సార్ డేటాను చదవడానికి DHT లైబ్రరీ సహాయం చేస్తుంది.
DHT లైబ్రరీని ఇన్స్టాల్ చేసిన తర్వాత మనం ఇన్స్టాల్ చేయాలి a ఏకీకృత సెన్సార్ లైబ్రరీ Adafruit ద్వారా.
4.2: OLED డిస్ప్లే కోసం Arduino లైబ్రరీ
OLED డిస్ప్లేతో ESP32 ప్రోగ్రామ్ చేయడానికి Arduino IDEలో బహుళ లైబ్రరీలు అందుబాటులో ఉన్నాయి. ఇక్కడ మేము Adafruit నుండి రెండు లైబ్రరీలను ఉపయోగిస్తాము: SSD1306 మరియు GFX లైబ్రరీ.
IDEని తెరిచి, లైబ్రరీ మేనేజర్ని క్లిక్ చేసి, OLED SSD1306 లైబ్రరీ కోసం శోధించండి. శోధన పట్టీ నుండి Adafruit ద్వారా SSD1306 లైబ్రరీని ఇన్స్టాల్ చేయండి.
ప్రత్యామ్నాయంగా, ఒకరు దీనికి కూడా వెళ్ళవచ్చు: స్కెచ్>లైబ్రరీని చేర్చండి>లైబ్రరీలను నిర్వహించండి
మనం ఇన్స్టాల్ చేయాల్సిన తదుపరి లైబ్రరీ GFX అడాఫ్రూట్ ద్వారా లైబ్రరీ.
మేము OLED డిస్ప్లే మరియు DHT11 సెన్సార్ రెండింటికీ లైబ్రరీలను ఇన్స్టాల్ చేసాము. ఇప్పుడు మనం ESP32తో రెండింటినీ సులభంగా ఇంటర్ఫేస్ చేయవచ్చు.
5: DHT11 సెన్సార్ మరియు OLEDతో ESP32 ఇంటర్ఫేసింగ్
DHT11 సెన్సార్తో ESP32ని ఇంటర్ఫేసింగ్ చేయడానికి, సెన్సార్ డేటాను చదవడానికి మరియు DHT11 సెన్సార్ను పవర్ చేయడానికి మనకు డిజిటల్ పిన్ అవసరం, మేము ESP32 యొక్క 3V3 పిన్ లేదా విన్ పిన్ని ఉపయోగించవచ్చు.
OLED డిస్ప్లే I2C పిన్స్ SDA మరియు SCL ఉపయోగించబడుతుంది. పవర్ కోసం మేము Vin లేదా ESP32 యొక్క 3V3 పిన్ని ఉపయోగించవచ్చు.
5.1: స్కీమాటిక్
ఇచ్చిన చిత్రంలో మనం DHT11తో ESP32 యొక్క స్కీమాటిక్ రేఖాచిత్రాన్ని చూడవచ్చు మరియు అవుట్పుట్ కోసం OLED స్క్రీన్ ఉపయోగించబడుతుంది. ఈ చిత్రం ESP32తో 3-పిన్ సెన్సార్ మాడ్యూల్ ఇంటర్ఫేసింగ్ను సూచిస్తుంది. 10kΩ యొక్క పుల్ అప్ రెసిస్టర్ను కనెక్ట్ చేయాలని గుర్తుంచుకోండి.
అదేవిధంగా, 4 పిన్ DHT11ని కూడా కనెక్ట్ చేయవచ్చు, ఇక్కడ 3 పిన్ మాత్రమే తేడాగా ఉంది, ఇది ఉపయోగం లేనిది లేదా కనెక్షన్ లేదు అని పిలుస్తారు. డేటా పిన్ సెన్సార్ యొక్క పిన్ 2 వద్ద ఉంది.
OLED డిస్ప్లే I2C SDA మరియు SCL పిన్లను ఉపయోగించి వరుసగా D21 మరియు D22 వద్ద కనెక్ట్ చేయబడింది.
5.2: కోడ్
ESP32ని PCతో కనెక్ట్ చేయండి మరియు Arduino IDEని తెరవండి. ఇచ్చిన కోడ్ను ESP32 బోర్డుకి అప్లోడ్ చేయండి.
#include#
#ని చేర్చండి
#
#
#SCREEN_WIDTH 128 /*OLED స్క్రీన్ వెడల్పు 128 పిక్సెల్స్*/ని నిర్వచించండి
#SCREEN_HEIGHT 64 నిర్వచించండి /*OLED స్క్రీన్ ఎత్తు 64 పిక్సెల్స్*/
Adafruit_SSD1306 ప్రదర్శన ( SCREEN_WIDTH, SCREEN_HEIGHT, & వైర్, - 1 ) ; /* SSD1306 I2C డిస్ప్లే ప్రారంభించడం */
#DHTPIN 4 నిర్వచించండి /*DHT11 సెన్సార్ కోసం సిగ్నల్ పిన్*/
#DHTTYPE DHT11ని నిర్వచించండి
DHT dht ( DHTPIN, DHTTYPE ) ;
శూన్యమైన సెటప్ ( ) {
సీరియల్.ప్రారంభం ( 115200 ) ;
dht. ప్రారంభం ( ) ;
ఉంటే ( ! ప్రదర్శన.ప్రారంభం ( SSD1306_SWITCHCAPVCC, 0x3C ) ) { /* I2C చిరునామా ఏది OLED కనెక్ట్ చేయబడింది */
Serial.println ( ఎఫ్ ( 'SSD1306 కేటాయింపు విఫలమైంది' ) ) ;
కోసం ( ;; ) ;
}
ఆలస్యం ( 2000 ) ;
display.clearDisplay ( ) ;
display.setTextColor ( తెలుపు ) ; /* అవుట్పుట్ టెక్స్ట్ రంగు తెలుపు */
}
శూన్య లూప్ ( ) {
ఆలస్యం ( 5000 ) ;
ఫ్లోట్ t = dht.readTemperature ( ) ; /* చదవండి ఉష్ణోగ్రత */
ఫ్లోట్ h = dht.readHumidity ( ) ; /* చదవండి తేమ */
ఉంటే ( ఒక ( h ) || ఒక ( t ) ) {
Serial.println ( 'DHT సెన్సార్ నుండి చదవడం విఫలమైంది!' ) ;
}
display.clearDisplay ( ) ; /* స్పష్టమైన పఠనాన్ని ప్రదర్శించే ముందు OLED ప్రదర్శన */
display.setTextSize ( 1 ) ; /* OLED టెక్స్ట్ ఫాంట్ పరిమాణం */
display.setకర్సర్ ( 0 , 0 ) ;
display.print ( 'ఉష్ణోగ్రత:' ) ;
display.setTextSize ( 2 ) ;
display.setకర్సర్ ( 0 , 10 ) ;
display.print ( t ) ; /* ముద్రణ ఉష్ణోగ్రత లో సెల్సియస్ */
display.print ( '' ) ;
display.setTextSize ( 1 ) ;
display.cp437 ( నిజం ) ;
display.write ( 167 ) ;
display.setTextSize ( 2 ) ;
display.print ( 'సి' ) ;
display.setTextSize ( 1 ) ;
display.setకర్సర్ ( 0 , 35 ) ;
display.print ( 'తేమ:' ) ;
display.setTextSize ( 2 ) ;
display.setకర్సర్ ( 0 , నాలుగు ఐదు ) ;
display.print ( h ) ; /* తేమ శాతాన్ని ముద్రిస్తుంది */
display.print ( '%' ) ;
display.display ( ) ;
}
OLED మరియు DHT11 సెన్సార్ల కోసం అవసరమైన లైబ్రరీలను చేర్చడం ద్వారా కోడ్ ప్రారంభించబడింది. ఆ తర్వాత OLED డిస్ప్లే కొలతలు నిర్వచించబడతాయి. తదుపరి మీరు DHT22ని ఉపయోగిస్తుంటే DHT సెన్సార్ రకం నిర్వచించబడుతుంది.
సెటప్ పార్ట్లో DHT సెన్సార్ మరియు OLED డిస్ప్లే ప్రారంభించబడింది. OLED స్క్రీన్ 0x3C యొక్క I2C చిరునామాతో కనెక్ట్ చేయబడింది. ఒకవేళ ఎవరైనా I2C అడ్రస్ని చెక్ చేయాలనుకుంటే ఇందులో ఇచ్చిన కోడ్ని అప్లోడ్ చేయండి వ్యాసం .
ఉష్ణోగ్రత మరియు తేమ విలువలు ఫ్లోట్ వేరియబుల్ లోపల నిల్వ చేయబడతాయి t మరియు h వరుసగా. ఆ తర్వాత ఈ రెండు విలువలు OLED డిస్ప్లేలో ముద్రించబడతాయి.
5.3: అవుట్పుట్
అవుట్పుట్లో మనం OLED స్క్రీన్పై ప్రదర్శించబడే నిజ సమయంలో కొలిచిన ఉష్ణోగ్రత మరియు తేమను చూడవచ్చు.
మేము DHT11 సెన్సార్ మరియు OLED స్క్రీన్తో ESP32 ఇంటర్ఫేసింగ్ను విజయవంతంగా పూర్తి చేసాము.
ముగింపు
ESP32తో కూడిన OLED డిస్ప్లేలు బాహ్య సెన్సార్లను ఉపయోగించి చదివే బహుళ డేటాను చూపగలవు. గది యొక్క ఉష్ణోగ్రత మరియు తేమను కొలవడానికి DHT11 సెన్సార్తో ESP32 ఇంటర్ఫేస్ చేయడానికి ఇక్కడ ఈ కథనం అన్ని దశలను కవర్ చేస్తుంది. ఆ తర్వాత మొత్తం రీడ్ డేటా I2C OLED డిస్ప్లే మాడ్యూల్లో ప్రదర్శించబడుతుంది.