Arduino Motor Aansturen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo Mensen,

Ik moet voor school een AS/RS Systeempje maken (Magazijnrobot), en er klopt iets niet aan mijn codering :O
Het gaat even om dit stukje..
pointnr is het aantal pakketjes dat opgehaald moet worden, teller staat standaard op 0.
xAs onthoud waar de robot zit op de x-as, zo ook met yAs.
wanneer deze xAs dus gelijk is aan een x coördinaat, slaat de motor af (Motor1(0,false)) en gaat naar de volgende y coördinaat en dit herhaald zich tot het aantal pakketjes (pointnr) op is.
de Arrays xCords en yCords bevatten op volgorde de coördinaten van de op te halen pakketjes..
Het geheel zit in een loopje..

Maar op één of andere manier als ik invoer: pak pakketje 2,2 (x = 2, y =2 ) doet ie alsof ik pakketje 1,1 pak, en dat is bij alle invoeren.

Weet iemand wat er aan de hand is met mijn goddelijke code??

Alvast bedankt~

Dopdop

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
if(teller <= pointnr) {
      
      int x = xCords[teller];
      int y = yCords[teller];  
         
         while(!(xAs == x)){
           if(xAs < x) {
             Motor1(100,true);
           } else if(xAs > x) {
               Motor1(100,false);
             } 
           sensorStateX = digitalRead(tastSensorXas);
          if(sensorStateX == HIGH){
            Serial.print(" geDrukt ");
            if(xAs < x) {
              xAs++;
            } else {
                xAs--;
               }
            delay(500);
          }
         }
         
         if (xAs == x) {
               Motor1(0,false);
             }
                           
         while(!(yAs ==! y)){
           if(yAs < y) {
             Motor2(255,true);
           } else {
               Motor2(255,false);
             }
             sensorStateY = digitalRead(tastSensorYas);
          if(sensorStateY == HIGH){
            Serial.print(" gedrukt ");
            if(yAs < y) {
              yAs++;
            } else {
                yAs--;
              }
            delay(500);
          } 
         }
         
         if(yAs == y) {
           Motor2(0,false);
         }
    teller++;
    }

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Die while(!(yAs ==! y)){ is trouwens while(!(yAs == y)){
:D

Acties:
  • 0 Henk 'm!

  • PaveloW
  • Registratie: September 2005
  • Laatst online: 12:08
Is wel handig als je rond je code tags gebruikt, maakt het wat leesbaarder :

C:
1
2
if(teller <= pointnr) {
}


En een wilde gok verschil tussen '<' en '<=' misschien?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe gebruik je code tags?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PaveloW schreef op vrijdag 21 mei 2010 @ 22:44:
Is wel handig als je rond je code tags gebruikt, maakt het wat leesbaarder :

C:
1
2
if(teller <= pointnr) {
}


En een wilde gok verschil tussen '<' en '<=' misschien?
wtf. meteen goed ook :D

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 13:26

MueR

Admin Tweakers Discord

is niet lief

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien als je wat comments erbij zet wat alles doet? Dan snappen de mensen hier de code ook wat sneller. Op de UU is btw vandaag toevallig een arduino workshop gegeven XD, kom ik net vandaan :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Arduino is super vet :P
Hadden ze et ook over de shield enzo??

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zondag 23 mei 2010 @ 00:38:
Arduino is super vet :P
Hadden ze et ook over de shield enzo??
Ja, maar op 't begin vooral het RBBB bordje solderen(wij gebruikten RBBB variant) en wat testjes doen met sensoren etc.
Pagina: 1