Fernauslöser Script / Remote shoot_full

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Fernauslöser Script / Remote shoot_full

Beitragvon MolTiti » 17.08.2010, 09:37

Hallo CHDK Profis,

bin echt von Euere Seite und Arbeit was das CHDK betrifft begeistert. Mit dieser Firmware lassen sich viele Wünsche, welche durch die original Firmware nicht gegeben sind, verwirklichen. Für mein Vorhaben wurde ich auch gleich bei den fertigen Scripts fündig. Ich wollte das Script aber dann für meine speziellen Anforderungen anpassen, das klappte leider nach mehrmaligen versuchen nicht. Vielleicht könnt Ihr mir weiterhelfen oder falls bereits vorhanden den entsprechenden Forumsbeitrag linken. Die "Suche" kenne ich, es gibt aber unzählige Treffer, die ich nicht alle im Detail durchgehen kann ;(


Also meine generelle Frage: Funktioniert der Befehl Shoot_Full auch bei dem Ixus 90 IS und Firmware 0.9.9-913?

@title Remote button
while 1
wait_click 1
if is_key "remote" then shoot
wend

end

Bei diesem Scriptbeislie passiert gar nichts, wenn man den Befehl Shoot auf Shoot_Full ändert...

Mein Ziel wäre einen Script (Fernauslösung) zu haben der folgendes kann:

- automatisches Starten des Skripts beim einschalten der Kamera
- einige Einstellungen der Kamera (kein Blitz, Scharfstellen auf unendlich, Auflösung auf 2MP) sollen im Script gesetzt werden können
- beim betätigen des Fernauslöseschalters soll möglichst schnell (der jetzige Script braucht schon um die 1 sec) Serienbilder mit insgesamt 3 Bildern schießen oder wenn das mit dem Selbstauslöser nicht funktioniert solange Bilder schießen bis der Fernauslöser Strom auf die Kamera gibt
- und super wäre wenn das alles möglichst stromsparend erfolgt

Der Fernauslöser ist fertig gebaut und das obige Beispielscript wurde mit der Kamera erfolgreich getestet.

Vorab schon vielen Dank für Euere Tipps
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34

Beitragvon msl » 17.08.2010, 11:18

Hallo und willkommen im Forum.

Einen Befehl "Shoot_full" gibt es nicht. "Shoot_full" steht für eine Tasten-Funktion. Demzufolge musst du "Shoot_full" in Verbindung mit einem Tasten-Befehl anwenden. Mehr dazu im Handbuch Seite 84 ff. Wie man das Shooting organisieren kann (Fokussieren und Auslösen), ist u.a. in diesem Thread nachzulesen. Auf Syntax-Unterschiede zwischen uBasic und Lua achten!

Zu den anderen Aufgaben:

Autostart: Kein Problem, wird im Skript-Menü aktiviert.

Kameraeinstellungen: Einstellungen wie kein Blitz, Fokus auf unendlich und Bildgröße sind alle per Skript lösbar. Schau in die Skriptsammlungen. Das Skript "Sevenup" ist ein sehr gutes Lehrbeispiel.

schnelle Serienbilder: Problematisch, aber machbar. Dazu muss die Kamera per Skript auf Serienbild-Funktion eingestellt werden. Das dauert! Die Anzahl der Bilder kann von einem Skript überwacht werden. Die eigentliche Bildfolge ist dann von den Kameradaten sowie den Motivbedingungen und nicht vom Skript abhängig

Strom sparen: Die Kamera wird nicht mehr oder weniger Strom verbrauchen, als im manuellen Betrieb.

Und nun viel Spaß beim Experimentieren.

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 MolTiti » 17.08.2010, 21:29

Hallo,

Danke für die Antwort...

also es gibt unterschiede zw. einem Befehl und einer Tastendruck. Bin jetzt nicht ganz sicher, ob ich das Handbuch richtig verstanden habe. Shoot benötigt 40ms fürs auslösen und press "shoot_full" 50ms. Also ist Shoot schneller bei der Ausführung.

Bei einem Shoot wird eingemessen, fokusiert und ausgelöst. Kann man auf das Einmessen und Fokusieren verzichten, wenn das zu fotografierende Objekt immer im selben Abstand von der Kamera entfernt ist? Oder wie könnte man die Zeit zw. Betätigen der Fernauslösertaste (Strom über USB) und Auslösen beschleunigen?

Ziel: ich möchte aus einem fahrenden Auto bestimmte Objekte am Strassenrand per Fernauslöser fotografieren. Leider gelingt es derziet nicht immer das Objekt richtig zu erwischen.

Folgende Anpassung ist wohl aber nichts?

@title Remote button
while 1
wait_click 1
if is_key "remote" then press "shoot_full" release "shoot_full"
wend

end
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34

Beitragvon gehtnix » 17.08.2010, 22:21

Hi,

sieh Dir mal Airwolf an. Das könnt für Dich passen.

Aber nicht dass Du dann den Abflug machst ;)

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon MolTiti » 19.08.2010, 17:01

