ATtiny85-DHT11-TM1637

Я перепробовал много комбинаций, и я могу заставить Attiny85 отображаться на TM1637 просто отлично, но я не могу получить показания муравья от DTH11, пробовал разные контакты, библиотеки. Я загружаю код через UNO как ISP, и это отлично работает. Попробовал тот же код на UNO, и он работает.

Это мой первый вопрос здесь, я обычно разбираюсь в вещах, но также и в первом приключении ATtiny85.

#include <TM1637Display.h>
#include "DHT.h"
#define CLK 4
#define DIO 3
#define DHTPIN 2  //
#define DHTTYPE DHT11
int MTD (2000);
TM1637Display display = TM1637Display(CLK, DIO);
DHT dht(DHTPIN, DHTTYPE);

const uint8_t celsius[] = {
  SEG_A | SEG_B | SEG_F | SEG_G, SEG_A | SEG_D | SEG_E | SEG_F
}; // oC
const uint8_t Fahrenheit[] = {
  SEG_A | SEG_B | SEG_F | SEG_G, SEG_A | SEG_E | SEG_F | SEG_G
}; // oF
const uint8_t Humidityh[] = {
  SEG_B | SEG_C | SEG_E | SEG_F | SEG_G, SEG_C | SEG_D | SEG_E | SEG_F | SEG_B
}; // HU

void setup() {
  dht.begin();
  display.setBrightness(7);
}
  
void loop() {
  delay(1000);
  float Humidity = dht.readHumidity(); 
  float TemperatureC = dht.readTemperature();
  float TemperatureF = dht.readTemperature(true);

  display.showNumberDecEx(TemperatureF, 0b10000000, false, 2, 0);
  display.setSegments(Fahrenheit, 2, 2); delay(MTD);
  display.showNumberDecEx(Humidity, 0b10000000, false, 2, 0);
  display.setSegments(Humidityh, 2, 2); delay(MTD);
  display.showNumberDecEx(TemperatureC, 0b10000000, false, 2, 0);
  display.setSegments(celsius, 2, 2); delay(MTD-1000);
}

, 👍3


1 ответ


3

Нашел <TinyDHT.h>, и все работает нормально, как раз то, что я хотел.

,