Zelf uitlijnen telescoop (3 / 4 stap)

Stap 3: Het schrijven van uw Arduino Sketch


Het idee achter dit project is dat met elke stap van een stepper motor met een vaste hoek verandering overeen komt. Bijvoorbeeld als een stappenmotor 500 stappen per omwenteling heeft, elke stap rekening moet houden bij 360/500 = 0,72 graden verschil. Op basis van die kennis, kunnen wij de telescoop dienovereenkomstig uitlijnen.

Maar eerste dingen eerste.

Laat onze schets voor de één draad sleutel Pad instellen

u zult moeten downloaden van de OnewireKeypad.h-bibliotheek uit de Arduino Playground (http://playground.arduino.cc/Code/OneWireKeyPad)

Vervolgens de constructor voor het instellen moet gemakkelijk volgen van de voorbeelden.

Ik zou eerst de lezingen van de toetsen om te zien of u een betrouwbare en consistente waarden ontvangt test

Definieer uw tekentoetsen:

char [toetsen] =

{ '1', '2', '3',

'4', '5', ' 6',

'7', '8', ' 9',

'*', '0', '#',};

Gebruik functies "Key_State", en "Getkey". Hier is een snelle schets naar te sturen de sleutelwaarde seriële afdrukken

#include

char [toetsen] = {'

1', '2', '3',

'4', '5',' 6',

'7', '8',' 9',

'*','0','#',

};

OnewireKeypad

Toetsenblok (serieel, sleutels, 5, 3, A0, 4700, 1000);

VOID Setup {}

Serial.begin(115200);

}

void loop {}

Keypad.SetHoldTime(100);

Keypad.SetDebounceTime(50);

Als ((Keypad.Key_State() == 3)) {}

char ToetsIndrukken (KeyPress) = Keypad.Getkey();

Serial.println ("toets van toetsenbord:");

Serial.println(KeyPress);

terwijl ((Keypad.Key_State())) {}

}

}

De Main-schets zal afhangen van de stappenmotor en schild die u gebruikt.

Ik gebruikte 3 verschillende motoren en schild, hun foto boven zijn aangesloten.

schets voor het Seeed Shield v2.0 met de stappenmotor Nema 11

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

NEMA stappenmotor pinnen definities
#define MOTORSHIELD_IN1 8 //8

#define MOTORSHIELD_IN2 11 //11

#define MOTORSHIELD_IN3 12 //12

#define MOTORSHIELD_IN4 13 //13

#define CTRLPIN_A 9 //9

#define CTRLPIN_B 10 //10

#define delaytime 10

int numberOfSteps;

VOID Setup
{

Definiëren van de output pinnen voor de stappenmotor nema
pinMode (MOTORSHIELD_IN1, uitvoer);
pinMode (MOTORSHIELD_IN2, uitvoer);
pinMode (MOTORSHIELD_IN3, uitvoer);
pinMode (MOTORSHIELD_IN4, uitvoer);

}

void loop
{

Nema stepper motor opdrachten verplaatsen

numberOfSteps = 500;
while(numberOfSteps>0)
{vooruit();
numberOfSteps--; }
delay(2000);

}

VOID Step_A1()
{digitalWrite(MOTORSHIELD_IN1,HIGH);
digitalWrite(MOTORSHIELD_IN2,LOW);
digitalWrite(MOTORSHIELD_IN3,LOW);
digitalWrite(MOTORSHIELD_IN4,LOW);
digitalWrite(CTRLPIN_A,HIGH);
digitalWrite(CTRLPIN_B,LOW);
}
VOID Step_B1() {}
digitalWrite(MOTORSHIELD_IN1,LOW);
digitalWrite(MOTORSHIELD_IN2,LOW);
digitalWrite(MOTORSHIELD_IN3,HIGH);
digitalWrite(MOTORSHIELD_IN4,LOW);
digitalWrite(CTRLPIN_A,LOW);
digitalWrite(CTRLPIN_B,HIGH);
}
VOID Step_C1() {}
digitalWrite(MOTORSHIELD_IN1,LOW);
digitalWrite(MOTORSHIELD_IN2,HIGH);
digitalWrite(MOTORSHIELD_IN3,LOW);
digitalWrite(MOTORSHIELD_IN4,LOW);
digitalWrite(CTRLPIN_A,HIGH);
digitalWrite(CTRLPIN_B,LOW);
}
VOID Step_D1() {}
digitalWrite(MOTORSHIELD_IN1,LOW);
digitalWrite(MOTORSHIELD_IN2,LOW);
digitalWrite(MOTORSHIELD_IN3,LOW);
digitalWrite(MOTORSHIELD_IN4,HIGH);
digitalWrite(CTRLPIN_A,LOW);
digitalWrite(CTRLPIN_B,HIGH);
}
ongeldig vooruit() {}
Step_A1();
delay(delaytime);
Step_B1();
delay(delaytime);
Step_C1();
delay(delaytime);
Step_D1();
delay(delaytime);
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Schets voor de EasyDrive schild en kleine Stepper motor ROB - 10551

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Smaall stappenmotor die easydrive Shield pinnen
int EASYSHIELDdir = 2;
int EASYSHIELDstep = 3;

VOID Setup {}

EasyShield output pinnen
pinMode (EASYSHIELDdir, uitvoer);
pinMode (EASYSHIELDstep, uitvoer);
}

void loop {}
Uitvoeren van stappenmotor verbonden met EasyShield

voor (ik = 0; ik < numberOfStep; i ++)
{
digitalWrite(EASYSHIELDstep,LOW);
digitalWrite(EASYSHIELDstep,HIGH);
delayMicroseconds(5000);
}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

28BYJ Stappenmotor en schild

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Stepper motor 28BYJ pin definities
#define STEPPER1 4
#define STEPPER2 5
#define STEPPER3 6
#define STEPPER4 7
#define delaytime 8

VOID Setup {}
Definiëren van de output pinnen voor de stappenmotor 28BYj

pinMode (STEPPER1, uitvoer);
pinMode (STEPPER2, uitvoer);
pinMode (STEPPER3, uitvoer);
pinMode (STEPPER4, uitvoer);

void loop {}
while(numberOfSteps>0) {}
stepperforward();
numberOfSteps--;
}
}
VOID Step_A() {}
digitalWrite (STEPPER1, hoge);
digitalWrite (STEPPER2, hoge);
digitalWrite (STEPPER3, laag);
digitalWrite (STEPPER4, laag);
}
VOID Step_B() {}
digitalWrite (STEPPER1, laag);
digitalWrite (STEPPER2, hoge);
digitalWrite (STEPPER3, hoge);
digitalWrite (STEPPER4, laag);
}
VOID Step_C() {}
digitalWrite (STEPPER1, laag);
digitalWrite (STEPPER2, laag);
digitalWrite (STEPPER3, hoge);
digitalWrite (STEPPER4, hoge);
}
VOID Step_D() {}
digitalWrite (STEPPER1, hoge);
digitalWrite (STEPPER2, laag);
digitalWrite (STEPPER3, laag);
digitalWrite (STEPPER4, hoge);
}

ongeldig stepperforward() {}
een tand vooruit
Step_A(); delay(delaytime);
Step_B(); delay(delaytime);
Step_C(); delay(delaytime);
Step_D(); delay(delaytime);
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

We kunnen na het schrijven van de schets voor elke stappenmotor, de OnewireKeypad functie "addEventKey()" en "ListenforEventKey()" gebruiken om te bellen voor elke Stappenmotor en invoergegevens naar de waarde van een numerieke voor hun individuele stap-grootte.

Kijk naar de bijgevoegde volledige schets te zien van de volledige schets met alle de stappenmotoren LCD-display en de toetsen gebeurteniscode.

Gerelateerde Artikelen

Bouw uw eigen Kegerator voor Homebrew

Bouw uw eigen Kegerator voor Homebrew

als de titel van dit instructable uw interesse pieken, dan u waarschijnlijk brouwen of hebben uw eigen bier gebrouwen. Zo ja, dan krijg waarschijnlijk je moe van het vullen en reinigen van alle die flessen. Het bouwen van een kegerator is de beste ma
De gitaar held

De gitaar held

Na mijn eerste poging om luthiery met een kartonnen Ukulele, laten we het een niveau omhoog.Het is niet helemaal een mandoline en een banjo. Het klinkt een beetje als een elektro-akoestische-12-snarige. Het is gerelateerd aan een sigaar vak gitaar, h
Ninja Chess

Ninja Chess

Dit is een leuke verering van de set van de klassiek Schaken waar de traditionele schaakstukken zijn vervangen door "leuk en schattig" Ninja tekens.U kunt leren Schaken maar dit Instructable. Als u wilt meer informatie over Ninjas dan adviseer i
Hoe te ontwerpen en bouwen van een go kart.

Hoe te ontwerpen en bouwen van een go kart.

Hallo is iedereen, dit Instructable een samenwerkingsverband van negen jaar 10 technische studenten werken. Hun taak is om te werken als een team om te onderzoek, ontwerp en bouwen van een go kart, met behulp van gezonde engineering beveiligings-prin
KOPKAST ONE - meer dan alleen de drager van een Heavy-Duty (gereedschap)