Hi Gehtnix,

Danke für den Tipp es scheint zu passen oder kann als Grundlage für meine Umsetzung sein.

Nun hätte ich ein paar Fragen:

- ich habe meinen Fernauslöser selbst gebaut. Der Schalter stammt aus einer LED Taschenlampe mit Schwanenhals. Das LED wurde abgeknippst und die eine Hälfte eines USB Kabels am + und - Pol verbunden. Beim Drücken des Schalters gibt es Strom auf den USB Kabel, Schalter bleibt eingerastet. Beim nochmaligen Drücken des des Schalters ist der Strom weg.

Was verstehts Du unter einem einfachen USB Taster, da Du schreibts dass das Script nur mit diesem Taster funktioniert. Wo bekomme ich sowas, Conrad?

- Ich habe den USB Tester ausprobiert. Ich bekomme für P nur Werte zwischen 1 und 2. Egal wie lange Strom auf den USB liegt. Liegt länger Strom auf dem USB, so wechselt sich der Wert P zw. 1 und 2. Beim kurz Einschalten und wieder Ausschalten des Schalters ist der Wert bei 1.

- Die Reihenaufnahme wird durch das Drücken der Tasten erreicht?

Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
click "set"

sleep z

click "down"

sleep z

click "down"

sleep z

click "right"

sleep z
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9


das muss im Quellcode ich auf meine kamera anpassen oder?

- da ichbis jetzt nur die Intervall Modus steuern kann habe ich dort versucht die Parameter runterzufahren

Trotzdem bekomme ich nur Bilder ca. alle 2-3 sec

- set_aflock 0 warum wird das am Ende gemacht?

Vielleicht kannst Du mir weiterhelfen ;)

Habe das Script ein wenig verändert...habe die Einstellung der Reihenaufnahme mit den Tasten vor der Reihenaufname Rutine gezogen. Weil sonst bei jedem Aufruf durch die Tastenfolge andere Einsellungen geändert wurden. Könnte man es auch anders lösen?

Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
rem USB Fernauslösung für die Reihenaufnahme IXUS 90 IS 19.08.2010

rem Nur mit USB-Taster zu Bedienen!



@title USB Fernauslösung für Reihenaufnahme



@param e Intervall (ms)

@default e 1

@param f Bild-Kompression (0,1,2)

@default f 0

@param g Bild-Pixel (0,1,2,4,6,8)

@default g 3

@param p Sleep f. Backlight (x10ms)

@default p 10

@param j AkkuStop bei mV

@default j 4560

@param m AkkuStop 0=aus 1=ein

@default m 0

@param z Tasten Sleep 1/100

@default z 5

@param r Taste für Reihen 1/100

@default r 5



if m=0 then j=0

cls



L=get_quality

M=get_resolution



rem --- Kamera Einstellungen setzen

set_quality f

set_resolution g



rem --- Werte für USB-Taster

Y=15

O=100

A=0



rem --- Tastensleep

z=z*10



rem --- USB-Menü

    sleep 2000

    print "Reihen Aufnahme einstellen....!"

    click "down"

    sleep 300

    click "down"

    sleep 500

    click "set"

   

:menue

    cls

    print "***************************"

    print "Reihenaufnahme gestartet..."

    print "Aufnahme = " A

    gosub "taster"

   

    cls

   

    select P

        case 0 to Y; gosub "reihen"

        case_else goto "restore"

    end_select

    goto "menue"



end



:reihen

    press "shoot_full"

    sleep 2500

    gosub "taster"

    release "shoot_full"

    sleep p*10

    set_backlight 0

    return

   

:taster

    P=0

    do

        P=get_usb_power

    until P>0

    return



:restore

    cls

    print "********************************"

    print "ENDE"



   

    set_quality L

    set_resolution M

    set_raw 0

    set_aflock 0

    rem shut_down

    sleep 3000

    exit_alt

    end

    return
Erstellt in 0.013 Sekunden, mit GeSHi 1.0.8.9
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34

Beitragvon gehtnix » 19.08.2010, 21:11

Moin MolTiti,

mit einfachem Taster meinte ich eben die umgebauten Lampen oder Salzstreuer. Dann gibt es ja noch Mehrtasten-FB. Da hat jede Taste eine exakte Impulslänge und man kann mehr damit machen. Und das Skript geht natürlich auch mit diesen Tastern.

Wie sich Dein Taster verhält ist aber schon merkwürdig. Wenn Du den Taster durchdrücken musst und er rastet ein, das nervt. Antippen geht nicht?
Solange der gedrückt ist müsste aber der P-Wert in die Höhe gehen. Und bei Dir nur 1 oder 2.

Lampen bei Conrad:
Die sieht ja sehr interessant aus USB-Stecker ist dabei. Ob das aber funktioniert???
Amazon
G10, die ist es

Gigalite, die könnte auch gehen, eine Zelle durch einen Dummy ersetzen.
Sowas gibt es im Baumarkt an/vor der Kasse

