Hallo zusammen
Wie bekomme ich ein zweites, drittes und viertes Relay im Code
eingebunden?
Das erste schaltet.
Ich habe keine Ahnung wie und wo die anderen im Code vom Arduino Uno
eingetragen werden.
Danke für Eure Hilfe
Das geht doch einfach in Zeile 42 und dann vermutlich auch in Zeile 42 usw.
// Forensketch
// https://forum.arduino.cc/
const byte ersterRelayPin = 2;
const byte zweiterRelayPin = 3;
void setup()
{
Serial.begin(9600);
Serial.println("Start...");
pinMode(ersterRelayPin, OUTPUT);
pinMode(zweiterRelayPin, OUTPUT);
digitalWrite(ersterRelayPin, HIGH);
digitalWrite(zweiterRelayPin, HIGH);
}
void loop()
{
digitalWrite(ersterRelayPin, !digitalRead(ersterRelayPin));
delay(500);
digitalWrite(zweiterRelayPin,!digitalRead(ersterRelayPin)); // das ist Absicht
delay(500);
}
.
welcher Code?
Bitte poste den Code hier in Code Tags.
Wenn du nicht weist wie das geht - lies im forum how to nach wie man Code postet, da steht das drinnen.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int sensor_pin; //Sensor Pin
int relay_pin; //Relay Pin
void setup()
{
Serial.begin(9600);
lcd.init(); // initialize the lcd
lcd.init();
lcd.backlight();
pinMode(sensor_pin, INPUT);
pinMode(relay_pin, OUTPUT);
}
// Relais 1
void loop()
{
int sensor_data = analogRead(sensor_pin = A0);
Serial.print("Wert 1:");
Serial.print(sensor_data);
Serial.print("\t | ");
if(sensor_data < 400)
{
Serial.println("Erde ist trocken");
digitalWrite(relay_pin = 7, HIGH);
lcd.setCursor(0,0);
lcd.print("Anlage Ein");
lcd.setCursor(0,1);
lcd.print("Motor ON ");
}
else if(sensor_data > 600)
{
Serial.println("Erde ist nass");
digitalWrite(relay_pin = 7, HIGH);
lcd.setCursor(0,0);
lcd.print("Anlage Aus");
lcd.setCursor(0,1);
lcd.print("Motor OFF");
}
delay(20000);
}
Das wirft Fragen auf.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const byte kreise = 2;
int sensor_pin[kreise] = {A0, A1}; //Sensor Pin
int relay_pin[kreise] = {7, 8}; //Relay Pin
void setup()
{
Serial.begin(9600);
lcd.init(); // initialize the lcd
lcd.backlight();
for (byte b = 0; b < kreise; b++)
{
pinMode(sensor_pin[b], INPUT);
pinMode(relay_pin[b], OUTPUT);
}
}
// Relais 1
void loop()
{
for (byte b = 0; b < kreise; b++)
{
int sensor_data = analogRead(sensor_pin[b]);
Serial.print("Wert ");
Serial.print(b + 1);
Serial.print(':');
Serial.print(sensor_data);
Serial.print("\t | ");
if (sensor_data < 400)
{
Serial.println("Erde ist trocken");
digitalWrite(relay_pin[b], HIGH);
lcd.setCursor(0, 0);
lcd.print("Anlage Ein");
lcd.setCursor(0, 1);
lcd.print("Motor ON ");
}
else if (sensor_data > 600)
{
Serial.println("Erde ist nass");
digitalWrite(relay_pin[b], HIGH);
lcd.setCursor(0, 0);
lcd.print("Anlage Aus");
lcd.setCursor(0, 1);
lcd.print("Motor OFF");
}
}
delay(20000);
}
Neuer Sensor an A1 und Relay an Pin 8.
Willst Du einen weiteren Kreis, dann kreise erhöhen auf 3 und jeweils die Pins eintragen - nicht mehr.
Der gesamte Code bleibt unverändert!
Lies erst einmal das
Und wenn du das gelesen und geraffelt hast denn sehen wir weiter.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.