Arduino-Programmierung: Denkfehler?
Ich habe einen Testcode geschrieben, den ich im tinkercad-Simulator laufen lassen möchte. Zwei Schalter sollen mit den Zuständen 000 bis 1111 vier Ausgänge schalten. Dafür dieser Code: const int input1 = 2; // Digitaleingang 1 const int input2 = 3; // Digitaleingang 2 const int output1 = 8; // Digitaler Ausgang 1 const int output2 = 9; // Digitaler Ausgang 2 const int output3 = 10; // Digitaler Ausgang 3 const int output4 = 11; // Digitaler Ausgang 4 void setup() { // Konfiguration der Pins als Eingänge und Ausgänge pinMode(input1, INPUT); pinMode(input2, INPUT); pinMode(output1, OUTPUT); pinMode(output2, OUTPUT); pinMode(output3, OUTPUT); pinMode(output4, OUTPUT); } void loop() { // Lesen des Zustands der Eingänge int input1Value = digitalRead(input1); int input2Value = digitalRead(input2); // Berechnen der Ausgangswerte int output1Value = (input1Value == 0) && (input2Value == 0); int output2Value = (input1Value == 0) && (input2Value == 1); int output3Value = (input1Value == 1) && (input2Value == 0); int output4Value = (input1Value == 1) && (input2Value == 1); // Schreiben der Ausgangswerte digitalWrite(output1, output1Value); digitalWrite(output2, output2Value); digitalWrite(output3, output3Value); digitalWrite(output4, output4Value); } Das funktioniert aber nicht. Die Logik wird nicht wie erwartet im Simulator umgesetzt. Ist der Code fehlerhaft oder mag der Simulator nicht richtig arbeiten?
