Hjälp med kod Arduino

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hjälp med kod Arduino

Inlägg av Micke_s »

C standarden tillåter if-satser utan hakparenteser, men bäst att alltid köra med...
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Hjälp med kod Arduino

Inlägg av SeniorLemuren »

Har du pull down på knapparna så att de verkligen blir 0 när de är släppta?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43149
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hjälp med kod Arduino

Inlägg av sodjan »

För att först och främst verkligen dubbelkolla koden, gör något i stil med:

Kod: Markera allt

/
//Övervakning och återstart om flamman slocknar
{
int ledPin1_state;

ledPin1_state = LOW; (och sen HIGH)
buttonState2 = LOW; (och sen HIGH)

if ((ledPin1_state == LOW) && (buttonState2 == LOW))
  digitalWrite(ledPin2, LOW);
else
  digitalWrite(ledPin2, HIGH);
 }
/
Kör igenom alla 4 kombinationerna av LOW/HIGH på de 2 variablerna och kolla
vad du får på ledPin2. Om det fungerar så kan du helt släppa tanken på just den
delen av koden.

Om du har ett par andra pinnar lediga (X och Y nedan) så kan du även lägga till:

Kod: Markera allt

{

digitalWrite(ledPinX, digitalRead(ledPin1));
digitalWrite(ledPinY, buttonState2);

if ((digitalRead(ledPin1) == LOW) && (buttonState2 == LOW))
  digitalWrite(ledPin2, LOW);
else
  digitalWrite(ledPin2, HIGH);
 }
Då får du en direkt (visuell om de har LEDs på dom) verifiering av dina signaler.
Inget konstigt alls, grundläggande felsökning kurs 1A.

Hur är "LOW" och "HIGH" definierade? Eller setts de upp av Arduino miljön?
Är du säker på att dina "buttonState2" värden stämmer med dessa?
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Hjälp med kod Arduino

Inlägg av Wedge »

Micke_s skrev:C standarden tillåter if-satser utan hakparenteser, men bäst att alltid köra med...
Det skiter sig med råge ifall man använder hakparenteser. Hakparentes = [ ]
Skriv svar