DIY motorisierten beweglichen Zeitraffer Kameradolly mit Arduino (6 / 7 schritt)

Schritt 6: Software


Auf die Software dann! Es ist ein Work In Progress, aber Sie bekommen die Idee. Der Code ist nicht die beste, aber ich habe viele Kommentare für einfache Änderungen. Ich hatte auch eine Version mit Bluetooth senden Info auf meinem android-Handy, aber es war ein Overkill...
Also, beginnt wenn man den Schalter in eine Richtung auf der anderen drehen und wenn die Kamera nicht den entsprechenden ausgelöst hat Reed-Schalter der Kamera bewegen und fotografieren. Wenn Sie die Taste beim bewegen, beginnt die Kamera bewegt sich schnell, für debugging-Zwecke. Auch wenn Sie die Taste während der 3-State-Kippschalter in middle(-off) ist gibt es eine Panoramafunktion. Die Möglichkeiten der Bewegungen, die Kombination von Servo und dc Motor sind keine Grenzen gesetzt.

#include < AFMotor.h >
#include < Servo.h >
#include < SoftwareSerial.h >

SoftwareSerial MySerial (A3, A2); RX, TX

AF_DCMotor motor(4); Motor #4, 64KHz Pwm zu erstellen
Servo Servo;

Int SwDirFor = 2;    Schaltfläche "vorwärts"
Int SwDirBack = 3;    Schaltfläche "rückwärts"
Int SwStopBeg = 10;  Stop1 Taste
Int SwStopEnd = A1;  Schaltfläche "STOP2"
Int SwPhoto = 11;  SW-Relais für Foto
Int ServoPin = 9;  servopin
Int Schritte = 100;  Schritt Dauer 1200 fotos
Int ServoPos = 96;  Mittelstellung des servo
Int ServoStart = 20;   Startposition des Servos
Int ServoStop = 155;   Endposition der servo
Int ServoPot = A0;  PIN des Servo-Topf
Int NoOfSteps = 0;  Anzahl der Schritte
Int SwFast = A5; SW für schnelle Bewegungen
Int ich = 0; //for Schleife

void setup() {}

mySerial.begin(9600);
Serial.Begin(9600);  Serielle Bibliothek auf 9600 Bit/s einrichten
Servo.Attach(servoPin);  servopin


motor.setSpeed(200);     Stellen Sie die Geschwindigkeit auf 200/255
pinMode(swDirFor,INPUT);
pinMode(swDirBack,INPUT);
pinMode(swStopBeg,INPUT);
pinMode(swStopEnd,INPUT);
pinMode(servoPin,OUTPUT);
pinMode(swPhoto,OUTPUT);
pinMode(servoPot,INPUT);
pinMode(swFast,INPUT);
digitalWrite(swPhoto,LOW);
servoMove(servoPos);

}
///////////////////////////////////////////////////////////////
void loop() {}

Wenn (mySerial.available()) {}
mySerial.write('a');
mySerial.print ("Taste Stop Ende:");
mySerial.println(digitalRead(swStopEnd));
}

Serial.Print ("Schaltfläche Status für:");
Serial.println(digitalRead(swDirFor));
Serial.Print ("Schaltfläche" Zustand zurück: ");
Serial.println(digitalRead(swDirBack));
Serial.Print ("Taste Stopp Beg:");
Serial.println(digitalRead(swStopBeg));
Serial.Print ("Taste Stop Ende:");
Serial.println(digitalRead(swStopEnd));

Serial.Print ("Servo-Topf:");
Serial.println(analogRead(servoPot));

Serial.Print ("schneller Wechsel:");
Serial.println(digitalRead(swFast));

servoPos=map(analogRead(servoPot), 0,1024,1,180);
servoMove(servoPos);

Vorwärtsbewegung
während ((digitalRead(swDirFor)==1)) {}
Wenn (digitalRead(swStopEnd)==0) {}
Serial.println ("BREAK-StopEnd");
zu brechen;
} //if schließen
während (digitalRead(swFast)==1) {}
Serial.println("FF");
runMotor(0,1000);
} //while SwFast schließen

NoOfSteps ++;
runMotor(0,steps);
Verzögerung (750); //final delay(2k-1hour)
takeFoto();
} //while SwDirFor) == 1 schließen

