Go Down

Topic: Mitt første program vil ikke kjøre - hva er feil? (Read 3 times) previous topic - next topic

Erni

Du mangler også  nogle {  } i din if sætning

if (buttonState == HIGH){

....

}

BjornTore

Da har jeg endret mitt sketch slik dere foreslår, men det virker fortsat ikke. Problemet er at jeg blir nektet å Uploade sketch'et. Han markerer da linjen "pinMode(13, OUTPUT)" og gir meg feilmeldingen
"expected construktor, destructor, or type conversion before '(' token"

Slik ser sketchet ut etter endringene:

/*
  Slippe to dråper tett etter hverandre
 
  Venter på START-pulsen før den åpner magnetventilen i 80ms (slipper dråpe 1), lukker magnetventilen i 20ms (da er har dråpe 1 sluppet taket og
  fallt litt), åpner magnetventilen i 80ms (slipper dråpe 2), lukker magnetventilen og venter i 7 sekund
  (så vannet får roet seg). Venter så på ny START-puls.
 
Krets:
Min Arduino har en fast LED mellom pin 13 og GND. Jeg lar denne simulerer en magnetventil (dråpeslipperen).
Trykknappen START er koplet mellom pin3 og +5V
En 10K resistor er koplet mellom pin3 og GND
*/

// set pin numbers:
const int buttonPin = 3;  // Inngang 3 er normalt LOW, trekkes HIGH av START-puls-knappen
const int ledPin = 13;    // LED utgangen settes til pin 13 (den er normalt lav)

pinMode(13, OUTPUT);
pinMode(3, INPUT);}

void setup() {               
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on my Arduino board:
int buttonState = 0;
}

void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH){
  digitalWrite(13, HIGH);   // set the LED on
  delay(500);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(500);              // wait for a second
  digitalWrite(13,HIGH);
  delay(500);
  digitalWrite(13,LOW);
  delay(7000);
}
BjornTore

BjornTore

Jippi, nå fungerer det som tenkt. I morgen blir det å kople til magnetventilene og justere timerne slik at det blir optimalt. Tusen takk for hjelpen alle sammen....-så langt :-)

/*
  SLIPPE TO DRÅPER TETT ETTER HVERANDRE - VIRKER FAKTISK ?

Inngang 2 trekkes lava via en 10K resistor og trekkes til +5V ved hjelp av en momentan trykkbryter
*/

const int buttonPin=2;const int ledPin=13;int buttonState=2;
void setup(){pinMode(ledPin, OUTPUT);pinMode(buttonPin, INPUT);}
void loop(){buttonState=digitalRead(buttonPin);
if(buttonState == HIGH){
delay(1000);
digitalWrite(ledPin,HIGH);
delay(100);
digitalWrite(ledPin,LOW);delay(200);
digitalWrite(ledPin,HIGH);
delay(100);
digitalWrite(ledPin,LOW);}}



BjornTore

Msquare

Når du skriver her og du har din kode highlight - så tryk på "#"-ikonet ovenfor editboksen. Den sætter et [ code ]  og [ / code ] par rundt om den, så den (a) kommer i en pæn kasse med scrollbar, og (b) ikke oversætter paranteser og lignende til smiley osv.

Da input editoren ikke kan lide lange mails (på min IE7), skriver jeg dem i notepad og cut-n-paster dem ind i input feltet. Ja, det betyder jeg selv må skrive de der kant-parantes tags. sån er livet ;)

Hvis du vil bruge en resistor på switch indgang, så er det fint med mig :) Men du kan spare det ved at buge den interne resistor som aktiveres ved at skrive til en port du har sat til input (modsigende, ja) og HIGH sætter en 20Kohm op mod +5V. Så kan kontakten trække pinen til GND.

Og så koden. Din tidligere fejl er et "}" for meget i linjen efter den som fejlmemdningen syår på. Det sker at man skal se på linjen før/efter en fejlmeldning. Jeg kunne bedre lide den end din meget korte nyere eksempel.

Glæder mig til billeder  8)

BjornTore

# Tusen takk for tipsene.

Altså jeg setter at det normale er at inngangen er HIGH, og så drar jeg den bare rett ned til GND for å trigge den. Smart! Håper ikke jeg risikerer å ødelegge noe for det høres litt brutalt ut.

Jeg fikk ikke kjørt noen "Live test" i dag heller. Møtte på utfordringer med å klare å drive den kraftige magnetventilen. Se eget topic.

Og ja, det kommer flotte dråpebilder om ikke så lenge. Helt sikkert!

BjornTore

Go Up