Bonjour a tous
Je suis un gros débutant en arduino. Je teste je cherche je fouille bref j'ai appris quelques trucs mais mes connaissances ne me permettent pas d'élaborer du code fonctionnel.
J'ai compris les bases des pins c'est deja ca et comment ca fonctionne mais niveau programmation je me suis arrête au html.
Bref j'ai besoin de faire u' slider motorisé, n'ayant pas les moyens d'acheter quelque chose de tout fait, et parceque j'ai envie de quelque chose de complet et personnalisé, j'ai suivi quelques videos de diy. Je suis tombé sur u' qui est fort intéressant sauf qu'il me manque une fonction timelapse. A savoir pause + déclenchement pause etc... Et ce dans une fonction timelapse en plus de ce qui est proposé.
Niveau électronique j'utiliserai un optocouple branché a une des pins de l'arduino méga vers mon apn. Si c'est possible de configurer la pause en plus ce serait idéal (pour faire varier le temps de pose de l'apn en mode bulb). En gros vitesse (pas besoin de calculer la longueur du slider car y'a des endstops) temps de course (intervalle) , definir une pause universelle de 1sec avant le trigger et duree de declanchement (time trigger)
Si quelqu'un peut m'aider a coder ca ce serait génial ou me donner un lien vers une personne qui pourrait me le faire. J'aimerai aussi comprendre ce qui sera fait biensur. Je ne sais pas quel est le plus simple mais je vous donne un lien vers la video comme ca vous verrez de vous meme
Merci d'avance
Bonjour - ici c’est un forum d’entre-aide pour ceux qui codent et mettent les mains dans l’lectronique... Commencez par lire un openClassroom sur le C et C++ et jouer avec les tutos d’eskimon - ça vous apportera la base des connaissances nécessaires. ensuite postez vos travaux ici avec les détails et questions et la communauté pourra vous aider
si vous ne voulez pas apprendre et faire vous même, Il y a un forum “Gigs et collaboration” en anglais, vous pouvez poster votre demande là bas mais attendez vous à rémunérer le développeur
Je mets les mains dans l'électronique je demande de l'aide sur la programmation d'un passage de code que je n'arrive pas a faire. C'est gentil d'avoir répondu mais je suis pas plus avancé
Euh vous demandez un programme complet si j’ai bien compris.... La majorité des participants bénévoles ici ne font pas ça... on a tous nos projets et on donne un coup de main de temps en temps pour debugger un truc, pas faire un produit fini..
Pour faire ce que vous souhaitez à mon avis ça doit se trouver (un Google sur «time lapse rail with arduino » donne pas mal de résultats comme cette vidéo)
hello
la meilleure c'est que notre jeune ami nous donne un lien vers une video
et que son auteur nous donne le lien pour le soft et le lien pour le hard
soft
hard
YAPLUKA
merci pour vos réponses, non je ne veux pas du tout un programme complet, oui j'en ai trouvé un deja fait, j'ai des bases en programmation mais pas de la a arriver a faire le bout de code que je veux... simplement, je souhaite rajouter dans la fonction programme, des pause+signal vers un optocoupleur relié a mon appareil photo, j'ai essayé de "mixer" un bout de code mais franchement j'y arrive pas j'ai plein d'erreurs et j'ai plein d'erreur et comme y'a pas de codeur qui code pareil (vous voyez surement ce que je veux dire) je comprend pas tout. j'ai déjà monté mon circuit a partir du code que j'ai trouvé avec la vidéo que j'ai fourni, a part quelques nuances, c'est a peu prés similaire. je veux juste ajouter ce bout de code qui ferai une pause toutes les x secondes pendant x secondes sur la longueur de course, donc 3 variables (si j'utilise le mauvais terme desolé) programmables par le menu. j'ai déjà réussi a rajouter le menu mais de la a arriver a pointer vers un code fonctionnel pfiou la galère. je sais que vous avez tous des projets etc et si quelqu'un veut être rémunéré pourquoi pas mais ma démarche elle va aussi dans la compréhension du truc mais de la a apprendre a coder du C++ pour 10 ou 20 lignes de code je peux pas me le permettre pour des raisons de temps et de capacités aussi je pense.
dfgh:
hello
la meilleure c'est que notre jeune ami nous donne un lien vers une video
et que son auteur nous donne le lien pour le soft et le lien pour le hard
soft
hardYAPLUKA
tu n'as visiblement pas compris ma démarche bref
ps: un tuto pour recopier les liens te serait utile lol
Ce que tu veux faire n'est pas vraiment compliqué, mais il te faut comprendre un minimum le code que tu as déjà pour savoir à quel endroit ajouter ta fonction. Cette compréhension tu dois t'y investir, car je ne pense pas qu'on puisse le faire pour toi. De toutes façons, apprendre le C c'est un investissement car il est probable que tu voudras ensuite ajouter d'autres fonctions...
Une pause en C c'est simple : on peut utiliser la fonction delay qui stoppe le microcontrôleur pendant une durée donnée. Reste à savoir où mettre cette instruction dans ton code...
Ensuite, si tu veux faire une pause périodique, c'est à dire toutes le X millisecondes, il faut calculer ce temps et faire un test : pour mesurer le temps, il y a la fonction millis(), pour le test c'est if. Il te faudra une variable qui contient l'instant de début (le moment où "tu lances le chrono") que tu mettras à jour à chaque pause, pour tester si le temps passé depuis la dernière pause dépasse ta période.
Voilà en gros ce que tu dois faire : pas très compliqué... A toi de jouer
désolé pour ces liens qui ne s'ouvrent pas
mais visiblement, tu les avais déjà trouvés
merci ces réponses satisfaisantes, je suis d'accord avec toi lesept, c'est un investissement que je suis prêt a faire, j'ai fais du C dans les années 90 j'ai écrit quelque programmes de conversions et de gestion météo à l’époque mais depuis c'est le néant lol ! aujourd'hui je n'ai pas vraiment le temps de reprendre tout de A a Z mais je prend note et j'ai déjà commencé à reprendre les bases Arduino. je vais étudier tes pistes et comme dans le code que j'ai il y a déjà une bonne partie de faite, je vais essayer de bidouiller encore un peu tout ça !
merci encore je reviendrai vous soumettre mes résultats
hello
je reviens vers vous car j'ai un souci
j'ai ajouté des delay() mais ca ne marche pas, mon while tourne indéfiniment avez vous une solution ? sans rien d'autre que mon stepper.runspeed(); ca marche ca s'arrete mais avec ce code non
merci
void durationSlidephoto(int duration)
{
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10,0);
display.println("TIMELAPSE");
display.drawLine(0,15,127,15,WHITE);
display.display();
float chassisLength = 1850;
int actualSteps=0;
float moveSpeed = chassisLength/duration; //steps par seconde
stepper.enableOutputs();//enable motor
int pos = stepper.currentPosition();
stepper.moveTo(pos+chassisLength);
stepper.setSpeed(moveSpeed);
while(stepper.distanceToGo()>0){
stepper.runSpeed();
delay(5000);
stepper.disableOutputs();
delay(500);
}
stepper.disableOutputs(); //disable motor
delay(1000);
zeroSystem();
}
Il y a un stepper.disableOutputs
dans le while qui semble louche...attendre 5 secondes après chaque step n’est sans doute pas non plus une bonne idée
Un truc comme ça semblerait plus raisonnable
stepper.moveTo(pos+chassisLength);
stepper.setSpeed(moveSpeed);
while(stepper.distanceToGo()>0) stepper.runSpeed();
meme si je ne comprends pas trop comment vous allez aller plus loin que le bout du châssis...
Il y a aussi la méthode runSpeedToPosition()
que vous pouvez regarder
j’ai pas lu tout le reste...
Il y a un groupe de discussion Google spécialisé dans la bibliothèque accelstepper. Si tu ne trouves pas d'aide ici, essaye là-bas...
dans mon cas ca avance 5 sec et ca pause 0.5... peu importe le delai je vais changer cela de totues facons, le soucvi c'est qu'au lieu de stopper au bout avec mon while ca fait un loop... je ne comprend pas pourquoi
lesept:
Il y a un groupe de discussion Google spécialisé dans la bibliothèque accelstepper. Si tu ne trouves pas d'aide ici, essaye là-bas...
je vasi y faire un tour merci
Ajoute un
Serial.println (stepper.distanceToGo());
avant le delay(5000) pour voir comment ce truc change. S'il reste constamment positif, tu ne sors pas du while et ... ça boucle !