KOPKAST ONE - meer dan alleen de drager van een Heavy-Duty (gereedschap)

' nooit stoppen met opleiding' is een van mijn favoriete citaten."Fouten maken is leuk - u zult het veel beter volgende keer doen" is ook een van mijn favoriete citaten.... ' Wanneer the going gets tough, the tough get gaan' is ook, ja.Maar mijn
Multi persoonlijkheid waarzegster

Multi persoonlijkheid waarzegster

Dit Arduino project is een throwback aan verschillende carnaval en nieuwheid arcade games van toen ik een kind was. Ik heb vele Arduino projecten gedaan, maar dit is mijn eerste project dat mijn eigen ontwerp was. Voorafgaand aan dit, ik over het alg
DIY X Y as Conveyor draaibank zelfgemaakte Mini Router hout dia CNC frezen

DIY X Y as Conveyor draaibank zelfgemaakte Mini Router hout dia CNC frezen

DIY X Y as Conveyor draaibank zelfgemaakte Mini Router hout dia CNC frezenMaterialen:4-delige aluminiumlegering 420 x 42 x 12 mm1 stk aluminiumlegering 290 x 42 x 12 mm voor X1 stk aluminiumlegering 240 x 42 x 12 mm voor Y1 stk Aluminium 90 x 90 x 8
DIY X Y Z as dia zelfgemaakte houten molen CNC metaal frezen Router

DIY X Y Z as dia zelfgemaakte houten molen CNC metaal frezen Router

DIY X Y Z as dia zelfgemaakte houten molen CNC metaal frezen RouterMaterialen voor 80 mm veerweg1 pcsFL08 2 bout 8mm boring zelf uitlijnen flens kogellager1 stk Aluminium 200 x 90 x 12 mm2 stuks Aluminium 90 x 40 x 12 mm1 stk Aluminium 90 x 80 mm x 3
Zelfgemaakte Mini PCB CNC frezen Router molen DIY spindel Collet ER11 as dia fase Frame Aluminium

Zelfgemaakte Mini PCB CNC frezen Router molen DIY spindel Collet ER11 as dia fase Frame Aluminium

Zelfgemaakte Mini PCB CNC Router molen DIY spindel Collet ER11 as dia fase Frame Aluminium frezenZelfgemaakte X as Schuif hier:Zelfgemaakte Y as Schuif hier:Zelfgemaakte Z as Slide hrer:Materialen voor X Y Z-as DIYCollet ER11 Spinde DIY2 stuks FL08 2
Zelfgemaakte Mini CNC frezen Router molen DIY X podium Frame as dia Aluminium

Zelfgemaakte Mini CNC frezen Router molen DIY X podium Frame as dia Aluminium

Zelfgemaakte Mini CNC Router molen DIY X podium Frame as dia Aluminium frezenMaterialen voor X-as DIY1 stk FL08 2 bout 8mm boring zelf uitlijnen flens Ball Bearing2 stuks Aluminium profiel 300 x 42 x 12 mm1 stk Aluminium profiel 190 x 80 x 10 mm1 stk
Wood Shop Scrap Bins

Wood Shop Scrap Bins

Zoals de meeste hout winkels die een open gebied onder de workbench, al snel accumuleert aller links en restanten hout eronder. Toen ik gegraven alle van mij uit om de vloer schoon te maken, besloten heb ik om te komen met een betere manier. Ik dacht
Handtas gemaakt van kat foto

Handtas gemaakt van kat foto

Afdrukken en naai een patroon van een handtas van de leukste foto van de kat bent u in staat om te vinden of die u zelf uitlijnen. De riemen zijn verstelbaar, zodat ze kunnen worden samengebonden op verschillende lengtes, waardoor de drager veel styl
Zelfgemaakte Scara Robot Arm Robotic Draw met Arduino Control

Zelfgemaakte Scara Robot Arm Robotic Draw met Arduino Control

Zelfgemaakte Scara Robot Arm Robotic vestigen controle van de Arduino DIY Laser graveren Frame 3D Printer, PlotterMaterialen:1 stk 57 mm stappenmotor 1.8 graden nemen van oude fotokopie machine1 stk 42 mm stappenmotor 1.8 graden nemen van oude fotoko
USB microscoop begeleide PCB Drill

USB microscoop begeleide PCB Drill

De meeste van de printplaten die ik thuis maak zijn eenvoudige enkel eenzijdig planken. Boren vereisten zijn minimaal, meestal gaten monteren van de Raad van bestuur en een occasionele via holes component of verbindingslijn die is alleen gesoldeerd a