Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Raspberry-Pi Timelapse-Slider

Sat Mar 24, 2018 9:54 pm

Ich möchte mir gerne einen Timelapse-Slider mit einem Raspberry-Pi bauen.

Der Rapsberry-Pi soll die Kamera auslösen und die Bilder auf eine extrene Festplatte schieben. Soweit kein Problem.
Zudem sollen aber die benötigten Parameter für die Timelapse, also Intervall, Shutter-Speed, Anzahl der Bilder und die Länge des Sliders über ein Webinterface dem Pi mitgeteilt werden.
Einen Access Point habe ich schon eingerichtet, aber jetzt stehe ich vor dem Problem wie ich die eingegebenen Daten aus den Inputs des html Dokumentes in das Pythonscript, zum ansteuern der Kamera sowie Stepper Motors, bekomme.

Welche Möglichkeiten bieten sich mir da, bzw. welche würdet ihr empfehlen?

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 9:19 am

Du könntest dein Python Script um einen Webserver erweitern. Dieser sendet dann das Formular an den Browser und erhält von ihm die Formulardaten als Post oder Get Anfrage zurück.

Such im Netz mal nach "Python Webserver"

Z.B.:

viewtopic.php?t=8429
https://fragments.turtlemeat.com/pythonwebserver.php
Last edited by smartifahrer on Sun Mar 25, 2018 9:40 am, edited 1 time in total.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 9:36 am

Wäre es vielleicht möglich per Button und php die Values der Inputs in eine Datei zu schreiben, und per anderen Button das Pythonscript zu starten das dann die Datei ausliest ?

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 9:43 am

Das ist möglich. Dein Schript muss dann regelmäßig die Datei neu laden. Wichtig ist hier auch das Thema Dateirechte.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 9:48 am

Gibts für die Variante beispiele?
Es sollen da nur 4 Werte die ich vorher eingegeben habe in eine Datei geschriebe/überschrieben werden per Knopfdruck.

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 11:32 am

Es gibt sicher Beispiele im Netz, wenn auch nicht exakt so wie du es brauchst. Ich selbst programiere mit PHP und habe leider keine Python Erfahrung.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 11:48 am

Ich habe jetzt mal eine index.html mit diesem Code:

Code: Select all

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test</title>
</head>
<body>
    <form action="script.php" method="post">
        <input type="number" name="test">
        <input type="number" name="test2">
        <input type="number" name="test3">
        <input type="submit" value="OK"><br>
    </form> 
</body>
</html>
und eine script.php mit diesem Code in einem Ordner erstellt:

Code: Select all

<?php
if ( $_GET['test'] <> "" )
{
    $handle = fopen ( "daten.txt", "w" );
    fwrite ( $handle, $_GET['test'] );
    fwrite ( $handle, "|" );
    fwrite ( $handle, $_GET['test2'] );
    fwrite ( $handle, "|" );
    fwrite ( $handle, $_GET['test3'] );
    fclose ( $handle );
    echo "Danke - Ihre Daten wurden speichert";
    exit;
}
?>
Aber ich bekomme nur den Fehler: Cannot POST /script.php

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Sun Mar 25, 2018 3:34 pm

Du sendest die Daten per POST an dern Server

Code: Select all

<form action="script.php" method="post">
Im Code fragst du aber das GET Array ab. Änder $_GET in $_POST ab.
Den aufruf von exit; kannst du weglassen, da das Program 2 Zeilen Später eh endet.
Statt fwrite kannst du auch file_put_contents nutzen http://php.net/manual/de/function.file-put-contents.php

Liegt die index.html im gleichen Verzeichniss wie script.php?
Kannst du die script.php im Browser aufrufen.
Füge zum Test einfach mal ein echo "Test"; am Anfang der script.php ein.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 12:24 pm

Ich habe das jetzt soweit hinbekommen. Jetzt habe ich aber das Problem das ich die index.php umbennen möchte in index2.php und eine index3.php in index.php damit eine andere seite bei aufrufen der website gezeigt wird, wenn der slider aktiv ist.
Wenn ich auf der Seite zum starten des Vorgangs mit folgendem Code bin:

Code: Select all

<?php
        $file = fopen("daten/daten.txt", "w");
        fwrite($file, $_POST['length'] . ";");
        fwrite($file, $_POST['interval'] . ";");
        fwrite($file, $_POST['shutter-speed'] . ";");
        fwrite($file, $_POST['images'] . ";");
	fwrite($file, $_POST['direction']);
        fclose($file);
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Raspberry-PI-Timelapse-Slider</title>
    <link rel="stylesheet" href="css/style2.css">
