Cần giúp về mạch đo nhiệt độ dùng dht11 sử dụng kit STM8s-Mini hiển thị LCD

Thảo luận trong 'STM8'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

  1. nhatthanh993

    nhatthanh993 Học sinh phổ thông

    Tham gia ngày:
    21/10/15
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Em có đồ án làm về cái này, ai biết sơ đồ mạch nguyên lý và code nạp thì giúp em với ạ. Em xin cảm ơn!
     
  2. ga_cong

    ga_cong Kỹ sư

    Tham gia ngày:
    14/10/12
    Bài viết:
    295
    Đã được thích:
    123
    Điểm thành tích:
    43
    Giới tính:
    Nam
    bạn chưa hiểu cái nào ? thư viện lcd thì trong forum có, thư viện dht11 cũng vậy . lấy vào lắp ráp là xong .
     
  3. nhatthanh993

    nhatthanh993 Học sinh phổ thông

    Tham gia ngày:
    21/10/15
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Mình cần cái sơ đồ mạch nguyên lý bạn ạ, bạn biết ko? giúp mình với
     
  4. ga_cong

    ga_cong Kỹ sư

    Tham gia ngày:
    14/10/12
    Bài viết:
    295
    Đã được thích:
    123
    Điểm thành tích:
    43
    Giới tính:
    Nam
    dht11 có 1 chân data bạn nối với chân naò cũng được, tương tự với LCD nó đòi hỏi có 6 chân thì bạn thích chân nào thì nôi chân đó
     
  5. ga_cong

    ga_cong Kỹ sư

    Tham gia ngày:
    14/10/12
    Bài viết:
    295
    Đã được thích:
    123
    Điểm thành tích:
    43
    Giới tính:
    Nam
    nếu vẫn chưa hiểu thì inbox facebook đi
     
  6. nhatthanh993

    nhatthanh993 Học sinh phổ thông

    Tham gia ngày:
    21/10/15
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Ok, bạn cho mình xin face đi
     
  7. HuyPhuc75

    HuyPhuc75 Học sinh phổ thông

    Tham gia ngày:
    10/6/16
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Chân data của dht11 vừa là In -Out ,bạn cấu hình STM8 như thế nào để có thể ĐK in_Out ở 1 chân.
     
  8. ga_cong

    ga_cong Kỹ sư

    Tham gia ngày:
    14/10/12
    Bài viết:
    295
    Đã được thích:
    123
    Điểm thành tích:
    43
    Giới tính:
    Nam
    lúc cần out thì cấu hình cho nó out, lúc cần in thì cấu hình cho nó in
     
  9. Tùng PT

    Tùng PT Học sinh phổ thông

    Tham gia ngày:
    18/4/18
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    int16_t DHT_GetTemHumi (u8 *tem, u8 *humi)
    {
    u8 buffer[5]={0,0,0,0,0};
    u8 i,ii,checksum;
    //ensure pa3 has pullup by external 4.7k resistor
    GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
    delay_us(60);
    GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);
    GPIO_WriteLow(GPIOA, GPIO_PIN_3);
    delay_ms(25);
    GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
    GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);
    delay_us(60);

    if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_3))
    return 0;
    else
    while(!GPIO_ReadInputPin(GPIOA, GPIO_PIN_3));

    delay_us(60);

    if(!GPIO_ReadInputPin(GPIOA, GPIO_PIN_3))
    return 0;

    else
    while(GPIO_ReadInputPin(GPIOA, GPIO_PIN_3));

    for(i=0;i<5;i++)
    {
    for(ii=0;ii<8;ii++)
    {
    while((!GPIO_ReadInputPin(GPIOA, GPIO_PIN_3)));
    delay_us(50);
    if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_3))
    {
    buffer|= (u8)(1<<(7-ii));
    while((GPIO_ReadInputPin(GPIOA, GPIO_PIN_3)));
    }
    }
    }

    checksum = (u8)(buffer[0]+buffer[1]+buffer[2]+buffer[3]);
    if((checksum)!=buffer[4])return 0;
    *tem = buffer[2];
    *humi = buffer[0];

    return 1;
    }


    /*
    Hàm này của mình lỗi gì sao mình chạy nó k trả về giá trị temp vs humi nhỉ.
    */
     

Chia sẻ trang này