loop aantal keer (panorama statiefkop)
4 berichten
• Pagina 1 van 1
loop aantal keer (panorama statiefkop)
Ik ben bezig met een panobot, een automatische panorama statiefkop. Voor mij is eigenlijk alles nieuw, elektronica en arduino. Ik heb een simpel programma geschreven wat een stappenmotor een bepaalde rotatie laat maken (90 graden) en vervolgens een foto neemt. Ik wil deze code 4x uit laten voeren en dan laten stoppen. Hoe kan ik dit voor elkaar krijgen?
Dit is de code die ik tot nu toe heb:
Dit is de code die ik tot nu toe heb:
- Code: Alles selecteren
#define SHUTTER_PIN 7
int Distance = 0; // Record the number of steps we've taken
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
void loop()
{
digitalWrite(9, HIGH);
delayMicroseconds(60);
digitalWrite(9, LOW);
delayMicroseconds(60);
Distance = Distance + 1; // record this step
// Check to see if we are at the end of our move
if (Distance == 21481) // 4 fotos per omwenteling (stappenmotor met 1:26 gearbox en shield met microstappen (1:16)
{
Distance = 0;
// Now pause for a second
delay(1000);
digitalWrite(SHUTTER_PIN, LOW);
delay(2000); // lengte schots
digitalWrite(SHUTTER_PIN, HIGH);
}
}
Advertisement
Re: loop aantal keer (panorama statiefkop)
- Code: Alles selecteren
#define SHUTTER_PIN 7
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
void loop(){
fotoOp(21481);// 4 fotos per omwenteling (stappenmotor met 1:26 gearbox en shield met microstappen (1:16)
fotoOp(21481);
fotoOp(21481);
fotoOp(21481);
while(1);
}
void fotoOp(unsigned long DistanceMax){
for (unsigned long Distance =0; Distance < DistanceMax; Distance++){
digitalWrite(9, HIGH);
delayMicroseconds(60);
digitalWrite(9, LOW);
delayMicroseconds(60);
}
// Now pause for a second
delay(1000);
digitalWrite(SHUTTER_PIN, LOW);
delay(2000); // lengte schots
digitalWrite(SHUTTER_PIN, HIGH);
}
Ik heb de inhoud van je loop naar een aparte void verplaatst. Deze roep ik vervolgens vanuit de loop gewoon 4 keer aan.
Met de while(1) opdracht, blijft hij hangen in een oneindige loop. '1' blijft immers altijd 'waar' in de digitale wereld.
Ik snap alleen niet hoe je die stepper aanstuurt. Daarom weet ik niet of je code anders moet.
Re: loop aantal keer (panorama statiefkop)
Hallo Hanskes,
ik ben erg benieuwd of je project gelukt is.
Als dat kan/mag wil ik een zelfde project beginnen.
In eerste instantie met één stappenmotor en een relais voor de camera ontspanknop.
Heb jij het stand-alone werkend, zodat je het ook op locatie kunt gebruiken?
ik ben erg benieuwd of je project gelukt is.
Als dat kan/mag wil ik een zelfde project beginnen.
In eerste instantie met één stappenmotor en een relais voor de camera ontspanknop.
Heb jij het stand-alone werkend, zodat je het ook op locatie kunt gebruiken?
Re: loop aantal keer (panorama statiefkop)
een arduino werkt goed standalone, alleen de stappenmotor trekt best veel vermogen, en je zult dus een kleine accu nodig hebben.
microsteppen is niet erg precies dus beter een groter gearbox kiezen en volle stappen gebruiken, verder na elke stap uitzetten dan spaar je energie, dus even snel naar de volgende positie en dan stroom uit naar motor.
voor het aantal stappen zie andere discussie
microsteppen is niet erg precies dus beter een groter gearbox kiezen en volle stappen gebruiken, verder na elke stap uitzetten dan spaar je energie, dus even snel naar de volgende positie en dan stroom uit naar motor.
voor het aantal stappen zie andere discussie
paul deelen
shooter@home.nl
shooter@home.nl
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 16 gasten