</head>
<body>
    <div class="container">
        <div class="heading">
            <p>Timelapse-Slider</p>
        </div>
        <div class="enter">
            <form action="run.php" method="post">
                <div class="top"><p>Die Timelapse dauert: <?php $interval = $_POST['interval']; $images = $_POST['images']; $result = number_format( ($interval * $images) / 60, 2, ",", ".");; echo "<b>$result min</b>"; ?></p></div>
                <div class="top"><p>Und endet um: <?php date_default_timezone_set('Europe/Berlin'); $time = number_format( ($interval * $images) / 60, 2, ",", ".");; $timestamp = time(); $newtime = $timestamp + ($time*60); $result_time = date("H:i", $newtime); echo "<b>$result_time</b>"; ?></p></div>
                <div class="top"><input type="submit" name="submit" onclick="start.php" value="Timelapse starten"></div>
            </form>
        </div> 
    </div>
</body>    
</html>
Möchte ich das wie oben beschrieben die Dateien umbenannt werden. Das habe ich mit folgendem Code in der Datei run.php versucht zu realisieren:

Code: Select all

<?php
	if(isset($_POST['submit']))
	{
	rename("/var/www/html/index.php", "index2.php");
	rename("/var/www/html/index3.php", "index.php");
	$file = fopen("daten/status.txt","w");
	fwrite($file, "running");
	fclose($file);
	}
?>
Das speichern von "running" funktioniert, aber das rename nicht. Ich habe mal eine test.php erstellt nur mit rename... und diese ausgeführt, php test.php ... und es funktioniert. Nur in der run.php nicht.
Woran liegt das?

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 1:15 pm

dein Ansatz ist viel zu umständlich. Du kannt alles mit einer Datei machen. Das hat auch den Vorteil das du die gespeicherten Daten wieder im Formular anzeigen kannst.
Beim Aufruf der index.php machst du folgendes.

1. Lesen der "daten/daten.txt". In der Datei solte vermerkt sein ob der Slider aktiv ist oder nicht. Kannst du aber auch mit einer anderen Dateimachen die den Status enthält.
2. Wenn der Slider aktiv ist, sende den entsprechenden Inhalt an den Browser
3. Slider ist nicht aktiv, prüfe ob das Formular gesendet wurde. Wenn ja, Einstellungen speichern und bestätigung an Browser.
4. Formular wurde nicht gesendet. Formular anzeigen

Vereinfacht in etwa so:

Code: Select all

<?php
$slider_aktiv = true; // hier die Prüfung für den Slider einbauen
if ($slider_aktiv) 
{ 
?>
	HTML-Code Slider ist aktiv
<?php
}
else
{
	if ( isset($_POST['submit']) )
	{
		// Hier Formularverarbeitung einfügen
	?>
		// Hier HTML-Code für erfolgreiche Formularverarbeitungeinfügen
	<?php
	}
	else
	{
	?>
		// Hier HTML-Code für das Formular einfügen
	<?php
	}
}
?>
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 2:46 pm

Ich habe versucht es anzupassen:

Code: Select all

