USB Remote Control

Kamera-Hardware, Selbstbaufernbedienung und sonstige Hardware-Erweiterungen

USB Remote Control

Beitragvon msl » 19.03.2008, 14:24

Hallo,

Wer Interesse an einer kabelgebundenen Fernauslösung hat, kann jetzt weiterlesen. :D


Zuerst machen wir einen Funktionstest. Dazu ist folgendes Skript notwendig:

Code: Alles auswählen
@title USB Remote Control
while 1
  wait_click 1
  if is_key "remote" then shoot
wend

end


Schließt nun das USB-Kabel an die Kamera an und startet das Skript in einem Aufnahmemodus. Jetzt sollte das USB-Kabel an den Computer angeschlossen werden. Sobald der Kontakt hergestellt ist, wird der Befehl "shoot" ausgeführt. Passiert nichts, ist die verwendete CHDK-Version nicht geeignet.



Ich habe nun aus einem USB-PS/2-Adapter und einer Minitaschenlampe einen USB-Fernauslöser gebaut. Als Werkzeuge waren Cuttermesser, Lötkolben und ein Multimeter im Einsatz.

Der USB-PS/2-Adapter liegt meistens beim Neukauf einer Maus oder Tastatur bei. Deshalb ist die Beschaffung unkompliziert und kostenlos.

Die Minitaschenlampe bekommt man z. B. bei Conrad (Artikel-Nr. 574737-62 ca. 4 Euro). Sie wird mit 3 Knopfzellen á 1,5 Volt betrieben. Somit hat man eine ausreichende Schaltspannung. Außerdem hat diese Lampe einen sehr guten Taster mit einem spür- und hörbaren Klick.

Als erstes wird das Adaptergehäuse an den Nahtstellen mit einem Cuttermesser mit etwas Geschick aufgeschnitten. Wenn dies gelungen ist, werden nun die Lötanschlüsse der USB-Buchse freigelegt. Dazu braucht man etwas Geduld, da das Innenleben des Adapters mit einer relativ weichen Plastikmasse vergossen ist. Hat man die USB-Buchse freigelegt, sind die schlimmsten Arbeiten erledigt.

Nun wird an der Taschenlampe der Kopf abgeschraubt. Damit hat man freien Zugang zur LED. Diese ist gesteckt und kann damit einfach entfernt werden. Jetzt benötigt man ein Multimeter oder Durchgangsprüfer, um die Polarität festzustellen. Da das Gehäuse dieser Lampe aus Metall ist, läßt sich dies auch mit einem Durchgangsprüfer feststellen. ACHTUNG: Bei diesem Teil liegt PLUS am Gehäuse. Das ist Knopfzellen-bedingt.

Jetzt brauchen wir Schaltdraht (2x ca. 3-4 cm), der in etwa die Stärke der Anschlüsse der LED hat (Litze ist nicht geeignet). Diesen löten wir jeweils an die Plus- und Minuskontakte der USB-Buchse. Die andere Seite wird in die Steckkontakte (LED) der Taschenlampe gesteckt (Polarität beachten!!!).

Es sollte nun ein erster Funktionstest erfolgen. Ist dieser erfolgreich, kann zusammengebaut werden. Dazu muss am Adapter auf der runden Seite der Durchmesser noch etwas durch Feilen oder Schmirgeln verringert werden, bis der abgeschraubte Lampenkopf straff durch Pressen draufpasst. Damit stellen wir dann die Verbindung zwischen Lampe und Adapter her.

Die Endmontage kann sich dann sicherlich jeder vorstellen. Die Nahtstellen des Adaptergehäuses habe ich mit einem Tropfen Sekundenkleber geschlossen.

Bild

:!: Ich übernehme natürlich keine Garantie für evt. Schäden!!! :!:
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon CHDKLover » 19.03.2008, 18:05

