Не могу загрузить несколько скетчей
Я делаю проект по садоводству. Он включает в себя несколько датчиков, и даже имея скетчи для них, я не знаю, как заставить их работать вместе и одновременно получать показания. Я совсем новичок в этом деле. Это мой первый Arduino.
Кажется, мне удается получить показания одного из датчиков, но всякий раз, когда я пытаюсь загрузить новый скетч, он не загружается.
Вот пара кодов, которые я хочу запустить вместе. Один — датчик температуры/влажности, а другой — датчик влажности почвы.
Заранее спасибо!!!
#include "DHT.h" // Библиотека DHT и AM2302
// Контакт данных подключен к AM2302
#define DHTPIN 2
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); // выводы светодиода
//////////////////////////////////////////////////////
//
// НАСТРАИВАТЬ
//
void setup() {
// Настройка последовательного монитора
Serial.begin(9600);
dht.begin();
}
void loop() {
// Измерение температуры или влажности занимает около 250 миллисекунд!
// Показания датчика также могут быть «старыми» до 2 секунд (это очень медленный датчик)
float h = dht.readHumidity();
float t = dht.readTemperature();
// проверяем, являются ли возвращаемые данные допустимыми. Если они NaN (не число), то что-то пошло не так!
if (isnan(t) || isnan(h)) {
Serial.println(F("Failed to read from DHT"));
}
else {
Serial.print(F("Humedad: "));
Serial.print(h);
Serial.print(F(" %\t"));
Serial.print(F("Temperatura: "));
Serial.print(t);
Serial.println(F(" C"));
}
// Подождите 3 секунды
delay(3000);
}
Другой код:
//////////////////////////////////////////////
// ДЕМОНСТРАЦИЯ ВЛАЖНОСТИ ПОЧВЫ ARDUINO //
// //
// http://www.educ8s.tv //
/////////////////////////////////////////////
int sensorPin = A0;
int sensorValue = 0;
int percent = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
percent = convertToPercent(sensorValue);
printValuesToSerial();
delay(1000);
}
int convertToPercent(int value)
{
int percentValue = 0;
percentValue = map(value, 1023, 465, 0, 100);
return percentValue;
}
void printValuesToSerial()
{
Serial.print("\n\nAnalog Value: ");
Serial.print(sensorValue);
Serial.print("\nPercent: ");
Serial.print(percent);
Serial.print("%");
}
@guillo, 👍0
Обсуждение1 ответ
У меня не получается загрузить несколько скетчей
Arduino может запускать только один скетч за раз. Вы можете делать несколько вещей в одном скетче, но у вас может быть только один скетч.
... но всякий раз, когда я пытаюсь загрузить новый скетч, он не загружается.
Что именно не работает? Вы должны иметь возможность менять скетчи, новый скетч должен заменить старый скетч; Если это не работает, у вас вообще другая проблема.
Вот несколько кодов, которые я хочу запустить вместе...
Вам придется написать новый скетч, который объединит поведение двух скетчей.
что-то вроде:
...
setup()
{
// общий код настройки здесь
}
...
loop()
{
int sensor_reading_1 = analogRead(sensor_pin);
float sensor_reading_2_h = dht.readHumidity();
float sensor_reading_2_t = dht.readTemperature();
... // что-то делать с показаниями
}
Ошибка, по-видимому, возникла из-за того, что я использовал 2 Voids в 2 отдельных вкладках., @guillo
@guillo эмм... что? Это вообще не имеет никакого смысла!, @esoterik
Вот какая ошибка возникла: «Переопределение пустотной установки» Не могу вставить сюда весь код ошибки., @guillo
Пару часов работы мне удалось объединить их вместе. Спасибо за ваши ответы!, @guillo
@guillo просто для ясности, это не "я использовал 2 Void", а "я объявил 2 setup
s". Вы можете иметь бесконечное количество функций void, поскольку void является возвращаемым типом, но каждая функция должна иметь уникальное имя, @frarugi87
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- DS18B20 дает высокие показания. Как заставить его вернуть правильную температуру?
- Какой тип разъема использует система GROVE?
- Улавливают ли ультразвуковые датчики прозрачные материалы?
- Как подключить более 10 датчиков к Arduino uno r3
- В чем разница между акселерометром, гироскопом и датчиком магнитометра?
Только один эскиз за раз. Вам придется их объединить (как-то), @Greenonline
@Greenonline, OP сделал это несколько часов назад. Прочитайте ответ и комментарии., @Juraj
@Juraj - хорошее замечание, но тогда изначальный вопрос существенно изменился, @Greenonline