Adruino Rookie DC motor aansturen met 3 schakelaars

Hallo, Ik ben sinds kort aan de slag met een Arduino.

Ten eerste probeer ik de code uit te vogelen voor wat ik wil

"Kleine uitleg:
Ik wil met 3 schakelaars de richting van de motor en de tijd dat hij draait kunnen sturen.

wanneer hij opgestart wordt met hij automatisch naar middenstand gaan
aangegeven door eindschakelaar.

Wanneer drukschakelaar 1 bediend, dan moet hij 1500ms rechtsom draaien en stoppen.
wanneer drukschakelaar 2 bediend, dan moet hij 1500ms linksom draaien en stoppen.

wanneer rechtsom het laatste was en schakelaar 1 wordt bediend dan moet hij 3000ms linksom draaien en stoppen.

wanneer linksom het laatste was en schakelaar 2 wordt bediend dan moet hij 3000ms rechtsom draaien en stoppen.

wanneer linksom het laatste was en schakelaar 1 kort (?ms) bediend wordt dan met hij rechtsom gaan tot eindschakelaar 3 bediend wordt en stoppen. (terug naar middenstand gaan)

wanneer linksom het laatste was en schakelaar 2 kort (?ms) bediend wordt dan moet hij rechtsom draaien tot eindschaklaar 3 bediend wordt en vervolgens een lampje inschakelen deze met blijven branden. (terug gaan naar middenstand en een lampje laten branden)

wanneer er daarna een commando komt van een van de schakelaars moet hij het lampje uitdoen en de functie doen die de schakelaar vraagt uit bovenstaande opdrachten.

ik heb al een code in elkaar geknutseld met de kennis die ik zover heb maar dat geeft geen respons.
Iets met en klok horen en die klepel nog niet gevonden.

Is er iemand die mij een stap verder kan helpen

Arco

Special Member

Wederom laat mijn glazen bol me in de steek. We kunnen zo niet zien wat voor code je in elkaar hebt gestoken... ;)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

//INPUT
int S1 = 5; // upshift
int S2 = 4; // downshift

//INPUT
int S3 = 3; // middenstand eindschakelaar

//OUTPUT
int Rechtsom = 7; // motor rechtsom draaien voor aangegeven tijd
int Linksom = 8; // motor linksom draaien voor aangegeven tijd
int Light= 9; // lamp 12v 21watt

void setup()
{
pinMode (Linksom, OUTPUT);
pinMode (Rechtsom, OUTPUT);
pinMode (Light, OUTPUT);
pinMode (S1, INPUT);
pinMode (S2, INPUT);
pinMode (S3, INPUT);

// Vanuit middenstand naar stand 1//
if (digitalRead(S3)&&digitalRead(S2)==HIGH){
digitalWrite (Rechtsom, HIGH);
delay(1500);

// Vanuit middenstand naar stand 2//
if (digitalRead(S3)&&digitalRead(S1)==HIGH){
digitalWrite (Linksom, HIGH);
delay(1500);

// Vanuit stand 1 naar stand 2//
if (last(rechtom, HIGH) && digitalRead(S1)==HIGH){
digitalWrite (Linksom, HIGH);
delay(3000);

// Vanuit stand 2 naar stand 1//
if (last (Linksom, HIGH) && digitalRead(S2)==HIGH){
digitalWrite Rechtsom, HIGH);
delay(3000);

// Vanuit stand 1 naar middenstand//
if (last (Rechtsom, HIGH) && digitalRead(S1)== millis(50) HIGH){
digitalWrite (Linksom, HIGH) till digitalRead(S3)==HIGH;

// vanuit stand 1 naar middenstand met lamp indicatie//
if (last (rechtsom, HIGH) &&digitalRead (S2)==millis(50)HIGH){
digitalWrite(Linksom, HIGH) till digitaleRead(s3)==HIGH &&digitalWrite(light, HIGH);

Niemand??
Ben op mezelf aangewezen denk ik

Op 7 augustus 2012 12:00:07 schreef Mr Techniek:
ik heb al een code in elkaar geknutseld met de kennis die ik zover heb maar dat geeft geen respons.
Iets met en klok horen en die klepel nog niet gevonden.

eehm misschien makkelijk om te laten zien "WAT" er mis is
wat heb je geprobeerd
zijn er al testen geweest
heb je überhaupt je arduino ooit aan de gang gehad?
hoe zit je hardware aangesloten
werkt deze?
ik noem maar een paar dingen, zo sta je er idd alleen voor, wij kunnen ook niet ruiken wat jij aan het doen bent

verder open je 6 IF statements, maar sluit er niet 1 af?

en wat is het "last" statement? kent de arduino compiler dat wel? (wsl een eigen functie?) geldt ook voor "till"?

ik mis een stuk van je code? of je maakt alleen maar pinnen high en nooit meer low?

laat me raden, je hebt heel dit ding getypt, en bij het compilen gaf hij een foutmelding? testen, testen, testen, begin eens gewoon met 1 if statement

arduino IS GEEN C++
http://arduino.cc/en/Reference/HomePage
kijk eens goed naar je syntax en functiegebruik

[Bericht gewijzigd door DK op donderdag 16 augustus 2012 17:04:29 (13%)