Hallo msl,
das ist eine sehr kreative und geniale Lösung. 8)
Ich habe zu Versuchszwecken mir 2 andere Varianten gebaut. Eine, bei der mein Handyakku (3,7V) als Spannungsquelle dient und die 2. Variante habe ich mir EWAVR abgeschaut. Die Kopfzelle bringt in meinen Tests zwar nur 2,86V, reicht aber für meine Kamera völlig aus.

Bild

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon CHDKLover » 22.03.2008, 17:09

Hinweis: Bevor man das USB Remote benutzen kann muss man im Scriptmenü den Option "Remote Enable (USB)" aktiviert haben.

[Bild entfernt, da Link veraltet]

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon CHDKLover » 24.03.2008, 19:12

Hallo,
ich hoffe ihr hattet alle ein schönes Osterfest und ein erholsames Wochenende. Ich habe mich gefragt, warum sollte man nicht einfach ein komplettes Script Remote starten/anhalten kann. Also egal ob man, im "Alt-Modus", den Auslöser betätigt oder über den USB ein Signal gibt. Um das CHDK mit dem Feature zu erweitern, hab ich die Datei "core/kbd.c" um ein paar Zeilen erweitert. Wen es interessiert:

Neue globale Variable anlegen, zum Beispiel in Ziele 43:
Code: Alles auswählen
int remote_start_ready=0;

Und folgende 2 Funktionen ab ca. Zeile 380 einfügen
Code: Alles auswählen
   if (get_usb_power(1)){
      if (!state_kbd_script_run) remote_start_ready=1;
   }
   
   if (!get_usb_power(1) && remote_start_ready){
      remote_start_ready=0;
      key_pressed = 100;
      if (!state_kbd_script_run){
         script_console_clear();
         script_console_add_line("***Remote Start***");
         script_console_add_line(lang_str(LANG_CONSOLE_TEXT_STARTED));
         script_start();
   } else {
         script_console_add_line(lang_str(LANG_CONSOLE_TEXT_INTERRUPTED));
         script_end();
      }
   }

Update:
Kleinen Bug behoben, alte Scripte in denen Remote verwendet wurden laufen jetzt ganz normal.
Hinweis: Das Beispielscript von msl ist Remote nicht unterbrechbar, da es bei einem Remotesignal ein Foto macht und machen soll. Daher sollte man obiges Script durch folgendes ersetzen. (gleiche Wirkung):
Code: Alles auswählen
@title USB Remote Control
shoot
end

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon msl » 25.03.2008, 13:57

Hallo CHDKLover,

interessante Variante für die Fernauslösung. Damit läßt sich dann jegliches Skript fernsteuern. 8)

Ich sehe aber bei der Integration des Codes ein Problem genereller Art. Man müßte eine Lösung finden, um diese Veränderungen nicht immer wieder in neue Revisionen einzufügen. Dies gilt auch für die Menü-Layout-Variante.

Die meisten werden sicherlich nur einen einfachen Editor verwenden. Da ist schon die Zeilennummerierung ein Problem. Nicht jeder wird eine Programmierungsumgebung auf seinen Rechner haben.

Deshalb wäre eine Automatisierung solcher Ergänzungen zweckmäßig. Ich habe aber bisher keinen Plan. :shock:

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon CHDKLover » 25.03.2008, 15:59

Hallo msl,
ich kann leider nicht in die Originalquellen, auf "https://tools.assembla.com/chdk", schreiben. Deswegen kann ich nur meine Veränderungen in einer mehr oder wenig komfortablen Art ins Forum posten. Ein weiterer Sammelpunkt des Quellcodes, würde mir und anderen Entwicklern vielleicht ermöglichen unsere Entwicklungen komfortabler zur Verfügung zu stellen. Aber das Abgleichen der beiden Codebasen (jetziges trunk und neu erstellte) würde immer noch umständlich und extrem Zeitaufwendig sein. Vielleicht lohnt sich der Weg bei mehr Entwicklern.

PS: Ich benutze zum Editieren den kleinen 250kb Größen aber mächtigen Notepad2-Editor.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon Gast » 02.05.2008, 20:38

Hallo!