Rückwärtsbewegung
während ((digitalRead(swDirBack)==1)) {}
Wenn (digitalRead(swStopBeg)==0) {}
Serial.println ("BREAK-StopBeg");
zu brechen;
} //if schließen
während (digitalRead(swFast)==1) {}
Serial.println("FB");
runMotor(1,1000);
} //while SwFast schließen

runMotor(1,steps);
NoOfSteps ++;
servoMove(160);
Verzögerung (1000); //final Verzögerung
takeFoto();
} //while SwDirBack) == 1 schließen

Servo-Bewegung
Wenn ((digitalRead(swFast)==1)) {}
Serial.println ("Mesa Sto wenn");
servoMove(20);
Verzögerung (2000), //time, Servo zu bewegen, zum Start pos
für (ich = 20; ich < = 155; (i = i + 27)) {
Serial.println ("Mesa Sto für");
servoMove(i);
Delay(2000);
takeFoto();
Delay(100);
NoOfSteps ++;
} //for schließen
} //if schließen

Delay(500);
Serial.Print ("Schritte:");
Serial.println(noOfSteps);

} //loop schließen

Routine für die Bewegung / / /
void RunMotor (Int Dir, Int Schritte) {}
Schalter (Dir) {}
Fall 0:
Serial.println ("vorwärts");
Motor.Run(Forward);      Schalten Sie ihn in Zukunft
Delay(Steps);
Motor.Run(Release);      gestoppt
Serial.println ("Stop nach vorn");
zu brechen;
Fall 1:
Serial.println("Backward");
Motor.Run(Backward);
Delay(Steps);
Motor.Run(Release);
Serial.println ("Stop rückwärts");
zu brechen;
} //switch schließen
Verzögerung (100);
} //runMotor schließen

//Routine foto//////////////////////////////////////////////////
void takeFoto() {}
Verzögerung (500);
Serial.Print ("CLICK!");
digitalWrite(swPhoto,HIGH);
Delay(1500);
digitalWrite(swPhoto,LOW);


} //takeFoto schließen

//Routine servo//////////////////////////////////////////////////
void ServoMove (Int pos) {}
Servo.Write(POS);     Servo zu gehen, um die position in der Variable "pos" zu sagen

Serial.Print ("Servo-Umzug nach:");
Serial.println(POS);
Delay(150);                       wartet 15ms für das Servo in die Position zu erreichen
} //servo schließen

In Verbindung stehende Artikel

DIY Android Bluetooth PC-Gamepad mit Arduino Leonardo

DIY Android Bluetooth PC-Gamepad mit Arduino Leonardo

