подключение светодиода к DHT и кодовой комбинации

Привет еще раз? Я увидел, что мой последний вопрос прозвучал неудачно, поэтому позвольте мне его перефразировать. В идеале мой проект состоит из 3 датчиков: 2 датчиков dht-22 и датчика mq-7. Для датчиков dht22 я использую контакты ШИМ 9 и 10 на плате Arduino mega 2560 с соответствующими резисторами 10 кОм, с питанием 5 В и заземлением. Проблема заключается в том, что я хочу установить пределы температуры и влажности для обоих датчиков: (16

#include "DHT.h"

#define DHT1PIN 9     // к какому выводу мы подключены
#define DHT2PIN 10


#define DHT1TYPE DHT22    
#define DHT2TYPE DHT22  

// Подключаем контакт 1 (слева) датчика к +5В
// Подключите контакт 2 датчика к любому вашему DHTPIN-коду
// Подключаем контакт 4 (справа) датчика к ЗАЗЕМЛЕНИЮ
// Подключите резистор 10 кОм от контакта 2 (данные) к контакту 1 (питание) датчика.

DHT dht1(DHT1PIN, DHT1TYPE);
DHT dht2(DHT2PIN, DHT2TYPE);

void setup() {
  Serial.begin(115200); 
  Serial.println("DHTxx test!");

  dht1.begin();
  dht2.begin();
}

void loop() {
  // Чтение температуры или влажности занимает около 250 миллисекунд!
  // Показания датчика также могут быть устаревшими до 2 секунд (это очень медленный датчик)
  float h1 = dht1.readHumidity();
  float t1 = dht1.readTemperature();
  float h2 = dht2.readHumidity();
  float t2 = dht2.readTemperature();

  // проверяем, действительны ли возвращаемые значения. Если они имеют значение NaN (а не число), значит, что-то пошло не так!
  if (isnan(t1) || isnan(h1)) {
    Serial.println("Failed to read from DHT #1");
  } else {
    Serial.print("Humidity 1: "); 
    Serial.print(h1);
    Serial.print(" %\t");
    Serial.print("Temperature 1: "); 
    Serial.print(t1);
    Serial.println(" *C");
  }
  if (isnan(t2) || isnan(h2)) {
    Serial.println("Failed to read from DHT #2");
  } else {
    Serial.print("Humidity 2: "); 
    Serial.print(h2);
    Serial.print(" %\t");
    Serial.print("Temperature 2: "); 
    Serial.print(t2);
    Serial.println(" *C");
  }
  Serial.println();
}

Ps: Используемые светодиоды диаметром 10 мм. Для датчика MQ-7 это код.

/* MQ-7 Carbon Monoxide Sensor Circuit with Arduino */

 const int AOUTpin=0;//вывод AOUT датчика CO переходит в аналоговый вывод A0 Arduino
 const int DOUTpin=8;//вывод DOUT датчика CO переходит в цифровой вывод D8 ардуино
 const int ledPin=13;//анод светодиода подключается к цифровому выводу D13 Arduino

 int limit;
 int value;

 void setup() {
 Serial.begin(115200);//устанавливает скорость передачи данных
 pinMode(DOUTpin, INPUT);//устанавливает вывод в качестве входа для Arduino
 pinMode(ledPin, OUTPUT);//устанавливает вывод как выход Arduino
 }

 void loop()
 {
 value= analogRead(AOUTpin);//считывает аналоговое значение с вывода AOUT датчика CO
 limit= digitalRead(DOUTpin);//считывает цифровое значение с контакта DOUT датчика CO
 Serial.print("CO value: ");
 Serial.println(value);//печатает значение CO
 Serial.print("Limit: ");
 Serial.print(limit);// печатает достигнутый предел как LOW или HIGH (выше или ниже)
 delay(100);
 if (limit == HIGH){
 digitalWrite(ledPin, HIGH);//если предел достигнут, светодиод загорается как индикатор состояния
 }
 else{
 digitalWrite(ledPin, LOW);//если порог не достигнут, светодиод остается выключенным
 }
 }  

Мне еще предстоит купить схему реле, чтобы иметь возможность соединить ее со схемой с помощью , но на данный момент я был бы признателен, если бы можно было рассмотреть сценарии, выделенные для датчиков, а также то, как можно объединить два кода для быть одним кодом. Если есть какие-либо вопросы, не стесняйтесь спрашивать. Проект предназначен для мониторинга и контроля бункеров.

, 👍0


1 ответ


2

Единственное, что вызывает проблемы при объединении двух простых скетчей, — это команды «задержки». Есть только одна "задержка", так что всё идеально.

  1. Создать новый скетч
  2. Вставьте все, чего нет в методе из двух скетчей.
  3. Объедините методы setup, вставив первый и второй ниже.
  4. Удалите из метода повторяющиеся команды, такие как Serial.begin(115200);
  5. Объедините методы loop, вставив первый и второй ниже.
  6. Переместите код в loop, чтобы сделать его визуально приятным (это называется "запахом) " кода)

С этими двумя конкретными скетчами это не должно стать большой проблемой. Пожалуйста, задавайте более точные вопросы, как только у вас возникнут проблемы.

,