La bibliothèque SlowMotionServo
. Par : Jean-Luc
Vous répondez à :
Bonjour,
Vous n’avez sans doute pas installé la bonne bibliothèque. Bounce2 s’installe via le gestionnaire de bibliothèques.
66 Messages
-
La bibliothèque SlowMotionServo 6 mars 2018 19:39
génial et limpide
merci -
La bibliothèque SlowMotionServo 13 avril 2019 10:56, par Luc DE VLEESCHOUWER
Bonjour,
Malheureusement, je n’obtiens pas le résultat escompté. En effet, la rotation des servomoteurs se fait pas à pas au lieu d’une rotation de 90°. J’ai vérifié le montage. J’ai ajouté la librairie "Bounce2" dans le programme. Merci pour votre réponse.-
Bonjour,
Avez vous modifié le sketch ?
-
-
La bibliothèque SlowMotionServo 14 avril 2019 17:32, par Luc DE VLEESCHOUWER
Oui, j’ai rajouté la bibliothèque Bounce 2 comme indiqué dans une réponse.Voir ci-dessous :
Comme pour l’exemple PushButton2Servos, on utilise la bibliothèque Bounce2.-
Il ne s’agit pas à proprement parler d’une modification du sketch. Je parlais de l’ajout de code comme par exemple quelques
delay(...)
. Si le sketch n’a pas été modifié, une cause possible est une consommation excessive des servos qui effondre l’alimentation.-
La bibliothèque SlowMotionServo 15 juillet 2020 09:58, par Luc De Vleeschouwer
J’ai repris mon problème après une longue absence due à des problèmes de santé.
Vous aviez raison, c’était une consommation trop importante des servos.
J’ai ajouté un condensateur de 100µF à chaque servo ainsi qu’une résistance de 10 kΩ à la masse du bouton poussoir.
Cela fonctionne parfaitement.
Je vous suggère de l’indiquer dans votre note explicative pour les débutants comme moi.
Encore merci pour vos conseils.
-
-
-
La bibliothèque SlowMotionServo 15 avril 2019 09:48, par Luc DE VLEESCHOUWER
Merci.
Je vais en parler à mon fournisseur de servos. -
La bibliothèque SlowMotionServo 16 avril 2019 10:19, par Luc DE VLEESCHOUWER
Bonjour.
Ce sont des servos SG90 alimentés en 4 à 6 V.Par contre, il y a une phrase dans le texte "exemple concret" qui me préoccupe.
" Il s’agit en fait de l’encapsulation du code de l’exemple PushButton2Servos livré avec la bibliothèque."
Faut-il installer la bibliothèque "PushButton2Servos" ?
Je ne l’ai pas trouvée dans le programme Arduino après avoir été dans "Croquis" "Gérer les bibliothèques".
Merci pour votre réponse.-
Bonsoir,
PushButton2Servos est un des exemples de la bibliothèque SlowMotionServo. Je reviens sur ce que vous observez : « En effet, la rotation des servomoteurs se fait pas à pas au lieu d’une rotation de 90° ». Ce n’est pas très clair. Qu’entendez vous exactement ? le mouvement est haché ? discontinu ?
-
-
La bibliothèque SlowMotionServo 19 avril 2019 10:01, par Luc DE VLEESCHOUWER
Bonjour,
En effet, je l’ai retrouvé dans les exemples.
La rotation ne se fait pas complètement. Elle s’arrête à 30°. Mais les deux servos fonctionnent en même temps.
Mais, une chose m’a préoccupé. Dans le sketch, au début, il y a les deux "include" (Servo et SlowMotionServo).
Quand j’ai vérifié dans l’Arduino, il y avait un message d’erreurs au niveau de la ligne "private : Bounce mBoutonOverture". J’ai, donc, rajouter la librairie Bounce2. Ce qui est curieux, c’est qu’elle s’affiche en noir alors que les deux autres sont en rouge. Est-ce une ancienne version ?
Ne dois-je pas changer les chiffres dans le SetMin et SetMax ?
Les servos sont des TP SG90.
Je ne vois vraiment pas où se situe le problème. Merci pour votre réponse.-
Bonsoir,
Normalement 180° correspond à des valeurs min de 544 et max de 2400. Soit à une vache près 2000 pour 180°. Dans le sketch, les valeurs sont celles que j’ai utilisées pour la vidéo, avec une différence max-min de 1100, ce qui correspond à 100° environ. C’est surprenant que vous ayez 30°. Essayer avec les valeurs maximum permises pour voir ce que ça donne.
-
-
La bibliothèque SlowMotionServo 24 avril 2019 11:07, par Luc DE VLEESCHOUWER
Merci pour vos bons conseils mais cela ne fonctionne toujours pas. Je vous transmets les messages d’erreurs que je reçois lors de la vérification.
Arduino : 1.8.9 (Windows 7), Carte : "Arduino/Genuino Uno"
Remise:12:12 : error : ’Bounce’ does not name a type
private : Bounce mBoutonOverture ;
C :\Users\Luc\Documents\Arduino\Remise\Remise.ino : In member function ’void Remise::demarre(byte, byte, byte)’ :
Remise:22:3 : error : ’mBoutonOverture’ was not declared in this scope
mBoutonOverture.attach(pinBouton) ;
C :\Users\Luc\Documents\Arduino\Remise\Remise.ino : In member function ’void Remise::gereRemise()’ :
Remise:43:3 : error : ’mBoutonOverture’ was not declared in this scope
mBoutonOverture.update() ; /* met à jour l’état du bouton */
exit status 1
’Bounce’ does not name a type-
Bonjour,
Vous n’avez sans doute pas installé la bonne bibliothèque. Bounce2 s’installe via le gestionnaire de bibliothèques.
-
-
La bibliothèque SlowMotionServo 26 avril 2019 10:28, par Luc DE VLEESCHOUWER
Bonjour,
J’avais déjà ajouté la librairie "Bounce2" (voir mon message du 13 avril) sans succès.-
Le message d’erreur explique que le compilateur ne sait pas ce qu’est
Bounce
.
la seule explication possible est que l’include#include <Bounce2.h>
A sauté du sketch ou à été déplacé.
-
-
La bibliothèque SlowMotionServo 27 avril 2019 12:04, par Luc DE VLEESCHOUWER
Un tout grand merci à tous pour votre aide.
-
La bibliothèque SlowMotionServo 26 novembre 2019 22:11, par Xavier
Bonsoir,
Très bien cette bibliothèque ... Je compte l’utiliser en lien avec la bibliothèque NmraDcc pour des décodeurs d’accessoires divers et variés, inspirés du SmartSwitch de Peco.
J’aurais besoin de quelques précisions sur la plage de valeur acceptées pour les vitesses (setMinToMaxSpeed, setMaxToMinSpeed, setSpeed) qui irait de 0.0 à ???.
Pour les positions (setInitialPosition, GoTo) elles vont de 0.0(défini par setMin) à 1.0(défini par setMax)De plus, si j’ai bien suivi, dans le setup de l’exemple, la séquence
mPorteDroite.setMin(700) ;
mPorteDroite.setInitialPosition(0.1) ;
mPorteDroite.setPin(pinServoPorteDroite) ;
mPorteDroite.goTo(0.0) ;
permet de positionner la porte droite comme défini par setMinMerci
-
Bonsoir,
Il n’y a pas de limite pour la vitesse max excepté la valeur maximum qu’il est possible de stocker dans un nombre flottant d’une part et les débordements de capacité qui pourraient se produire lors des calculs d’autre part. Ceci dépend de l’intervalle de temps entre deux updates et de la trajectoire. En pratique, une vitesse de 1.0 se traduira par un temps de parcours de 10s et une vitesse de 10.0 par un temps de parcours d’une seconde. A vous de choisir ce qui vous convient.
la réponse est oui pour les deux autres questions.
cordialement.
-
-
La bibliothèque SlowMotionServo 29 novembre 2019 20:41, par Xavier
Bonsoir,
Merci pour cette réponse précise que je vais m’empresser d’essayer.
Mon projet avance a grands pas. Je dois encore- Valider le décodeur DCC
- Inclure la gestion de 2 PCF8574, l’un pour visualiser la position des accessoires, le second pour pouvoir les commander soit par des boutons poussoirs, soit par des interrupteurs.
J’ai remplacé le double afficheur 7 segments par un LCD 2*16 en I2C
Cordialement,
-
La bibliothèque SlowMotionServo 15 décembre 2019 20:09, par Fantasio
Bonsoir Jean-Luc.
Tout d’abord un grand merci pour votre travail.
J’utilise des attiny85 pour la plupart des animations au profit de mon club.
Quelques entrées sorties sont suffisantes et l’utilisation d’un Uno serait vraiment de la gourmandise...
Bien évidemment du fait de son timer à 8 bits, l’attiny n’accepte pas la bibliothèque Servo...Est ce également le cas pour SlowMotionServo ?Merci par avance pour votre aide.
-
La bibliothèque SlowMotionServo 15 décembre 2019 21:45, par msport
Peut-être lire :
Le microcontrôleur ATtiny45 (1)commande servo 4 décembre 2018 14:56, par christianToutes les bibliothèques écrites pour Arduino ne fonctionnent pas avec les puces ATtiny. C’est notamment le cas de la bibliothèque Servo car elle utilise le Timer 16 bits absent de l’ATtiny45.
Et du coup SlowMotionServo non plus !
Attention à ce genre de réponse qui paraît évident mais ne l’est absolument pas. Ce n’est pas pour rien si, dans l’article, nous avons reconstitué le signal au lieu d’employer une bibliothèque.Le microcontrôleur ATtiny45 (1)commande servo 5 décembre 2018 09:28, par Jean-Luc
Effectivement, essais faits, c’est la bibliothèque Servo qui ne compile pas faute de support matériel. Il existe une bibliothèque nommée Servo8bit pour les ATTiny 45 et 85 : https://github.com/fri000/Servo8Bit
-
La bibliothèque SlowMotionServo 16 décembre 2019 00:37, par Fantasio
Merci pour votre réponse.
Dommage que cette bibliothèque très intéressante ne puisse être utilisée avec l’attiny. Ce microcontrôleur, il est vrai, est limité et ce n’est pas la première fois qu’une application développée sur l’Arduino ne peut être transférée sur l’attiny...
Bonne continuation et félicitation pour ce site
-
Je n’ai pas utilisé SlowMotionServo sur ATTiny, mais je comprends de la réponse citée de Christian, qu’en utilisant la bibliothèque nommée Servo8bit, SlowMotionServo devrait fonctionner sur ATTiny.
Dites nous si vous essayez.-
Je viens juste de modifier le programme en incluant Servo8bit et en modifiant les numéros des pins por l’adapter à l’attiny85.
La compilation me retourne ces erreurs :
Arduino : 1.8.6 (Windows 10), Carte : "ATtiny25/45/85, ATtiny85, Internal 8 MHz"C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp : In function ’void __vector_3()’ :
C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp:82:44 : error : cannot convert ’volatile uint8_t* aka volatile unsigned char*’ to ’volatile uint16_t* aka volatile unsigned int*’ for argument ’2’ to ’void handle_interrupts(timer16_Sequence_t, volatile uint16_t*, volatile uint16_t*)’
handle_interrupts(_timer1, &TCNT1, &OCR1A) ;
^
C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp : In function ’void initISR(timer16_Sequence_t)’ :C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp:129:5 : error : ’TCCR1B’ was not declared in this scope
TCCR1B = _BV(CS11) ; // set prescaler of 8
^
C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp:136:5 : error : ’TIFR1’ was not declared in this scope
TIFR1 |= _BV(OCF1A) ; // clear any pending interrupts ;
^
C :\Users\Dominique\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp:137:5 : error : ’TIMSK1’ was not declared in this scope
TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt
^
Plusieurs bibliothèque trouvées pour "Servo.h"
Utilisé : C :\Users\Dominique\Documents\Arduino\libraries\Servo
Non utilisé : D :\arduino\arduino-1.8.6\libraries\Servo
exit status 1-
Manifestement, il y a d’autres références à la version 16 bits de Servo qu’il faudrait remplacer par la version 8 bits.
Servo.cpp -> Servo8Bits.cpp
Les concepteurs pourront certainement en dire plus mais un message de 2018 n’a pas eu de suite.
https://www.locoduino.org/spip.php?...-
En attendant vous pouvez tenter de modifier SlowMotionServo.h dans vos "libraries" : Servo.h -> Servo8Bits.h (ne fonctionnera plus pour les Arduino)
-
Merci pour votre aide.
Au point où j’en suis, triturer SlowMotionServo me parait difficile vu mon niveau actuel. Mais bon je vais essayer...
-
Bonsoir.
L’IDE détermine la bibliothèque à utiliser en examinant les includes situés le sketch. Ici il essaye de compiler Servo, pas Servo8bits. Avez vous remplacé le include de Servo.h par Servo8bits.h dans le sketch en plus de l’avoir remplacé dans SlowMotionServo.h ? Si non, il faut le faire.
cordialement.
-
-
-
-
-
-
-
La bibliothèque SlowMotionServo 16 décembre 2019 13:25, par Fantasio
Pas de problème, je vous tiendrai informé du résultat que j’espère positif.
-
La bibliothèque SlowMotionServo 17 décembre 2019 01:16, par Fantasio
Suite à votre message j’ai effectivement remplacé dans le sketch le include de Servo.h par Servo8Bit.h et même manip dans le SlowMotionServo.h
La compilation me retourne désormais uniquement les erreurs suivantes :
In file included from C:\Users\Dominique\Documents\Arduino\attiny_remise8bit\attiny_remise8bit.ino:10:0:
qui correspondrait à #include <SlowMotionServo.h>C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src/SlowMotionServo.h:28:1: error: expected class-name before '{' token { ^ exit status 1 Erreur de compilation pour la carte ATtiny25/45/85
-
C’est à cause de la ligne 27 où il y a :
class SlowMotionServo : public Servo
Il faudrait également remplacer Servo par Servo8bit
-
Je viens de remplacer public Servo par public Servo8Bit, la compilation me retourne maintenant les erreurs suivantes :
Arduino : 1.8.6 (Windows 10), Carte : "ATtiny25/45/85, ATtiny85, Internal 8 MHz" In file included from C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src/SlowMotionServo.h:23:0, from C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src\SlowMotionServo.cpp:19: C:\Users\Dominique\Documents\Arduino\libraries\Servo8Bit-master/Servo8Bit.h: In member function 'unsigned int SlowMotionServo::normalizePos(unsigned int)': C:\Users\Dominique\Documents\Arduino\libraries\Servo8Bit-master/Servo8Bit.h:83:9: error: 'long int Servo8Bit::map(long int, long int, long int, long int, long int)' is private long map(long x, long in_min, long in_max, long out_min, long out_max); ^ C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src\SlowMotionServo.cpp:177:22: error: within this context return mReverted ? map(inPos, mMinPulse, mMaxPulse, mMaxPulse, mMinPulse) : inPos; ^ In file included from C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src/SlowMotionServo.h:23:0, from C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src\SlowMotionServo.cpp:19: C:\Users\Dominique\Documents\Arduino\libraries\Servo8Bit-master/Servo8Bit.h:83:9: error: 'long int Servo8Bit::map(long int, long int, long int, long int, long int)' is private long map(long x, long in_min, long in_max, long out_min, long out_max); ^ C:\Users\Dominique\Documents\Arduino\libraries\SlowMotionServo-master\src\SlowMotionServo.cpp:177:75: error: within this context return mReverted ? map(inPos, mMinPulse, mMaxPulse, mMaxPulse, mMinPulse) : inPos;
-
Allez savoir pourquoi, l’auteur de Servo8bit a cru bon de définir sa propre fonction map qui fait pourtant partie du logiciel Arduino de base. Manque de pot il l’a mise privée. Comme Servo utilise cette fonction et que celle du logiciel Arduino est masquée par celle déclarée dans Servo8bit et que cette dernière est privée, on a cette erreur de compilation.
Donc essayez à la ligne 177 de SlowMotionServo.cpp de remplacer
map
par::map
ce qui forcera l’appel du map du scope global, c’est à dire celui du logiciel Arduino.
-
-
-
-
La bibliothèque SlowMotionServo 17 décembre 2019 22:40, par msport
Bibliothèque modifiée et renommée en 8 bits.
Compile, mais à tester sur ATTiny.Voir en ligne : bibliothèque SlowMotionServo modifiée 8 bits
-
La bibliothèque SlowMotionServo 18 décembre 2019 18:27, par Fantasio
Merci pour votre aide et du temps consacré pour répondre à ma sollicitation....
Effectivement la compilation se fait désormais sans signaler d’erreur.
Je testerai le programme prochainement au sein de mon club...
Bonne continuation
-
La bibliothèque SlowMotionServo comportement erratique avec MQTT 12 février 2020 14:25, par Régis Saint Girons
Bonjour,Je dois contrôler des clapets de ventilation avec un ESP8266 et un servo. J’utilise les librairies ESP8266WiFi.h et PubSubClient.h pour faire des liaisons MQTT wifi entre l’ESP8266 et un thermomètre zigbee.
Je fais tourner sans problème votre exemple RightLeft.ino sur l’ESP8266 mais lorsque je l’intègre dans mon projet avec le wifi et mqtt je n’arrive pas à avoir un fonctionnement cohérent du servo.
Dans mon projet lorsque je reçois un message mqtt j’extrais la payload qui est la position voulu pour le clapet (0 fermée, 1 ouvert). Je la transforme en float et j’utilise votre code :
SlowMotionServo::update(); /* actualisation de la position */ if (servo.isStopped()) { servo.goTo(position); }
J’ai pris soin de faire les setup recommandés min, max, speed, pin SMSLinear...
après reset le servo se déplace à la position voulu mais sans effet slow motion puis il réagit de façon aléatoire aux ordres suivants. Je ne sais pas trop quoi faire pour debugger cela et vos conseils me seront précieux ?
-
La bibliothèque SlowMotionServo 12 février 2020 19:50, par Jean-Luc
Bonsoir,
il est probable que
slowMotionServo::Update()
ne soit pas appelé suffisamment souvent. Il est également probable que la gestion de MQTT soit fautive car trop longue. Pour en avoir le coeur net, enregistrez la valeur de millis() dans un tableau à chaque fois que vous appelezslowMotionServo::Update()
puis au bout d’un nombre d’échantillons suffisamment important imprimez la différence entre deux valeurs successive du tableau. Ça vous donnera un indication. -
La bibliothèque SlowMotionServo 6 avril 2020 20:31, par paul laurence
bonsoir et encore merci pour votre excellent tuto ca ma permis d’apprendre pas mal de chose et surtout me débloquer sur certain projet que j’ai en ce moment. par contre j’aurai une petit question pratique que je n’arrive pas a faire( je suis débutant dans l’arduino). J’ai 2 paire de porte je souhaiterai que une de mes paire s’ouvre qu’il y ai un temps d’attente et que l’autre paire s’ouvre puis inversement. Excuser moi pour cette question un peu bête mais ça fait quelque jour que je me creuse la tête et que j’y arrive pas
en vous remerciant d’avance
-
Bonjour,
il faut que vous fassiez une machine à états avec les états FERMEES, PREMIERE_SOUVRE, SECONDE_SOUVRE, OUVERTES, SECONDE_SE_FERME, PREMIERE_SE_FERME avec des transitions s’effectuant sur le passage du temps. Allez lire l’article « Comment concevoir rationnellement votre système.-
bonjour, merci pour votre aide mais je ne comprend pas ce qu’il faut faire j’essai de refaire le void remise pour que la porte 1 s’ouvre avant la porte 2 mais je ne comprend pas comment faire (l’arduino doit pas être fait pour moi).j’ai bien lu votre article que vous m’avez mis en lien mais je ne comprend pas ce qu’il faut faire.
-
Bonjour,
J’essaye de vous expliquer ça quand j’ai deux minutes (étant donné que je vais en avoir besoin pour ma remise, autant en faire profiter les autres :-)) mais le format des messages à la suite des articles n’est pas idéal. J’ouvrirai un fil sur le forum.
Cordialement.
-
-
-
-
La bibliothèque SlowMotionServo 9 septembre 2020 20:23, par henri_oul
Bonjour, je voulais vous remercier pour cette bibliothèque, elle m’a permis enfin de faire fonctionner mes servos sans bloqué le reste de mon programme
J en profite aussi pour vous dire qu elle fonctionne bien sur esp32 après modification de la bibliothèque servo par esp32_servo
J’ai pas tout testé mais je suis arrivé à faire fonctionner 3 servos suivant les différents modesCédric
-
La bibliothèque SlowMotionServo 17 octobre 2020 11:15, par Antoine (tony04)
Bonjour Jean Luc,
j’utilise cette librairie depuis qu’elle existe et te félicite pour le travail réalisé.Par contre j’ai eu la surprise de voir l’un de mes montages ne plus fonctionner suite à la dernière mise à jour.
Voici la différence que j’ai pu constater :
Pour des raisons de commodité j’utilisais la fonction setMin et setMax pour le tarage de mes servos et cela même en dehors du setup du sketch, c.a.d. dans le loop.
Sur la nouvelle version il semblerait qu’il ne soit plus possible d’utiliser ces fonctions dans le loop, peux-tu me confirmer ce comportement ?
En attendant j’utilise une ancienne version de cette librairie.Merci par avance pour ta réponse et très bon Week-end.
Bien cordialement
Antoine-
Bonjour Antoine,
Effectivement dans la dernière version, pour permettre le réglage « live », j’ai ajouté une machine d’états interne qui distingue les modes de fonctionnement. Je vais regarder mais il se pourrait que ça soit dû à ça.
Bien cordialement
-
-
La bibliothèque SlowMotionServo 9 novembre 2021 18:04, par Didier
Bonjour j’aimerais trouver un programme qui commande 4 servomoteur en même temps,le même mouvement de 0 à 90 et 90 à 0 en continu merci beaucoup
C’est parceque j’ai 64 ans et je n’y connais rien merci beaucoup cordialement Didier -
La bibliothèque SlowMotionServo 9 novembre 2021 21:18, par msport
Bonsoir,
potentiellement pas besoin de programme spécifique :
vous câblez les quatre servos en parallèle, ils exécuteront le même mouvement si ils sont identiques.
Si besoin vous utilisez quatre sorties qui prennent la même valeur en même temps.
Cordialement
-
La bibliothèque SlowMotionServo 10 décembre 2021 11:19, par Didier
Bonjour j’ai un projet avec servomoteur un bûcheron qui abat un arbre le bûcheron arrête et l’arbre tombe reste coucher x seconde ce releve et le bûcheron recommence si quelqu’un pouvait m’aider car j’ai 64 ans et je ni connais rien en programmation merci beaucoup cordialement Didier
-
Bonsoir,
sauf intérêt particulier, Locoduino ne réalise pas de programmes tout faits. Voyez via le forum si quelqu’un a le même projet. En tout état de cause, pour ce type de réalisation simple, vous pouvez vous inspirer de l’exemple Sweep de la bibliothèque Servo facilement modifiable pour un 2e servo.
Cordialement.Voir en ligne : Comment piloter un servomoteur avec un Arduino
-
Bonjour je vous remercie beaucoup pour je vais essayer de trouver encore merci cordialement Didier
-
-
-
La bibliothèque SlowMotionServo 12 janvier 2023 12:03, par Jean François
Bonjour,
j’ai voullu utiliser le programme remise en le modifiant pour une seule porte.Dans le programme j’ai donc supprimé toutes les instructions contenant Porte Droite
La compilation se passe assez bien mais le televersement s’arrete et j’ai des messages d’erreurs du type
avrdude:st500_getsync()attempt 0 of 10:not_in sync:resp=0x1c
avrdude:st500_rec()programer is not responding
Ce message va de 0 a 10
a droite un autre message d’erreur indique
upload error:failed reploading:uploading error:exit status1
que dois je faire pour arriver a ouvrir et fermer une seule porte
cordialement-
Bonjour,
Il est peu probable que les problèmes de téléversement du sketch soit dûs à vos modifications. Pouvez vous téléverser un autre sketch dans cet Arduino, Blink par exemple ?
Sinon, il est inutile de modifier le sketch pour ne manœuvrer qu’une seule porte car il suffit de ne pas brancher le second servo, voilà tout ☺️
-
-
La bibliothèque SlowMotionServo 15 janvier 2023 11:43, par Jean François
Bonjour, merci pour votre réponse
J’ai televersé Blink comme vous me l’avez suggéré.
Cela ne marche pas j’ai toujour une indiquation d’erreur
Il faut que je regle ça avant de recharger "remise"
Concernant la porte unique c’est tellement evident que je n’y ai même pas pensé
Cordialement -
Où et comment demander de l’aide ? 15 janvier 2023 13:43, par msport
Bonjour,
votre problème est basique et n’a rien à voir avec l’article.
Voyez comment le présenter sur le forum.
https://www.locoduino.org/spip.php?...
Et avant relisez les articles d’initiation :
https://www.locoduino.org/spip.php?...Si vous utilisez le bon port, vous n’avez peut-être pas choisi le bon Nano ...
Cordialement
-
La bibliothèque SlowMotionServo application "remise" 15 janvier 2023 15:04, par Besseyre Guy
Bonjour à tous
après de nombreux essais, je n’arrive pas à rajouter au programme "remise"
le clignotement d’une led quand les portes sont FERMEES ;
merci de votre aide-
Bonjour,
Vous pouvez présenter votre demande sur le forum en joignant votre meilleur essai.
https://www.locoduino.org/spip.php?...
Cordialement
-
-
La bibliothèque SlowMotionServo 2 avril 2023 18:33, par Francois Constant
Bonjour, comment introduire cette fonction dans le code du PN décrit dans les 5 articles
-
La bibliothèque SlowMotionServo 2 avril 2023 21:21, par msport
Bonjour,
vous pouvez utiliser le sketch de démonstration pour une remise double-porte remise.ino en remplaçant le bouton poussoir par des ILS ou des détecteurs FC-51 en parallèle.
Cordialement -
La bibliothèque SlowMotionServo 13 septembre 2023 18:42, par Pépito
Pour info, afin de pouvoir disposer de la fonction delay() ou d’avoir un programme conséquent qui va impacter la fonction SlowMotionServo::update()
Il est possible de placer cette fonction dans une boucle while qui va permettre un rafraichissement très rapide de l’état du servo.
ici le booléen Départ permet de rentrer la première fois dans la boucle puis c’est la fin du mouvement du servo qui permet d’en sortir :bool Depart = 1; while(Depart == 1 || monServo.isStopped() == 0){ Depart = 0; if (monServo.isStopped()) { positionCible = 1 - positionCible; monServo.goTo(positionCible); } SlowMotionServo::update(); /* actualisation de la position */ } delay(5000);
-
La bibliothèque SlowMotionServo 30 octobre 2023 17:09, par CHAUVIN Patrick
bonjour Jean-Luc,
tout d’abord merci pour ces explications précises et ce sketch de mouvement de portes de remises.
Je l’ai adapté pour une remise de 5 garages à 2 portes soit 10 portes en tout avec un déclenchement d’ouverture par des ILS. Tout fonctionne très bien sauf qu’à la mise sous tension de l’Arduino Uno, tous les servomoteurs se mettent à faire un soubresaut très violent et ne retrouvent pas leur position d’origine, portes ouvertes ou fermées, les portes se retrouvent à mi chemin. J’utilise des petits servos SG90. Je ne vois pas du tout d’où peut provenir ce problème, auriez vous une idée ?
Merci d’avance pour l’aide que vous m’apporterez.
Bien cordialement
Patrick-
Bonjour Patrick,
À priori, ce problème survient car, à la mise sous tension, l’électronique du servo interprète le signal (qui est alors flottant) conjointement avec la montée de l’alimentation, comme un pulse qui fixe alors une position du servo.
Normalement, ce problème peut être réglé en mettant une résistance de quelque kΩ (essayez 10 kΩ) entre le signal et le 5V.-
Merci Jean-Luc pour cette réponse ultra rapide ! Je ne suis pas sur place mais je ferai cette modification dès la semaine prochaine et vous tiendrai au courant
Bonne soirée
Bien cordialement
-
-
-
La bibliothèque SlowMotionServo 8 juin 2024 18:22, par jacques filippi
Magnifique travail (comme toujours) pour la mise au point de cette bibliothèque.
j’ai pu m’apercevoir en écrivant mon programme ( barrières de PN ) qu’elle avait de nombreuses méthodes que vous n’abordez pas dans article. C’est normal il serait bien trop long.
Cependant existe il une documentation qui les liste, car en général leur nom est suffisamment explicite pour comprendre leur utilité ?
Merci d’avance et félicitations pour votre travail, j’ai tout appris sur Locoduino pour la mise en œuvre des arduinos sur mon réseau
-
Merci Jacques pour tous ces compliments !
Oui il existe une documentation, elle est en anglais et elle se trouve dans le répertoire de la bibliothèque. Vous pouvez la lire aussi sur GitHub : https://github.com/Locoduino/SlowMo...
Si vous n’êtes pas à l’aise en anglais, je vous conseille DeepL pour traduire : https://www.deepl.com/translator-
Merci pour ce retour si rapide.
je vais voir ça 👍
Mon anglais est au plus bas mais en général pour ce « genre » de texte, j’arrive à me débrouiller 😉😉
-
-