<?php
	$datei = fopen("/daten/status.txt", "r");
	$status = fgets($datei, 10);
	if($status == "running")
	{
	$slider_aktiv = true;
	} else {
	$slider_aktiv = false;
	} 
	if ($slider_aktiv) 
	{ 
?>
		<!DOCTYPE html>
		<html>
		<head>
			<meta charset="utf-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Raspberry-PI-Timelapse-Slider</title>
			<link rel="stylesheet" href="css/style.css">
		</head>
		<body>
		<div class="container">
				<div class="heading">
					<p>Timelapse-Slider</p>
				</div>
				<div class="enter">
					<div class="top"><label>Slider is aktiv!</label></div>
				</div> 
			</div>
		</body>    
		</html>
<?php
}
else
{
	if ( isset($_POST['save']) )
	{
	$file = fopen("daten/daten.txt", "w");
	fwrite($file, $_POST['length'] . ";");
	fwrite($file, $_POST['interval'] . ";");
	fwrite($file, $_POST['shutter-speed'] . ";");
	fwrite($file, $_POST['images'] . ";");
	fwrite($file, $_POST['direction']);
	fclose($file);
?>
		<!DOCTYPE html>
		<html>
		<head>
			<meta charset="utf-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Raspberry-PI-Timelapse-Slider</title>
			<link rel="stylesheet" href="css/style2.css">
		</head>
		<body>
			<div class="container">
				<div class="heading">
					<p>Timelapse-Slider</p>
				</div>
				<div class="enter">
					<form action="" method="post">
						<div class="top"><p>Die Timelapse dauert: <?php $interval = $_POST['interval']; $images = $_POST['images']; $result = number_format( ($interval * $images) / 60, 2, ",", ".");; echo "<b>$result min</b>"; ?></p></div>
						<div class="top"><p>Und endet um: <?php date_default_timezone_set('Europe/Berlin'); $time = number_format( ($interval * $images) / 60, 2, ",", ".");; $timestamp = time(); $newtime = $timestamp + ($time*60); $result_time = date("H:i", $newtime); echo "<b>$result_time</b>"; ?></p></div>
						<div class="top"><input type="submit" name="submit" onclick="start.php" value="Timelapse starten"></div>
					</form>
				</div> 
			</div>
		</body>    
		</html>
<?php
}
else
{
?>
		<!DOCTYPE html>
		<html>
		<head>
			<meta charset="utf-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Raspberry-PI-Timelapse-Slider</title>
			<link rel="stylesheet" href="css/style.css">
		</head>
		<body>
			<div class="container">
				<div class="heading">
					<p>Timelapse-Slider</p>
				</div>
				<div class="enter">
				<form action="" mehtod="post">
					<div class="top"><label>Länge des Sliders: </label><input type="number" name="length" step="1" min="0" value="100" placeholder=""></div>
					<div class="top"><label>Intervall: </label><input type="number" name="interval" step="0.1" min="0" placeholder="Intervall"></div>
					<div class="top"><label>Verschlusszeit: </label><input type="number" name="shutter-speed" step="0.1" min="0" placeholder="Verschlusszeit"></div>
					<div class="top"><label>Anzahl der Bilder: </label><input type="number" name="images" step="1" min="0" placeholder="Bilder"></div>
				<div class="top"><label>Richtung: </label><select><option value="left">Links</option><option value="right">Rechts</option></div>
				<div class="top"><input type="submit" name="save" value="speichern"></div>
				</form>
				</div> 
			</div>
		</body>    
		</html>
<?php
}
}
?>
Aber irgendwie will das nicht so ganz.

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 3:41 pm

Was genau will nicht so ganz? Du must es schon genau beschreiben da ich ja nicht sehe was passiert.
Was steht den in $status?
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 6:39 pm

Es wurde nur die Seite zum eingeben oder die wenn der Slider aktiv ist. Sonst ist nichts passiert.
Ich habe es jetzt so gelöst:
Ein Ordner mit den Dateien: index.php, run.php, save.php und einen Unterordner mit schreib/lese rechten.
Index.php Code:

Code: Select all

<?php
	$datei = fopen("daten/status.txt", "r");
	$status = fgets($datei, 10);
	if($status == "running")
	{
	$slider_aktiv = true;
	} else {
	$slider_aktiv = false;
	} 
	if ($slider_aktiv == true) 
	{ 
?>
		<!DOCTYPE html>
		<html>
		<head>
			<meta charset="utf-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Raspberry-PI-Timelapse-Slider</title>
			<link rel="stylesheet" href="css/style.css">
		</head>
		<body>
		<div class="container">
				<div class="heading">
					<p>Timelapse-Slider</p>
				</div>
				<div class="enter">
					<div class="top"><label>Slider is aktiv!</label></div>
				</div> 
			</div>
		</body>    
		</html>
<?php
}
else
{
?>
		<!DOCTYPE html>
		<html>
		<head>
			<meta charset="utf-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Raspberry-PI-Timelapse-Slider</title>
			<link rel="stylesheet" href="css/style.css">
		</head>
		<body>
			<div class="container">
				<div class="heading">
					<p>Timelapse-Slider</p>
				</div>
				<div class="enter">
				<form action="save.php" mehtod="GET">
					<div class="top"><label>Länge des Sliders: </label><input type="number" name="length" step="1" min="0" value="100" placeholder=""></div>
					<div class="top"><label>Intervall: </label><input type="number" name="interval" step="0.1" min="0" placeholder="Intervall"></div>
					<div class="top"><label>Verschlusszeit: </label><input type="number" name="shutter-speed" step="0.1" min="0" placeholder="Verschlusszeit"></div>
					<div class="top"><label>Anzahl der Bilder: </label><input type="number" name="images" step="1" min="0" placeholder="Bilder"></div>
				<div class="top"><label>Richtung: </label><select name="direction"><option value="left">Links</option><option value="right">Rechts</option></div>
				<div class="top"><input type="submit" name="save" value="speichern"></div>
				</form>
				</div> 
			</div>
		</body>    
		</html>
<?php
}
?>
run.php Code:

Code: Select all

<?php
	if(isset($_POST['start'])) 
	{
        $file = fopen("daten/status.txt", "w");
        fwrite($file, "running");
        fclose($file);
	header("Location: index.php");
	shell_exec("sudo python /var/www/html/timelapse.py");
	}
?>
save.php Code:

Code: Select all

<?php
        $file = fopen("daten/saves.txt", "w");
        fwrite($file, $_GET['length'] . ";");
        fwrite($file, $_GET['interval'] . ";");
        fwrite($file, $_GET['shutter-speed'] . ";");
        fwrite($file, $_GET['images'] . ";");
	fwrite($file, $_GET['direction']);
        fclose($file);
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Raspberry-PI-Timelapse-Slider</title>
    <link rel="stylesheet" href="css/style2.css">
</head>
<body>
    <div class="container">
        <div class="heading">
            <p>Timelapse-Slider</p>
        </div>
        <div class="enter">
            <form action="run.php" method="post">
                <div class="top"><p>Die Timelapse dauert: <?php $interval = $_GET['interval']; $images = $_GET['images']; $result = number_format( ($interval * $images) / 60, 2, ",", ".");; echo "<b>$result min</b>"; ?></p></div>
                <div class="top"><p>Und endet um: <?php date_default_timezone_set('Europe/Berlin'); $time = number_format( ($interval * $images) / 60, 2, ",", ".");; $timestamp = time(); $newtime = $timestamp + ($time*60); $result_time = date("H:i", $newtime); echo "<b>$result_time</b>"; ?></p></div>
                <div class="top"><input type="submit" name="start" value="Timelapse starten"></div>
            </form>
        </div> 
    </div>
</body>    
</html>
Damit funktioniert es ein­wand­frei.
Kann man den Code kürzer schreiben bzw. wie du es vorgeschlagen hast in eine Datei?

User avatar
ByteYourLife
Posts: 73
Joined: Wed Jul 23, 2014 3:04 am
Location: Germany
Contact: Website

Re: Raspberry-Pi Timelapse-Slider

Tue Mar 27, 2018 7:10 pm

Juzu wrote:
Sat Mar 24, 2018 9:54 pm
Ich möchte mir gerne einen Timelapse-Slider mit einem Raspberry-Pi bauen.
....

Welche Möglichkeiten bieten sich mir da, bzw. welche würdet ihr empfehlen?
Hi Juzu,
ich habe am letzten Wochenende zufällig etwas ähnliches programmiert.
Vielleicht hilft dir ja meine Lösung weiter. Hier die beiden Links auf die Beschreibung von mir:

Raspberry Pi Timelapse Fotografie Tutorial – Bilder im Zeitraffer-Video
Raspberry Pi Timelapse Fotografie Tutorial – Web-Oberfläche

Ich bin gespannt was Du zu dieser Lösung sagst.

ByteYourLife
My project I am working on: An autonomous driving car with the Raspberry Pi and a lot of sensors.

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Wed Mar 28, 2018 5:07 am

@ByteYourLife: Schöne Lösung. Hast du das schon mal auf einem Pi Zero getestet?
@Juzu: Natürlich kann man es in eine Datei packen und damit weiter optimieren. Den Code Rahmen hatte ich dir ja schon gezeigt. Kürzer wird der Code dadurch aber nicht. Stest sich nur die frage warum solltest du das tun. Du hast es hinbekommen und was dabei gelernt, das ist doch das wichtigste.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

User avatar
ByteYourLife
Posts: 73
Joined: Wed Jul 23, 2014 3:04 am
Location: Germany
Contact: Website

Re: Raspberry-Pi Timelapse-Slider

Wed Mar 28, 2018 5:37 am

smartifahrer wrote:
Wed Mar 28, 2018 5:07 am
@ByteYourLife: Schöne Lösung. Hast du das schon mal auf einem Pi Zero getestet?
Hi smartifahrer ,

ich kann mir gut vorstellen das die Lösung direkt auf einem Raspberry Pi Zero W funktioniert. Die ffmpeg Umrechnung der Bilder zu einem MP4 Video wird halt nicht wie auf dem Raspberry Pi 3 Model B+ mit ca. 1 FPS laufen sondern langsamer.

Viele Grüße,

ByteYourLife
My project I am working on: An autonomous driving car with the Raspberry Pi and a lot of sensors.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Wed Apr 11, 2018 6:32 pm

Die Hardware klappt soweit jetzt. Ich habe noch zusätzlich 2 endschalter angebracht.
Jetzt geht's zum Python Code.
Die Daten wie shutterspeed, interval und richtung, Länge des Sliders und Anzahl der Bilder kann ich aus einer datei auslesen. Jetzt ist mein Problem, ich habe noch nie richtig mit python programmiert. Meine Vorstellung ist es, die Kamera via Gphoto2 auszulösen. Die verschlusszeit stelle ich seperat an der Kamera ein. Es soll also die Kamera getriggert werden, die verschlusszeit abgewartet und dann in der restlich verbliebenen Zeit soll der Motor die Anzahl an steps fahren die ihn angegeben werden. Gleichzeitig soll aber auch die ganze Zeit der endschalter der von der dolly gedrückt werden könnte überprüft werden. Mein Hauptproblem besteht darin das der motor fährt wärenddem eine bestimmte Zeit nicht überschritten werden darf. Wie sieht denn das Grundgerüst was ich brauche aus?

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Wed Apr 11, 2018 6:36 pm

Zu dem wie sieht es eigentlich mit dem Stromverbrauch des Raspberry Pi's aus?
Ist es möglich den über mehrere Stunden (zb. 5 stunden) über eine große Powerbank zu versorgen. (25.000 - 30.000mAh)

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Thu Apr 12, 2018 12:00 pm

Zum Stromverbrauch: Ich habe ein Pi Zero W + Pi Kammera mit einer 11000mAh Powerbank mal benutz um eine Zeitraffer aufnahme zu machen (Wetterbeobachtung, 1 Bild pro Minute). Er lief über 2 1/2 Tage ohne Unterrechung. Mit dem von dir angedachten größeren Powerbank wird auch ein Pi3 so einige Stunden laufen. Er hat ja kaum was zu tun. Wichtig ist das die Powerbank genügend Strom liefern kann Also unbedingt bei Kauf darauf achten, 2-2,5 A auf einem USB-Anschluß, nicht in Summe!

Zur Software: Am besten du Prüfst von jedem Motorschritt ob der Endschalter gedrückt ist. Zur Sicherheit sollte der Schalter bereits ein Stück vor dem Anschlag auslösen.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Thu Apr 12, 2018 7:42 pm

Und wie löse ich das mit der Zeit während der Motor laufen darf? Wäre es eine Möglichkeit 2 Threads laufen zu lassen und nach dem auslösen eine Variable auf true zu setzen und dann die Zeit die es gilt zu beachten zu warten und die Variable dann wieder auf false zu setzen, und die Variable wir dann im anderen Thread ständig überprüft. Gibt's da einen besseren Weg?

smartifahrer
Posts: 852
Joined: Sat Feb 13, 2016 8:10 am

Re: Raspberry-Pi Timelapse-Slider

Fri Apr 13, 2018 8:07 am

Was hast du den für eine Art Motor? Bei einem Schritmotor spielt nicht die Zeit eine Rolle sondern die Anzahl der Schritte. Bei einem Normalen Motor schaltest du den Motor ein, mit der sleep Funktion setzt du eine Wartezeit in deinem Programm und schaltest den Motor aus. Hier nun detailierter. Python-Code kann ich dir leider nicht liefern.

1. Endschalter prüfen. Wenn nicht Endposition dann weiter.
2. Motor ein
3. Schleife mit x mal durchlaufen: Endschalter prüfen. Endposition Schleife abbrechen sonst kurze Wartezeit ( sleep() )
4. Motor aus (ist auserhalb der Schleife)

Bevor die Kamera auslöst sollte der Motor eine Zeit nicht gelaufen sein damit die Kamera mit mehr wackelt. Ist also eine zusätzlicher Zeitparameter den du berücksichtigen soltest.
PHP-Entwickler, Elektroniker, Technik-Bastler. 5 Raspis mit Rasbian, Retropi und Libreelec.

Juzu
Posts: 13
Joined: Sat Mar 24, 2018 9:37 pm

Re: Raspberry-Pi Timelapse-Slider

Fri Apr 13, 2018 9:10 am

Ich habe einen Schrittmotor mit dem a4988 Treiber. Wenn ich jetzt zb. ein Intervall von 5 Sekunden habe und eine Verschlusszeit von 2.5 Sekunden hat der Motor 2.5 Sekunden Zeit um zu fahren. Diese Zeit sollte nicht überschritten werden. Es sind ja meist nur 2-3 mm der der Motor fahren muss, bei einer Slider fahr Länge von 105cm und 500 Bildern.
Die Schritte müsste ich dann irgendwie berechnen.

Return to “Deutsch”