MolTiti hat geschrieben:- Die Reihenaufnahme wird durch das Drücken der Tasten erreicht?
Genau, das sind die Tasten der Kamera

MolTiti hat geschrieben:Trotzdem bekomme ich nur Bilder ca. alle 2-3 sec
Die Canon-Rückschau ist ausgeschaltet?

MolTiti hat geschrieben:......habe ich dort versucht die Parameter runterzufahren
R=1000 - R=100 könnte noch was bringen

MolTiti hat geschrieben:set_aflock 0 warum wird das am Ende gemacht?
Die ganze Routine habe ich hierher kopiert und niicht gelöscht. Du könntest aber oben den Fokus auf xmm stellen und mit "set_focus 1" fixieren.

Alles was an der Canon nach Automatik aussieht, abschalten!

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon MolTiti » 19.08.2010, 21:38

ich habe diesen schalter umgebaut...

http://www.conrad.de/ce/de/product/5711 ... Detail=005
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34

Beitragvon gehtnix » 20.08.2010, 14:03

Servus,

hast Du den Code da oben nachträglich eingesetzt? ;) Sonst hätte ich ja nicht so lange getextet.

Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
@param e Intervall (ms)

@default e 1



&



@param r Taste für Reihen 1/100

@default r 5
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9
Kannst Du löschen, wird ja nicht gebraucht.

Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
@param g Bild-Pixel (0,1,2,4,6,8)

@default g 3
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9
Gibt es bei Dir die 3?

@Admin, 8) ist ja ganz schön aber im Code wohl nicht zutreffend.

Das hier:
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
        press "shoot_full"

        sleep 2500

        gosub "taster"

        release "shoot_full"

 
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9

könntest Du so gestalten
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
press "shoot_half"

do

until get_shooting=1

press "shoot_full"

gosub "taster"

release "shoot_full"

release "shoot_half"

 
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9
ausprobieren was Dir besser passt. Das sleep 2500 fällt weg.

A=0 wird nicht hochgezählt, print "Aufnahme = " A, oder kommt noch?

Jetzt läuft es wohl mit Deinem Taster? Immer noch 1&2

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon MolTiti » 20.08.2010, 14:11

ja, habe heute den code eingestellt

der schalter macht nachwievor nur 1 & 2
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34

Beitragvon gehtnix » 20.08.2010, 14:16

MolTiti hat geschrieben:der schalter macht nachwievor nur 1 & 2
Wenn es geht, warum nicht so.

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon gehtnix » 20.08.2010, 16:33

Hi MolTiti,

ich komme noch nicht damit klar was Dein Taster macht.

1x drücken, rastet wohl (sichtbar?) ein - hier müsste doch jetzt dauerhaft Spannung anliegen? Sollte doch jetzt ursprünglich die Lampe leuchten. P müsste jetzt anwachsen ist aber im Skript noch nicht sichtbar.

Nochmal drücken, rastet jetzt aus und geht wohl sichtbar in Ursprungsstellung zurück. Strom sollte abschalten, Lampe aus. Und erst jetzt wird P auslesbar und im Skript sichtbar.

Da Du ja am Taster/Schalter selber nichts verändert hast, ist es mir rätselhaft wieso Du dann bei P nur 1 oder 2 erhältst.

Wenn der Schalter korrekt arbeitet müsstest Du immer 2x für ein Ereignis drücken!

Das musst Du nochmals überprüfen.

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon msl » 20.08.2010, 16:52

Hallo,

bevor ihr euch in endlose Diskussionen verstrickt, müsste mal geklärt werden, ob die Kamera und/oder die Fernbedienung standardmäßig funktionieren.

Dazu sollte MolTiti das im Komplett-Paket unter SCROPTS/TEST enthaltene Testskript test_rc.bas benutzen. Liefert das Skript mit der selbstgebauten Fernbedienung größere Werte als 2, ist alles i.O.

Wenn nicht, muss mit einem normalen USB-Kabel, mit dem kurzzeitig eine Verbindung zum Computer hergestellt, getestet werden. Liefert das Skript keine größeren Werte als 2, stimmt die USB-Funktion der Kamera noch nicht richtig. Werden größere Werte ausgegeben, hat die selbst gebaute Fernbedienung eine Macke.

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 MolTiti » 23.08.2010, 13:42

Hallo msl,

Danke für dein Tipp. Scheint ein Wackekontakt zu sein, deshalb wahrscheinlich die Werte nur bis 2. Mit einer normalen USB Kabel (orig. Cano Kabel) habe ich Werte über 2 hinbekommen. Für mein Zweck reicht es erst mal, das der Taster Werte bis 2 liefert. Wenn ich mehr Zeit habe werden ich mal die Verbindung der gebastelten USB Kabel überprüfen.

Danke !
Ixus 90 Is
MolTiti
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 8
Registriert: 06.08.2010, 16:34


Zurück zu Code-Ecke

Wer ist online?

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