Hỏi Xin Code DHT11 Hien Thi LCD - Dien Tu Viet Nam

  • Đăng ký hoặc đăng nhập
    • Logging in... Ghi Nhớ? Ðăng Nhập Forgot password or user name? hoặc Đăng ký
    • Log in with Facebook
  • Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Thông báo Collapse No announcement yet. Hỏi xin Code DHT11 hien thi LCD Collapse X Collapse
  • Bài viết
  • Hoạt động gần đây
  • Tìm kiếm
  • Trang of 1
  • Lọc
  • Giờ All Time hôm nay Last Week Last Month
  • Show All Discussions only Photos only Videos only Links only Polls only Events only
Filtered by: Clear All new posts Trước template Next
  • buitrongthie buitrongthie Thành viên chính thức
    • Tham gia: May 2013
    • Bài viết: 69
    • Share
    • Tweet
    #1

    Hỏi xin Code DHT11 hien thi LCD

    11-07-2013, 11:54 Mình đang muốn sử dụng con DHT11 nhưng code bên box Cảm biến không dùng được. Ai đã dùng con này thì cho mình xin cái code or chỉ mình cách lập trình với. CUNG CẤP LINH KIỆN ĐIỆN TỬ. DỤNG CỤ LÀM MẠCH. CUNG CẤP LED, MẠCH CÔNG SUẤT. CUNG CẤP MODULE LED (TRÁI TIM, CUBE) ------------TẠI HẠ LONG------------------ LIÊN HỆ: 0936524718 Tags: None
  • hohoanganhfu hohoanganhfu Thành viên chính thức
    • Tham gia: Jan 2012
    • Bài viết: 99
    • Share
    • Tweet
    #2 12-07-2013, 20:13 bạn xem ở dây DHT11 - Cảm Biến Độ Ẩm | Diễn Đàn Vi Điều Khiển

    Comment

    Gửi bài viết Huỷ bỏ
  • buitrongthie buitrongthie Thành viên chính thức
    • Tham gia: May 2013
    • Bài viết: 69
    • Share
    • Tweet
    #3 13-07-2013, 13:45 Vấn đề này mình đã giải quyết được rồi + chủ đề post rồi không xoá được với cả chẳng biết sao lại không sửa được nữa nên mình sửa lại để giúp bạn nào cần thì dùng. Sau đay là code và file hex. PHP Code: Project : Do nhiet do va do am bang DHT11 Version : 1 Date : 11/07/2013 Author : Bui Trong Thien Company : ThienTrang-TEC Comments: Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 16,000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include <mega8.h> #include <delay.h> #include <delay.h> // Alphanumeric LCD Module functions #include <alcd.h> #define DHT_DATA_IN PINC.2 #define DHT_DATA_OUT PORTC.2 #define DHT_DDR_DATA DDRC.2 #define DDROUT 1 #define DDRIN 0 #define DHT_ER 0 #define DHT_OK 1 #define DHT_Temp 0 #define DHT_RH 1 #define ADC_VREF_TYPE 0xE0 //----------------------------------------------------------// typedef signed char int8_t; typedef signed int int16_t; typedef signed long int int32_t; /* Kieu So Nguyen Khong Dau */ typedef unsigned char uint8_t; typedef unsigned int uint16_t; typedef unsigned long int uint32_t; /* Kieu So Thuc */ typedef float float32_t; //------------------------------------------------------// uint8_t DHT_GetTemHumi (uint8_t select); uint8_t nhiet=0, am=0; unsigned char vin; //--------------------------------------------------------// unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } //_-----------------------------------------------------// Lay du lieu tu DHT11 uint8_t DHT_GetTemHumi (uint8_t select) { uint8_t buffer[5]={0,0,0,0,0}; uint8_t ii,i,checksum; DHT_DDR_DATA=DDROUT; // set la cong ra DHT_DATA_OUT=1; delay_us(60); DHT_DATA_OUT=0; delay_ms(25); // it nhat 18ms DHT_DATA_OUT=1; DHT_DDR_DATA=DDRIN; delay_us(60); if(DHT_DATA_IN)return DHT_ER ; else while(!(DHT_DATA_IN)); //Doi DaTa len 1 delay_us(60); if(!DHT_DATA_IN)return DHT_ER; else while((DHT_DATA_IN)); //Doi Data ve 0 //Bat dau doc du lieu for(i=0;i<5;i++) { for(ii=0;ii<8;ii++) { while((!DHT_DATA_IN));//Doi Data len 1 delay_us(50); if(DHT_DATA_IN) { buffer[i]|=(1<<(7-ii)); while((DHT_DATA_IN));//Doi Data xuong 0 } } } //Tinh toan check sum checksum=buffer[0]+buffer[1]+buffer[2]+buffer[3]; //Kiem tra check sum if((checksum)!=buffer[4])return DHT_ER; //Lay du lieu if (select==DHT_Temp) { //Return the value has been choosen return(buffer[2]); } else if(select==DHT_RH) { return(buffer[0]); } return DHT_OK; } //--------------------------------------------------------------// static void nhietdovadoam() { vin=(read_adc(0)*256)/255; // Nhiet do do bang LM35 nhiet= DHT_GetTemHumi (DHT_Temp); // Nhiet do do bang DHT11 am= DHT_GetTemHumi (DHT_RH); // Do am do bang DHT11 //Nhiet do do bang DHT11 lcd_gotoxy(0,1); lcd_putsf("T ="); lcd_putchar(48+nhiet/10); lcd_putchar(48+nhiet%10); lcd_putchar(0b11011111); // ki tu do lcd_putsf("C"); // Do am do bang DHT11 //Do am do bang DHT11 lcd_gotoxy(9,1); lcd_putsf("H ="); lcd_putchar(48+am/10); lcd_putchar(48+am%10); lcd_putsf("%"); // Nhiet do do bang LM35 lcd_gotoxy(0,0); lcd_putsf("Nhiet do: "); lcd_putchar(48+vin/10); lcd_putchar(48+vin%10); lcd_putchar(0b11011111); // ki tu do lcd_putsf("C"); } // Read the 8 most significant bits // of the AD conversion result // Declare your global variables here void main(void) { // Declare your local variables here PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; TCCR0=0x00; TCNT0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off MCUCR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // USART disabled UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; // Alphanumeric LCD initialization // Connections specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 0 // RD - PORTD Bit 1 // EN - PORTD Bit 3 // D4 - PORTD Bit 4 // D5 - PORTD Bit 5 // D6 - PORTD Bit 6 // D7 - PORTD Bit 7 // Characters/line: 16 lcd_init(16); while (1) { // Place your code here nhietdovadoam(); } } DHT11.zip CUNG CẤP LINH KIỆN ĐIỆN TỬ. DỤNG CỤ LÀM MẠCH. CUNG CẤP LED, MẠCH CÔNG SUẤT. CUNG CẤP MODULE LED (TRÁI TIM, CUBE) ------------TẠI HẠ LONG------------------ LIÊN HỆ: 0936524718

    Comment

    Gửi bài viết Huỷ bỏ
  • daixiem daixiem Thành viên mới
    • Tham gia: Apr 2014
    • Bài viết: 2
    • Share
    • Tweet
    #4 06-05-2014, 17:15 bác Buitrongthien oi,em muốn dùng con dht 11 giao tiep với 89S52 mà code khó quá,bác giúp em với!!thanks bác

    Comment

    Gửi bài viết Huỷ bỏ
  • vankienemk vankienemk Thành viên mới
    • Tham gia: Aug 2013
    • Bài viết: 10
    • Share
    • Tweet
    #5 05-12-2014, 21:07 Mình đa hoàn thành 2 dự án DHT11 giao tiếp với 89s52 và DHT11 với atmega8, mình ko biết upfile lên ntn cả nên mn ai cần gửi mail cho mình:: [email protected] đây là atmega8 với dht11 code https://drive.google.com/file/d/0B2u...ew?usp=sharing

    Comment

    Gửi bài viết Huỷ bỏ
  • sunypower sunypower Thành viên mới
    • Tham gia: Dec 2011
    • Bài viết: 15
    • Share
    • Tweet
    #6 28-03-2015, 13:06 Nguyên văn bởi buitrongthie Xem bài viết .................................................. ............... //_-----------------------------------------------------// Lay du lieu tu DHT11 uint8_t DHT_GetTemHumi (uint8_t select) { uint8_t buffer[5]={0,0,0,0,0}; uint8_t ii,i,checksum; DHT_DDR_DATA=DDROUT; // set la cong ra DHT_DATA_OUT=1; delay_us(60); DHT_DATA_OUT=0; delay_ms(25); // it nhat 18ms DHT_DATA_OUT=1; DHT_DDR_DATA=DDRIN; delay_us(60); if(DHT_DATA_IN)return DHT_ER ; else while(!(DHT_DATA_IN)); //Doi DaTa len 1 delay_us(60); if(!DHT_DATA_IN)return DHT_ER; else while((DHT_DATA_IN)); //Doi Data ve 0 //Bat dau doc du lieu for(i=0;i<5;i++) { for(ii=0;ii<8;ii++) { while((!DHT_DATA_IN));//Doi Data len 1 delay_us(50); if(DHT_DATA_IN) { buffer[i]|=(1<<(7-ii)); while((DHT_DATA_IN));//Doi Data xuong 0 } } } //Tinh toan check sum checksum=buffer[0]+buffer[1]+buffer[2]+buffer[3]; //Kiem tra check sum if((checksum)!=buffer[4])return DHT_ER; //Lay du lieu if (select==DHT_Temp) { //Return the value has been choosen return(buffer[2]); } else if(select==DHT_RH) { return(buffer[0]); } return DHT_OK; } //--------------------------------------------------------------// static void nhietdovadoam() { vin=(read_adc(0)*256)/255; // Nhiet do do bang LM35 nhiet= DHT_GetTemHumi (DHT_Temp); // Nhiet do do bang DHT11 am= DHT_GetTemHumi (DHT_RH); // Do am do bang DHT11 //Nhiet do do bang DHT11 lcd_gotoxy(0,1); lcd_putsf("T ="); lcd_putchar(48+nhiet/10); lcd_putchar(48+nhiet%10); lcd_putchar(0b11011111); // ki tu do lcd_putsf("C"); // Do am do bang DHT11 //Do am do bang DHT11 lcd_gotoxy(9,1); lcd_putsf("H ="); lcd_putchar(48+am/10); lcd_putchar(48+am%10); lcd_putsf("%"); // Nhiet do do bang LM35 lcd_gotoxy(0,0); lcd_putsf("Nhiet do: "); lcd_putchar(48+vin/10); lcd_putchar(48+vin%10); lcd_putchar(0b11011111); // ki tu do lcd_putsf("C"); } }[/PHP] [ATTACH]70004[/ATTACH] Thanks bài viết của bạn Bùi Trọng Thiên, tuy nhiên, nếu trước phân checksum(kiểm tra lôi) nếu không có lệnh reset cho DHT11 thi các bạn chỉ có thể đọc được dữ liêu của duy nhất hoặc độ ẩm hoặc nhiệt độ. Cụ thể cần thêm vào: Code: DHT_DDR_DATA=DDROUT; // set la cong ra DHT_DATA_OUT=1; delay_ms(100);

    Comment

    Gửi bài viết Huỷ bỏ
  • vankienemk vankienemk Thành viên mới
    • Tham gia: Aug 2013
    • Bài viết: 10
    • Share
    • Tweet
    #7 29-03-2015, 07:20 Phần lớn giao tiếp khó là ở chỗ thời gian delay không đúng, các bạn tự tạo một khoảng delay nhất định sau đó kiểm tra trên proteus.

    Comment

    Gửi bài viết Huỷ bỏ
  • arong arong Thành viên mới
    • Tham gia: Feb 2013
    • Bài viết: 6
    • Share
    • Tweet
    #8 15-05-2015, 21:01 cho em hỏi..em cũng sử dụng code trên và kết quả hắn cứ ra giá trị 0 miết..vậy mong chỉ giúp ạ

    Comment

    Gửi bài viết Huỷ bỏ
  • quan_hs quan_hs Thành viên mới
    • Tham gia: Nov 2020
    • Bài viết: 1
    • Share
    • Tweet
    #9 20-11-2020, 11:03 mình cũng bị lỗi thế, chỉ thấy kết quả là 0. Có bác nào biết cách fix ko ạ? Cảm ơn!

    Comment

    Gửi bài viết Huỷ bỏ
