INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
360° Kamera Steuerung mit Gopro
27.07.2016, 20:10 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2016 20:22 von ardu1n1x.)
Beitrag #1
360° Kamera Steuerung mit Gopro
Hallo,

ich möchte eine 360° Kamera-Steuerung verwirklichen.
Das Projekt ist von thingiverse (LINK zum Projekt).
Habe die Kamerahalterung schon ausgedruckt und alle Elektronik-Teile sind auch schon da:
-Witty Wifi ESP8266 Board
-Schrittmotor 28BYJ-48 mit ULN2003 5 Schrittmotor-Board
-9g Servo

Jetzt bin ich nur am verzweifeln wie ich die Teile verkabeln muss.
Ich hoffe ihr könnt mir dabei helfen.
Und wie Programmiere ich das Witty Board ? Undecided


Der Code ist dieser hier:
Code:
/********************************************************************************​********
* Full automatic 360 panorama by Pixelmagic - http://www.thingiverse.com/thing:1526752 *
********************************************************************************​*******/
#include <ESP8266WiFi.h>
#include <Servo.h>
#include <AccelStepper.h>

/*********************************
* YOUR SETTINGS *
*********************************/
const char * ssid = "wifiname";       // Your GoPro Wifi name (SSID)
const char * password = "password";   // Your GoPro WiFi password
/*********************************
* NO EDIT NEEDED BELOW THIS LINE *
*********************************/
const char * host = "10.5.5.9";
const int httpPort = 80;
int delshort = 50;
int dellong = 500;
int value;
int buttonstate;
// button en led GPIO
const int buttonPin = 4;
const int ledRed = 15;
const int ledGreen = 12;
const int ledBlue = 13;

// Motor pin definitions
#define motorPin1  14     // IN1 on the ULN2003 driver 1
#define motorPin2  5      // IN2 on the ULN2003 driver 1
#define motorPin3  12     // IN3 on the ULN2003 driver 1
#define motorPin4  13     // IN4 on the ULN2003 driver 1
#define servo_tilt 16     // servo pin
#define HALFSTEP 8
Servo tilt;

// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
int steps[] = { 680,1360,2040,2720,3400,4076,0 }; // 6 steps
int nosteps = 6;
int curstep = 0;
int start = 0;

void setup() {
    Serial.begin(115200);
    delay(100);
    pinMode(buttonPin, INPUT);
    pinMode(ledRed, OUTPUT);
    pinMode(ledGreen, OUTPUT);
    // red LED on - init started
    digitalWrite(ledRed, HIGH);
    // stepper settings
    stepper1.setMaxSpeed(1500.0);
    stepper1.setAcceleration(300.0);
    stepper1.setSpeed(300);
    stepper1.move(1);
    // init servo
    tilt.attach(servo_tilt);
    tilt.write(10);
    // wifi feedback
    Serial.print("Connecting to ");
    Serial.println(ssid);
    WiFi.begin(ssid, password);
    // wait for wifi to connect
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");
    digitalWrite(ledRed, LOW);
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    String url = "/camera/CM?t="; url += password; url += "&p=%01";
    Serial.println("Switch to Photo mode");
    Serial.print("Requesting URL: ");
    Serial.println(url);
    WiFiClient client;
    if (!client.connect(host, httpPort)) {
        Serial.println("connection failed");
        digitalWrite(ledRed, HIGH);  
        return;
    }
    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
        "Host: " + host + "\r\n" +
        "Connection: close\r\n\r\n");
    delay(10);
    Serial.println();
    Serial.println("closing connection");
    buttonstate = 1;
    digitalWrite(ledGreen, HIGH);
}

void loop() {
  // read gpio for button press
  buttonstate = digitalRead(buttonPin);
  // is button pressed ?
  if (buttonstate == HIGH) {
    // no button pressed
  } else {
    // yes, start photo sequence
    if (start == 0) {
        Serial.println(" * Start *");
        // set phase one - rotate and snapshot
        start = 1;
        // Lit red LED to let you know that button is pressed
        digitalWrite(ledRed, HIGH);
        digitalWrite(ledGreen, LOW);
        // wait 2 seconds to get away from camera
        delay(2000);
    }
  }    
  // check if we have started
  if (start != 0) {  
       if (start == 1) {  
          // is stepper at end position ?
          if (stepper1.distanceToGo() == 0) {
            // debug print position
            Serial.print(curstep);
            // make snapshot after 1st run
            if (curstep != 0) {
                makepicture();
                delay(1000);
            }
            // move stepperto next position
            stepper1.moveTo(steps[curstep]);
            // increase step counter
            curstep++;
            // if we have reached max nr of steps start phase 2
            if (curstep > nosteps) {
              // set phase 2
              start = 2;
            }
          }
      }
      // phase 2 - look up and snapshot
      if (start == 2) {
            Serial.print("Look up");
            // look up
            tilt.write(90);
            delay(1000);
            makepicture();
            delay(1000);
            // reset to default
            tilt.write(10);
            start = 3;  
            Serial.println("Return to start position");    
      }
      // phase 3 - return
      if (start == 3) {
            // return to original position (to avoid servo wires geting stuck
            stepper1.moveTo(0);    
            if (stepper1.distanceToGo() == 0) {
              digitalWrite(ledGreen, HIGH);
              digitalWrite(ledRed, LOW);
              Serial.println("Ready !");
              start = 0;
              curstep = 0;
            }                
      }
      
      // if we are in phase 1 move stepper
      if (start == 1) stepper1.run(); // rotate stepper
      // also in phase 3 - return to start position
      if (start == 3) stepper1.run(); // rotate stepper
  }
}

