arduino programmering leds AND / OR bediening met drukknoppen

Beste, ik zou hierbij graag hulp willen bij een schoolproject dat ik niet af krijg.
De opgave luid als volgt : zorg ervoor dat een rode led aangaat als je op schakelaar S1 en op schakelaar S2 drukt. Als je enkel op een van de twee schakelaars drukt gaat de groene led aan.
bedrading en code.

Ik vermoed dat er een probleem is in mijn bedrading (te vinden in de bijlage) en heb dit nog niet gevonden.

alvast bedankt Weeghee.

#define S1 2
#define S2 4
#define L1 9
#define L2 10

void setup() {
pinMode(L1,OUTPUT);
pinMode(L2,OUTPUT);
pinMode(S1,INPUT);
pinMode(S2,INPUT);
}

void loop() {
if (S1 == 1 & S2 == 1){
digitalWrite(L1,HIGH);
delay(100);
}

else {if (S1 == 1 & S2 == 0){
digitalWrite(L2,HIGH);
delay(100);
}

if (S1 == 0 & S2 == 1){
digitalWrite(L2,HIGH);
delay(100);
}
}
}

Maak van die INPUT nl. INPUT_PULLUP of gebruik een weerstand voor D5 en een voor D6 naar de VCC. Je ingangen zweven nu.
En voor EN moet je 2x & gebruiken dus &&. Nu voer je de AND functie uit op die variabelen en je wilt een logische operator zo van ALS conditie_1 IS WAAR EN conditie_2 IS WAAR dan.....

Tenslotte worden de schakelaars LOW als ze ingedrukt zijn niet HIGH

Hoi Weeghee, welkom.

Dit is het plaatje dat je in de Engelstalige thread hebt neergezet.
Het is een typisch Fritzing! plaatje, wat betekent dat het niet de hoofdprijs verdient.
Maar daar gaat het nu even niet over.
De weerstandswaarde die je in dat plaatje toont (250 Ohm), is heel onwaarschijnlijk want geen standaard waarde die je overal kunt kopen.
Maar goed, de waarde past wel binnen het bereik voor een LED aan 5 volt.

Verder doet de code niet wat er gevraagd werd.
Het kan zijn dat de opdracht niet duidelijk genoeg was, want daar heb ik tijdens mijn opleiding (wel heel lang geleden) ook al eens mee te maken gehad.
Maar als je beschrijving hierboven de exacte opdracht is, dan klopt je code niet met de opdracht.

Verder is het wel erg lastig om je te helpen.
Want je vertelt wel dat je een probleem hebt en laat de code en een plaatje zien, maar je vertelt helemaal niet welk probleem je eigenlijk hebt.
En daar begint het wel mee he.
Vertel wat je verwachtte, en wat je in plaats daarvan kreeg.
Dan kan er veel beter een gericht antwoord op je vraag / probleem gegeven worden.
We zijn hier van het helpen oplossen van problemen, en niet vat het doen van jouw huiswerk voor jou.
Niet dat ik denk dat je dat zou verwachten hoor, maar alleen ter verduidelijking.

Nico heeft je al wat aandachtspunten gegeven.
Ik geef je nog iets anders mee.
Je kijkt nu of er knoppen worden ingedrukt.
Als er knoppen werden ingedrukt, dan gebeurt er iets.
In je opdracht zoals je die hier beschreven hebt, staat dus dat er een knop ingedrukt moet zijn om iets te laten oplichten.
Er staat niet dat er iets moet blijven branden als er wel een knop werd ingedrukt, maar wat als die knop niet langer word ingedrukt ?
Je kijkt helemaal niet of er geen knoppen worden ingedrukt.
Dus wanneer dat het geval is, dan word daar ook niets mee gedaan.
Nogmaals, ik weet niet of dit binnen je opdracht valt.
Maar het is typisch iets waar een leraar de fout mee in zou gaan, en de student dus niet voldoende onderwijst.
Nog een ander tipje voor jou:
Heb je enig idee hoe snel die tests die je hier doet verlopen ?
En hoe groot de kans is dat je beide knoppen werkelijk binnen de tijd dat zulke tests verlopen, tegelijk door een mens kunnen worden ingedrukt ?

Als je er achter wil komen of bovenstaande regel een werkelijk mogelijke fout kan opleveren, maak dan van de delay() (he getver) eens een hele seconde in plaats van een fractie daarvan, uiteraard nadat je de rest van je code wel hebt laten doen wat de opdracht van je verlangt.

Door met dit soort dingen te spelen, leer je veel meer dan alleen van het uitvoeren van deze opdracht binnen diens grenzen.
Ik adviseer je daarom ook sterk dat te gaan doen.
Is leuk en erg leerzaam.
Kost je misschien een kwartiertje of half uurtje extra, maar je zult er veel aan hebben.

zoals hierboven al voorgesteld:
gebruik input_PULLUP
maak een if ((in1==LOW)&& in2 ook low)) als ze beiden LOW(0) zijn {ledje HIGH} en een else {ledje LOW}.
daaronder nog een IF maar dan met een OF || ook weer LOW (ander ledje aan en een else(ander ledje uit)

Dat is nogal verwarrend dus gebruik #define ingedrukt LOW
en #define aan HIGH
#define uit LOW

en het schema is goed hoor
zoek een cheat sheet en druk die af en leg het papiertje naast je toetsenbord dan kun je gelijk zien of je het allemaal goed intypt.
welke opleiding doe je en waar?