Trước template Next Về tác giả Collapse buitrongthie Tìm hiểu thêm về buitrongthie Bài viết mới nhất Collapse
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ. Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...
    • Channel: Tâm tình dân kỹ thuật
    29-01-2026, 11:58
  • bqviet Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi bqviet Đơn giản thì có trải nghiệm này http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81 Chỉ phần cứng,...
    • Channel: Điện tử công suất
    27-01-2026, 21:32
  • Nexus 6P Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P phức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
    • Channel: Điện tử công suất
    26-01-2026, 08:52
  • Nexus 6P Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P cảm ơn bác nhiều nha, để e nghiên cứu
    • Channel: Điện tử công suất
    26-01-2026, 07:38
  • vi van pham Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi vi van pham kỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
    • Channel: Tâm tình dân kỹ thuật
    25-01-2026, 21:29
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI https://youtu.be
    • Channel: Tâm tình dân kỹ thuật
    24-01-2026, 22:13
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Chào bác, gần Tết công việc bác bận lắm phải không? Vâng mọi người đều thế cả. Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo... https://youtu.be
    • Channel: Tâm tình dân kỹ thuật
    24-01-2026, 21:53
  • bqviet Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi bqviet Cảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau https://www.instructables.com/DIY-1k...ge-Controller/
    • Channel: Điện tử công suất
    23-01-2026, 16:50
  • Nexus 6P Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P Như tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V) e cảm ơn
    • Channel: Điện tử công suất
    23-01-2026, 11:23
Xem toàn bộ Copyright © 2000-2026 Dientuvietnam.net. Founded by BinhAnh. Developed by R&P. All rights reserved. Forum software powered by vBulletin® Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Múi giờ GMT+7. Trang này được tạo vào lúc 19:02. Đang tải... Ðồng ý Không OK OK Huỷ bỏ X

Từ khóa » Thư Viện Dht11 Cho Proteus