Resultaten 1 tot 3 van de 3

Onderwerp: Lift aansturing met Arduino

  1. Standaard Lift aansturing met Arduino

    Beste forumbezoeker,
    Ik ben een beginnend Aruino gebruiker en heb na wat testjes een programma gemaakt voor het besturen van een lift met 3 verdiepingen.
    Met wat hulp van een medegebruiker heb ik het voor elkaar gekregen dat het werkt maar ik moet dan de motor, d.m.v. een drukknop, links of rechtsom laten draaien. Ik heb een opzetje gekregen om dit automatische te laten verlopen en heb dit ingebouwd. Het gedeelte van de motoraansturing komt door de compiler heen maar hij stopt steeds op het bestaande deel met de melding "ButtonState2" does not name a type. Met de handmatige motoraansturing werkte dit deel zo prima. Het uploaden van het bestand lukt niet vandaar dat ik hieronder de gehele list heb geplaatst. Wie kan mij verder helpen?
    Alvast bedankt voor de medewerking.
    Ad de Laat
    a.de.laat@hccnet.nl

    /* Aansturing lift met 3 verdiepingen. (beganegrond, 1e verdieping en 2e verdieping)
    * D.m.v. eindschakelaars wordt de motor gestopt.
    * Motorsturing d.m.v. L293D
    */
    const int verd2 = 7; //Drukknop 2e verdieping naar D7
    const int verd1 = 5; // Drukknop 1e verdieping naar D5
    const int beg = 4; // Drukknop beganegrond nnar D4
    const int relais = 6; // aansturing motor via D6
    const int eindstop2 = 3; //Eindschakelaar 2e verdieping D3
    const int eindstop1 = 2; //Eindschakelaar 1e verdieping D2
    const int beganegr = 8; //Eindschakelaar beganegrond D8
    int buttonState2 = 0; //reset drukknop verdieping op 0
    int buttonState1 = 0; //reset drukknop verdieping op 0
    int buttonState0 = 0; //reset drukknop verdieping op 0
    int potPin = 0; //reset stand regelbare weeerstand op 0
    int switchPin = 9;
    //int enablePin = 10;
    int in1Pin = 11; // Aansturing L293D op IN1 vanuit D11
    int in2Pin = 12; // Aansturing L293D op IN2 vanuit D12
    int X = 0; // maak X=0
    int Y = 0; // maak Y=0
    int Waardeverd1; // maak digitalewaarde verd1
    int Waardeverd2; // maak digitalewaarde verd2
    int Waardebeggr; // maak digitalewaarde beg
    void setup() {
    pinMode(verd2, INPUT); // maak van D7 een input
    pinMode(verd1, INPUT); // maak van D5 een input
    pinMode(beg, INPUT); // maak van D4 een input
    pinMode(relais, OUTPUT); // maak van D6 een output
    pinMode(eindstop2, INPUT); // maak van D3 een input
    pinMode(eindstop1, INPUT); // maak van D2 een input
    pinMode(beganegr, INPUT); // maak van D8 een input
    pinMode(Waardeverd1, INPUT); // maak van D5 een input
    pinMode(Waardeverd2, INPUT); // maak van D7 een input
    pinMode(Waardebeggr, INPUT); // maak van D4 een input
    pinMode(in1Pin, OUTPUT); // maak van D11 een output
    pinMode(in2Pin, OUTPUT); // maak van D12 een output
    pinMode(switchPin, INPUT_PULLUP); // maak van D9 een input

    Serial.begin(9600); // zet de seriele monitor op 9600 baut

    }
    void loop()
    {
    int speed = analogRead(potPin) / 4; // leest de motorsnelheid uit potmeter /4
    boolean reverse = digitalRead(switchPin); // bepaald de richting van de motor
    setMotor(speed, reverse); // geeft setmotor de berekende waarden
    }
    void setMotor(int speed, boolean reverse) // stuurt de motor aan
    {

    {
    int Waardeverd2 = digitalRead(verd2); //zet de digitalewaarden van D6 Waardeverd2
    int Waardeverd1 = digitalRead(verd1); //zet de digitalewaarden van D5 Waardeverd1
    int Waardebeggr = digitalRead(beg); //zet de digitalewaarden van D4 Waardebeggr

    if (beganegr == HIGH){ //waarde bepaling t.b.v. Motoraansturing links of rechtsom
    (X=0);}
    if (eindstop1 == HIGH){
    (X=1);}
    if (eindstop2 == HIGH){
    (X=2);}
    if (Waardebeggr == HIGH){
    (Y=0);}
    if (Waardeverd1 == HIGH){
    (Y=1);}
    if (Waardeverd2 == HIGH){
    (Y=2);}

    if (Y>X){ // Motoraansturing links of rechtsom
    (in1Pin=HIGH, in2Pin=LOW);}
    if (Y<X){
    (in1Pin=LOW, in2Pin=HIGH);}
    if (Y==X){
    (in1Pin=HIGH, in2Pin=HIGH);}
    }
    }
    //Serial.println(buttonState);
    //delay(1);
    buttonState2 = digitalRead(eindstop2); // Maakt status drukknop, verdieping 2, digitaal
    if (Waardeverd2 == HIGH){ // als D7 is 1
    digitalWrite(relais, HIGH); // maak D6 = 1
    }else if (buttonState2 == 1){ // als buttonState 2 gelijk is aan 1
    digitalWrite(relais, LOW); // maak D6 = 0
    }

    buttonState1 = digitalRead(eindstop1);
    if (Waardeverd1 == HIGH){
    digitalWrite(relais, HIGH);
    }else if (buttonState1 == 1){
    digitalWrite(relais, LOW);
    }

    buttonState0 = digitalRead(beganegr);
    if (Waardebeggr == HIGH){
    digitalWrite(relais, HIGH);
    }else if (buttonState0 == 1){
    digitalWrite(relais, LOW);
    }
    }
    }

  2. #2
    Ingeschreven
    Aug 2016
    Locatie
    Rhoon
    Berichten
    12

    Standaard Re: Lift aansturing met Arduino

    Hallo Ad,

    Wat er fout gaat weet ik even niet, "does not name a type" krijg ik meestal wanneer er ergens iets fout is gegaan met het verwijzen naar een library.
    Probeer eens LOW en HIGH in plaats van 0 en 1. misschien dat er ergens niet goed gaat met de integer.
    Zal er een nader onderzoek naar doen.

    Gr Peter

  3. #3

    Standaard Re: Lift aansturing met Arduino

    Ad,

    Ik vermoed dat het programma door kopiëren van andere programma's tot stand is gekomen.

    Er staan in de void loop erg veel "{".
    Als je de "}" en "{" verwijderd in regel 48, 50, 52, 59, 76, 77 en 101

    dan krijg je een foutmelding dat setMotor niet als variabele is vastgelegd

    als ik nu regel 47 en 49 buiten werking stel (//) dan kan ik het zonder foutmeldingen compileren.

    Chek nog eens of alle variabele wel nodig zijn

    Gerard

Gelijkaardige Onderwerpen

  1. Arduino en modelbaanautomatisering
    Door TKN in forum Modelbaanautomatisering
    Reacties: 11
    Laatste Bericht: 28-03-18, 18:48
  2. Arduino DCC++ Centrale
    Door fred jansen in forum Modelbaanautomatisering
    Reacties: 9
    Laatste Bericht: 20-03-18, 09:16
  3. AKI aansturing met arduino
    Door GtN in forum Modelbaanautomatisering
    Reacties: 0
    Laatste Bericht: 21-12-17, 12:15
  4. Arduino.CC versus Arduino.ORG
    Door Bert Mengerink in forum Overige systemen
    Reacties: 1
    Laatste Bericht: 27-09-16, 13:13
  5. Arduino
    Door geenHCClid_. in forum PC bij andere hobby's
    Reacties: 0
    Laatste Bericht: 02-07-13, 20:06

Bladwijzers

Bladwijzers

Forum Rechten

  • Je mag geen nieuwe onderwerpen plaatsen
  • Je mag geen reacties plaatsen
  • Je mag geen bijlagen toevoegen
  • Je mag jouw berichten niet wijzigen
  •