Tutorial und Test-video:Link zu der App Inventor und Arduino Datei im Youtube-video-Beschreibung.Schritt 1: Teileliste, Verkabelung und spielen -Arduino Leonardo (Leonardo-Board sind Tastatur und Maus-Emulation. Im mit pro Mikro)-Bluetooth-Modul (Im
DIY-ein Fahrrad-Rücklicht mit Arduino

DIY-ein Fahrrad-Rücklicht mit Arduino

Ich bin ein begeisterter Radsportler.Vor Jahren, als ich einen schönen jungen Mann bin hatte ich in meinem zweiten Jahr am College, die Fahrt von Sichuan nach Tibet, die berühmten G318 in China abgeschlossen. Es bekannt als der weltweit schönsten und
DIY-Kronleuchter - LED Blüten (mit Arduino gesteuert)

DIY-Kronleuchter - LED Blüten (mit Arduino gesteuert)

Dies ist ein Schritt für Schritt, wie ich die LED-Blüten gemacht. Ich habe 30 von Ihnen, einen Kronleuchter schaffen.Dies war ein Workshop in The Edge in Brisbane ist Teil der State Library of Queensland statt.Sie können Ihre Lichter aus einer Batter
DIY-Virtual Reality Skateboard Erfahrung mit Arduino und Google Pappe

DIY-Virtual Reality Skateboard Erfahrung mit Arduino und Google Pappe

Dies ist ein wirklich einfach und macht Spaß-Projekt, die etwa eine Stunde erfolgen kann. Auf der Unterseite des Skateboards ist ein Beschleunigungsmesser/Gyro mit einem Arduino-Board, das überträgt die Winkelbewegung des Boards per Bluetooth an ein
Die Herstellung von einem DIY-bürstenlose Gimbal mit Arduino

Die Herstellung von einem DIY-bürstenlose Gimbal mit Arduino

Dies ist eine Geschichte von mein drittes Projekt mit günstigen Gyro und Arduino.Nach den früheren beiden Projekten Leicht invertierte Pendel und 3D Kalligraphie, ich gedacht, so dass Kamera Gimbal mit Arduino. Dann hatte ich drei Richtlinien für das
DIY-Bluetooth Telefon gesteuert BB-8 Droid mit Arduino UNO

DIY-Bluetooth Telefon gesteuert BB-8 Droid mit Arduino UNO

Ich bin ein großer Star Wars Fan und als ich sah, dass der Star Wars: The Force erwacht ich dachte, dass ich einen BB-8 Droiden brauchen. Es war toll, wie dieses kleine Kugel im Film bewegt. Also beschloss ich, dass ich diese Droid machen werde, die
PHloat2 DIY saures Wasser testen Skulptur & kit mit Arduino

PHloat2 DIY saures Wasser testen Skulptur & kit mit Arduino

pHloatpHloat ist ein DIY-Kit, die für den Einsatz in Verbindung mit einem Pre-owned / vorbestehende Arduino-Mikrocontroller besteht. Es soll die pH-Werte in Flüssen, Seen und Bäche durch den Zustrom von Luft- und Wasserverschmutzung, häufig verursach
AtoZ RC Hobby + DIY radio mit ARDUINO

AtoZ RC Hobby + DIY radio mit ARDUINO

Wikipedia definiert RC-Fahrzeug alsEine Fernbedienung Fahrzeug ist jedes Fahrzeug, das durch ein Mittel aus der Ferne gesteuert wird, die nicht seine Bewegung mit einem externen Ursprung auf das Gerät beschränkt. Dies ist oft ein Radio Steuergerät Ka
DIY-digitale u/min Drehzahlmesser | Drehzahlmesser mit Arduino

DIY-digitale u/min Drehzahlmesser | Drehzahlmesser mit Arduino

Hallo Leute, ich schreibe diesen Artikel, um mein neuestes Projekt DIY u/min Drehzahlmesser teilen oder man kann sagen, Drehzahlmesser. Beim Erstellen eines Projekts viele Male müssen wir Motordrehzahl überprüfen und wir brauchen u/min Drehzahlmesser
DIY-TV LCD-Bildschirm mit Arduino und intelligente Fernbedienung

DIY-TV LCD-Bildschirm mit Arduino und intelligente Fernbedienung

In den nächsten folgenden Schritten Sie machen eine DIY "TV" mit Code für einen Smart remote, und tatsächlich spielen Videos und möglicherweise sogar die intelligente Fernbedienung an den tatsächlichen Motherboard anschließen.Materialien:Folie/S
DIY-Webserver mit Arduino Mega 2560

DIY-Webserver mit Arduino Mega 2560

In dieses DIY-Projekt machen wir uns einen kleinen Webserver mit W5100 Schild und Arduino Mega 2560,Lasst uns uns selbst begann,Bereiten Sie alle Teile...Schritt 1: Die Ersatzteile für diese DIY 1. Arduino Mega 25602. W5100 Ethernet shield(3) Lan-Kab
DIY-handgemachte Hexapod mit Arduino (Hexdrake)

DIY-handgemachte Hexapod mit Arduino (Hexdrake)

Hallo, ich bin David und in diesem instructable ich werde zeigen, wie ich diese Hexapod erfolgt dessen Name Hexdrake.Seit ich 16 war, interessierte mich in elektronischen und später in der Robotik. Nach immer gewisse und Programmierkenntnisse mit Ard
Home Automation DIY-Projekt mit Arduino UNO & Ethernet Shield

Home Automation DIY-Projekt mit Arduino UNO & Ethernet Shield

"Das Hauptziel dieses Projektes ist, dass Haushaltsgeräte wie Fernseher, Ventilator, Schlauchlicht oder alles, was mit Ihrem Computer oder tragbaren Gerät steuern"Das Herz dieses Projektes ist Ethernet Shield und das Gehirn dieses Projektes ist
DIY Facebook Notifier mit Arduino - Arduino Facebook Notifier (v.0.1.1) - Open Source Projekt

DIY Facebook Notifier mit Arduino - Arduino Facebook Notifier (v.0.1.1) - Open Source Projekt

für ein Projekt erstmals das ist ziemlich beeindruckend - Arduino-Forum-Mitglied Apolikamixitos hat Details zu seiner Open-Source-Facebook-Statusmelder veröffentlicht. Sie werden auf neue Nachrichten, Benachrichtigungen oder Freundschaftsanfragen mit