Fernauslöser - danach habe ich schon lange gesucht. Eure Lösungen sind echt klasse.
Habe das gleich mal mit meiner A700 ausprobiert und ...
... nix ist passiert.

Das kurze Testprogramm geladen und USB-Kabel an den PC gesteckt. Aber nix passiert.
Den Menüpunkt, zum aktivieren des "Remote Enable USB" habe ich gar nicht. Sind die CHDK-Versionen so unterschiedlich, oder verwendet ihr eine besondere Version?

Habe ich das richtig verstanden? So bald die Kamera erkennt, das am USB-Bus eine Spannung anliegt (Quelle egal) wird das wie ein umgelegter Schalter erkannt. Um den Rest vom USB-Bus muss man sich nicht kümmern? Das wär ja genial einfach.
Gast
 

Beitragvon msl » 02.05.2008, 20:59

Hallo und willkommen im Forum,

Du hast alles richtig gemacht. leider verfügt die A700 nicht über die USB-Unterstützung. Gründe kann ich Dir nicht nennen.

Es gibt aber eine Version als StereoData Maker. Hier werden 2 Kameras per USB miteinander verbunden zwecks Synchronisation. Vielleicht kannst Du damit experimentell weiterkommen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Gast » 02.05.2008, 21:59

Danke für die schnelle Antwort.

Schade! Wär zu schön gewesen.
Weiß man welche Kameras über USB fernbedient werden können?
Zur Not würde ich überlegen meine A700 zu verkaufen und mir eine neue anzuschaffen.
Die A720IS würde mich interessieren. Der optischem Bildstabilisator würde mich bei diesem Model interessieren. Der Rest ist meiner A700 glaub ich recht ähnlich.

Gibt es mit dem DIGIC III-Prozessor und dem CHDK irgendwelche Einschränkungen oder Erfahrungen?
Gast
 

Beitragvon msl » 02.05.2008, 22:31

A720IS kannst Du verwenden.

Da gibt es sogar erweitete USB-Funktionen. Das heißt, Du kannst die Kamera auch per USB einschalten. Die Installation verläuft etwas anders, da die Kamera das DryOS verwendet, nachzulesen hier.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Gast » 03.05.2008, 08:30

Habe eben mal die A720IS bestellt.
Mal sehen ob das ne gute Idee war - so schnell habe ich mich noch nie für ne Kamera entschieden.
Werde dann berichten ob ich mit der Fernbedienung weiter gekommen bin.

Gruß JoPi
Gast
 

Beitragvon Gast » 06.05.2008, 20:46

So, die A720IS ist da. Sieht gut aus. Erste Tests haben gezeigt das die USB-Remote-Auslösung funktioniert.
Du hast noch gesagt, das die Kamera noch weitere Möglichkeiten der Steuerung per USB bietet. Gibt es dazu irgendwo weitere Infos?

Gruß JoPi
Gast
 

Beitragvon msl » 06.05.2008, 21:08

Vielleicht hilft diese Seite weiter.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Gast » 08.05.2008, 18:47

Servus msl,

das mit dem fernauslöser ist ja ne geniale sache nur wie funzt das?? - sorry, bin was chdk angeht totaler noob, den auslöser selber bauen ist kein ding, aber wie ist das mit dem script ? kan ich einfach das was hier gepostet wurde in ne textdatei reinhaun und einfach abspeichern oder wie leuft das ??? ich hab auf meiner A560 das allbest-a560-100a-51-390 drauf, solte doch eigentlich auch damit laufen oder?

gruß mc
Gast
 

Beitragvon msl » 08.05.2008, 19:11

Hallo mcmods,

ja richtig, Du kopierst das Skript in eine Textdatei. Diese mußt Du umbenennen: name.bas Wichtig ist die Endung .bas. Der Name ist egal, sollte aber kurz und aussagekräftig sein. Diese Datei kopierst Du auf Deine SD-Karte in /CHDK/SCRIPTS und rufst sie dann über das Skriptmenü auf.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Nächste

Zurück zu Technik-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

cron