void makepicture() {
  WiFiClient client;
  if (!client.connect(host, httpPort)) {
      Serial.println("connection failed");    
      return;
  }
  String url = "/camera/SH?t="; url += password; url += "&p=%01";
  Serial.println(" Click !");
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
      "Host: " + host + "\r\n" +
      "Connection: close\r\n\r\n");
  delay(1000);
}


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.07.2016, 18:10 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2016 18:10 von ardu1n1x.)
Beitrag #2
RE: 360° Kamera Steuerung mit Gopro
Danke für die Antwort!

Ich versuche gerade auf das Witty Board zu schreiben, was habe ich denn hier für einen Fehler produziert?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2016, 08:53
Beitrag #3
RE: 360° Kamera Steuerung mit Gopro
Libraries müssen in der Arduino Software installiert sein.

Einfachste Variante:
"Libraries verwalten" im Menü

Oder manuell:
Library runterladen und in den Ordner Arduino/Libarys ablegen.


Zuletzt die Arduino Software neu starten, dann wird der Ordner automatisch durchsucht und - wenn man alles richtig gemacht hat - auch die fehlende Libary gefunden.

Ich geb zu, bei mir braucht das manchmal einige Anläufe Big Grin

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2016, 16:50
Beitrag #4
RE: 360° Kamera Steuerung mit Gopro
Vielen Dank für eure Hilfe !

Daran lag es wohl. Blush

Hab es nach längerem hin und her dann irgendwie geschafft es zum laufen zu bekommen.

Funktioniert auch Big Grin

Jetzt hab ich nur noch ein kleines Problem mit dem Servo.
Der Summt die ganze Zeit, außer wenn er sich dreht.
Und der Servo dreht die Kamera auch nicht ganz genau Horizontal, um ein Bild vom Himmel zu machen, wie kann ich das im Code nachjustieren ?

Grüße


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2016, 16:59
Beitrag #5
RE: 360° Kamera Steuerung mit Gopro
Ja, ich hatte für den Servo und das Schrittmotor Modul eine extra Stromquelle (5V Netzteil).
Das Witty Board hab ich direkt mit einem USB-Kabel vom PC mit Strom versorgt.

Der Code ist noch der gleiche wie oben im ersten Post.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.11.2016, 19:53
Beitrag #6
RE: 360° Kamera Steuerung mit Gopro
bin neu und habe dieses Projekt erst heute entdeckt.
So einen 360-Grad-Schwenk-Kopf werde ich mir als nächstes auch bauen, allerdings für eine Spiegelreflex-Kamera.
Bisher habe ich nur ein Konzept und einige Test gemacht.

Mit Servo hatte ich keine brauchbaren Ergebnisse. Die zitterten alle, was für Videoaufnahmen schlecht ist.
Ich empfehle den Schrittmotor 28YBJ-48 zu nehmen. Der hat die Treiberplatine gleich dabei und kostet umara 5 €.
Im Sketch fährt man einen Null-Punkt an, dann zählt man die Schritte. Somit kann man die Schwenk's programmieren, testen und letzendlich für die Aufnahme abfahren.

Es wäre schön zu lesen, ob das Projekt schon fertig ist oder wie es weitergeht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2016, 07:30
Beitrag #7
RE: 360° Kamera Steuerung mit Gopro
schönes Projekt, danke für den Hinweis.
Inzwischen ist davon sogar eine V2 auf thingiverse. Schön finde ich daran die Verwendung einer WS2812 LED, da am ESP Pins immer knapp sind.
Leider stelle ich mich zu blöd an den Sketch zur V2 zu finden. Ich finde nur die neuen 3D-Teile. Kommentar am 29.08. von pixelmagic "You will also need the software, going to add that later this week." Hat den Sketch schon jemand bekommen und könnte ihn zur Verfügung stellen? Sonst bleibt nur zu hoffen, daß die Woche bald vorbei ist...

Pardini
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2016, 10:11
Beitrag #8
RE: 360° Kamera Steuerung mit Gopro
Den Schrittmotor 28BYJ48 mit angelöteter Treiberplatine habe ich für meinen Kamera-Schwenkkopf geplant.
Eine größere Kamera sollte immer gut in der Waage liegen, dann sind die Kräfte nicht zu groß, die der Motor aufbringen muss.
Der Link dazu sollten Dir weiterhelfen.
Grundlagen zu 28BYJ48
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  DIY Arduino Timelapse Slider Steuerung Uwe1475 6 639 12.11.2016 10:41
Letzter Beitrag: Uwe1475
  Serielle Eingabe zur Steuerung einer RGB-LED Tommy56 5 600 22.07.2016 18:32
Letzter Beitrag: Tommy56
  Terrarien Steuerung Lais1970 1 1.581 21.09.2015 16:04
Letzter Beitrag: hotsystems
  KFZ Steuerung mit Nfc nice123 7 2.387 07.08.2015 10:26
Letzter Beitrag: hotsystems
  Anfänger: Garten Beleuchtung + Steuerung CoreXY 13 4.490 14.07.2015 13:34
Letzter Beitrag: Hilgi
  Mithilfe bei Rasenroboter-Steuerung (Ardumower) alexandergrau 8 4.326 13.07.2015 08:18
Letzter Beitrag: rdharry
  Arduino Ethernet Kamera 4711engel 3 2.503 03.06.2015 16:23
Letzter Beitrag: 4711engel
  Steuerung eines höhenvestellbaren Luftfahrwerk m@rkus 1 1.614 05.05.2015 17:45
Letzter Beitrag: dqb312
Lightbulb Steuerung einer Modellbahn mit Arduino und PC via ethernet nilsh 8 5.283 19.03.2015 18:10
Letzter Beitrag: Home38
  Steuerung Velleman Roboterarm BonsEiki 2 1.460 17.01.2015 17:27
Letzter Beitrag: BonsEiki

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste