Il va falloir me fournir le décodeur car je n'ai pas tout comprisinfobarque a écrit:Le pro mini permet de détecter le LOW et HIGH du récepteur dans sa modulation et d'enclencher sur une pin la fermeture du contact pour shooter entre le + et GND du S110
Le code m'a prit 30mn, mais ca fonctionne impec, soit en mode stock du S110 soit avec CHDK, pour lequel je ferais un code LUA par la suite pour zoomer avant de shooter par exemple
Hygrekaile a écrit: Il va falloir me fournir le décodeur car je n'ai pas tout compris
rdd a écrit:J'ai la même (a base de brooxe et un s95).
Pour 'traduire' : avec l'arduino (ou un picaxe, moi j'ai choisi picaxe) on 'lit' les impulsions reçues par le récepteur de la radio commande et on déclenche le canon sur une valeur définie (a fond en haut sur la voie choisie par exemple).
Avec ce système, en utilisant 2 voies de la radio on a : déclencher, zoom avant, zoom arrière et une quatrième fonction au choix
infobarque a écrit:Bonjour,
voilà, pour remplacer ma Sjcam sur ma nacelle j'ai acheté un S110 à un membre, merci guillaume
a=0
d=0
shoot
sleep 1000
set_zoom_speed 100
sleep 100
:debut
do
a=get_usb_power
until a>0
if a>4 then goto "compte"
goto "debut"
:compte
do
a=get_usb_power
until a>0
if a>5 and a<17 then goto"zoom"
d=d+1
if a>25 then goto"shoot"
goto "compte"
:zoom
let d =d*10
if d>120 then let d=120
if d<0 then let d=0
print"zoom=", d
set_zoom d
a=0
d=0
goto "debut"
:shoot
print"photo"
shoot
a=0
d=0
goto "debut"
const byte bouton_zoom = A0; //potar zoom
const byte shoot = 2; //swtich photo
const byte impulsion = 3; //envoi vers apn
int mesure_shoot;
int mesure_voieA3;
int niveau_zoom;
int exniveau_zoom;
int i;
int haut;
int bas;
void setup() {
pinMode (bouton_zoom, INPUT);
pinMode(shoot, INPUT);
pinMode (impulsion, OUTPUT);
Serial.begin(115000);
}
void loop() {
mesure_shoot = pulseIn(shoot, HIGH, 25000);
mesure_voieA3 = pulseIn(bouton_zoom, HIGH, 25000);
niveau_zoom = map(mesure_voieA3, 970, 2040, 1 , 12);
if (mesure_shoot > 1900) {
Serial.println("photo");
photo();
}
if (exniveau_zoom != niveau_zoom) {
Serial.print("zoom : "); Serial.println(niveau_zoom);
Serial.print("ancien : "); Serial.println(exniveau_zoom);
exniveau_zoom = niveau_zoom ;
zoom();
}
delay(500);
}
void photo() {
digitalWrite (impulsion, HIGH);
delay (300);
digitalWrite (impulsion, LOW);
delay(100);
Serial.println("photo");
}
void zoom() {
interruption(200, 100);
Serial.println("zoom");
for (i = 0; i < exniveau_zoom; i++) {
interruption(50, 100);
Serial.println(i);
}
i = 0;
interruption(120, 100);
}
void interruption(byte haut, byte bas) {
digitalWrite (impulsion, HIGH);
delay (haut);
digitalWrite (impulsion, LOW);
delay(bas);
}
const byte bouton_zoom = A0; //potar zoom
const byte shoot = 2; //swtich photo
const byte impulsion = 3; //envoi vers apn
int mesure_shoot;
int mesure_voieA3;
int niveau_zoom;
int exniveau_zoom;
int i;
int haut;
int bas;
void setup() {
pinMode (bouton_zoom, INPUT);
pinMode(shoot, INPUT);
pinMode (impulsion, OUTPUT);
Serial.begin(115000);
}
void loop() {
mesure_shoot = pulseIn(shoot, HIGH,25000);
mesure_voieA3 = pulseIn(bouton_zoom, HIGH,25000);
niveau_zoom = map(mesure_voieA3, 970, 2040, 1 , 12);
if (mesure_shoot > 1900) {
Serial.println("photo");
photo();
}
if (exniveau_zoom != niveau_zoom) {
Serial.print("zoom : "); Serial.println(niveau_zoom);
Serial.print("ancien : "); Serial.println(exniveau_zoom);
exniveau_zoom = niveau_zoom ;
zoom();
}
delay(500);
}
void photo() {
Serial.println("photo");
interruption(300, 100);
}
void zoom() {
interruption(200, 100);
Serial.println("zoom");
for (i = 0; i < exniveau_zoom; i++) {
interruption(50, 100);
Serial.println(i);
}
i = 0;
interruption(120, 100);
}
void interruption(int haut, int bas) {
digitalWrite (impulsion, HIGH);
delay (haut);
digitalWrite (impulsion, LOW);
delay(bas);
}
infobarque a écrit:reste a trouver le bug pour la pluie, mais là, à part trouver celui qui a pissé sur le totem, je ne vois pas de solution
pete a écrit:Bonjour,
Bravo pour ce travail.
Je suis toujours de près ces évolutions techniques permettant d'améliorer les conditions de prises de vues.
Par contre, comme d'autres hélas, je ne comprends pas la théorie ni la pratique... Par contre je serais preneur d'un système type arduino déjà programmé et prêt à servir.
Amicalement,
P.
Ce que je rêve c'est d'avoir un truc tout fait sur CHDK qui m'autorise le zoom via un joystick de ma radio 4 voies.
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités