Объединение кода для нескольких датчиков в одной программе

Мне нужно одновременно управлять двумя разными датчиками (газа и температуры). Мне удалось запустить каждый из них по отдельности, и я не знаю, как манипулировать кодом, чтобы они могли работать вместе. Мой опыт в кодировании базовый, и я не тот, кто писал эти коды.

Вот эскизы:

Код термистора:

void setup() {
  //Эта функция вызывается при запуске Arduino
  Serial.begin(9600);
  //Этот код настраивает последовательный порт на скорость 9600 бод
}

void loop() {
  //Эта функция работает циклически, пока Arduino включено
  int val; //Создаем целочисленную переменную
  val=analogRead(0);
  //Считать аналоговый порт 0 и сохранить значение в val
  Serial.println(val);
  //Вывод значения на последовательный порт
  delay(1000);
  //Подождите секунду, прежде чем мы сделаем это снова
}

Это код газового детектора:

/* Датчик газа MQ-2
Этот датчик обнаруживает горючие газы
плата имеет четыре контакта
подключите AO к выводу Arduino A0
подключите DO к выводу 2 Arduino
подключите Gnd к Arduino Gnd
подключите Vcc к Arduino 5 вольт
*/

int sensorPin = A0;
// выберите входной контакт для потенциометра
int DOPin = 2;
// выберите пин для светодиода
int sensorValue = 0;
// переменная для хранения значения, поступающего с датчика
int ledPin =13;

void setup() {
  // объявляем ledPin как ВЫХОД:
  pinMode(DOPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // считываем значение с датчика:
  sensorValue = analogRead(sensorPin);
  Serial.print("Analog Output = ");
  Serial.println(sensorValue);
  // включаем ledPin при срабатывании
  if (digitalRead(DOPin) ==HIGH) {
    digitalWrite(ledPin, LOW);
    Serial.println("Digital Output = OFF");
  } else {
    digitalWrite(ledPin, HIGH);
    Serial.println("Digital Output = ON");
  }
  delay(1000);
}

, 👍2


1 ответ


5

Вам просто нужно назначить датчикам разные контакты.

/* Датчик газа MQ-2
Этот датчик обнаруживает горючие газы
плата имеет четыре контакта
подключите AO к выводу Arduino A0
подключите DO к выводу 2 Arduino
подключите Gnd к Arduino Gnd
подключите Vcc к Arduino 5 вольт
*/

int gasSensorPin= A0; // Контакт датчика ГАЗА
int DOpin= 2; // выбор контакта для светодиода
int gasSensorValue= 0; // переменная для хранения значения, поступающего от датчика
int ledPin = 13;

int tempSensorPin = A1;  //Контакт датчика температуры
int tempSensorValue;

void setup() {
 // объявляем ledPin как ВЫХОД:
 pinMode(DOPin, INPUT);
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
 }


void loop() {
 // считываем значение с датчика:
 gasSensorValue= analogRead(gasSensorPin);
 Serial.print("Analog Output = ");
 Serial.println(gasSensorValue);
 // включаем ledPin при срабатывании
 //
 if (digitalRead(DOpin) == HIGH){
 digitalWrite(ledPin, LOW);
 Serial.println("Digital Output = OFF");
 }
   else {
     digitalWrite(ledPin, HIGH);
     Serial.println("Digital Output = ON");
  }

Serial.print("Temperture: ");
tempSensorValue = analogRead(tempSensorPin));
Serial.println(tempSensorPin);  //Вывести значение пина A4

delay(1000);
}

Это ваш объединенный эскиз.

,