Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1707 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  150  151  152  ..  264  265  266  267  268  269
Auteur Sujet :

[arduino] Topic Unique blabla @ Arduino

n°193365
Aline BOQS
fan de son cabri au lait.
Posté le 30-01-2018 à 23:02:53  profilanswer
 

Reprise du message précédent :
Tu as ça aussi qui est pas mal : https://pastebin.com/
 
Et sinon, effectivement, "verbose" ça veut bien dire "tous les détails".  :jap:


---------------
-=* Feedback de Liline *=- _._ -=* Ptit bazar à Liline *=-  
mood
Publicité
Posté le 30-01-2018 à 23:02:53  profilanswer
 

n°193372
Profil sup​primé
Posté le 31-01-2018 à 01:03:02  answer
 

Y a un logiciel pour utiliser git sur Windows qui s'installe comme n'importe quel programme. De loin ça parait compliqué mais suffit de lire les trois ou quatre premiers chapitres du livre gratuit Progit 2n édition et t'es paré. En une semaine t'as compris comment ça marche.

 

Franchement l'investissement en temps au début tu le récupères fois mille par la suite. Imagine qu'à chaque sauvegarde (ils appellent ça commit) il te fait une copie exacte du répertoire de ton projet, auxquelles tu peux ajouter des commentaires pour te souvenir pourquoi t'as sauvegardé à ce moment là. Et le système de branches te permet de tester n'importe quelle idée et soit de supprimer la branche si ça marche pas soit de la "merger" dans ta branche principale.

 

Je parle de git parce que c'est le seul que je connais mais n'importe quel logiciel de version control vaut mieux que de travailler sans sauvegardes.

n°193377
Profil sup​primé
Posté le 31-01-2018 à 03:53:23  answer
 

Carbon'R a écrit :


 
A la limite, il y a le cas ou (temp_ext + ((temp_combles - temp_ext) / 2)) = temp_int, c'est vrai, quoiqu'avoir ces 3 températures strictement identiques ne doit pas arriver souvent :D modeEte est un bool, lié à la lecture d'une entrée numérique (interrupteur 3 positions), donc pas d'autres états possibles que 0 ou 1
 
 


Je ne fais que traduire ce que dit l'erreur :o

Carbon'R a écrit :


 
Quel en est l'intérêt ? Question naïve je précise  
 


Juste une préférence. "return" stoppe l'exécution de la fonction et quitte la fonction. C'est que mon avis mais un return au milieu d'une fonction a plus de sens pour une erreur. Dans le cas d'une erreur tu peux décider de retourner directement une valeur (par exemple un message d'erreur) parce que tu sais que ça n'a plus de sens d'exécuter le reste de la fonction.
Mais on peut me répondre que le return signifie que la fonction ne fait rien d'autre donc que c'est une information utile. Question de préférence.
 
Par contre comme ta fonction n'est pas de type void tu dois forcément retourner quelque chose donc tu dois couvrir tous les cas.
 
Après ça va rien changer dans le cas de ta fonction. Mais par exemple si tu décides d'ajouter autre chose à la fin de cette fonction tu peux pas utiliser return.

Carbon'R a écrit :


 
Onewire et Dallastemperature
 


Dallastemperature semble avoir deux fonctions pour s'occuper du CRC. C'est pas la priorité pour ton problème mais ça peut aider de savoir que les données reçues sont correctes.

Carbon'R a écrit :


 
Site genre github ? Va falloir que je comprenne comment ça marche :D
Déjà, j'ai modifié le code suite aux remarques sur les const, je testerai ça quand j'aurais le temps (l'arduino est dans les combles donc ce n'est pas l'affaire de 2 minutes)


Pas github. Juste un site pour partager du texte. Comme celui cité par Aline BOQS.

n°193549
rat de com​bat
attention rongeur méchant!
Posté le 01-02-2018 à 01:36:33  profilanswer
 

Concernant git et Co, il y a la version basique aussi: Une clé USB et une copie du fichier qu'on renomme en rajoutant _(date)_(heure). Evidemment c'est moins puissant mais plus simple aussi et ça peut suffire dans bien des cas. :o

n°194272
Carbon'R
Fahren macht frei
Posté le 07-02-2018 à 22:22:43  profilanswer
 

[:panzani gino] j'ai enfin pu prendre le temps de m'y remettre. J'ai essayé de prendre en compte la majeure partie de vos remarques sur le code.
 
Code actuel : https://pastebin.com/vU00DyBL
 
Ca merdoie comme les autres essais : une fois sur deux en moyenne si ce n'est plus, j'ai des températures qui correspondraient à des erreurs ou autres (-0.06, 85...)
Compilation avec rapport détaillé : https://pastebin.com/9seQP4YW
J'ai tenté d'ajouter un cas + le default sur la fonction, ça renvoie toujours une erreur.... Par contre si je mets en commentaire les appels à la fonction (ligne 237 déjà commentée, 271 pour l'autre ligne), les températures renvoyées sont correctes et sans défaut.
 
Le dernier code 100% fonctionnel : https://pastebin.com/Z3V5jZ2B
 
Si quelqu'un trouve le détail à la con qui doit se cacher quelque part... [:tyl]


---------------
Dunkelheit
n°194278
rat de com​bat
attention rongeur méchant!
Posté le 07-02-2018 à 23:32:34  profilanswer
 

quelque remarques qui me sautent à l'oeil:
Faut mettre le return resultatTest; après l'accolade fermante du switch.
Concernant l'autre warning ("large integer implicitly truncated..." ) faudrait nous montrer le code.
Pour ta fonction timerMesureSec(), il y a encore un const qui traîne et si previousMillis est censée être une variable locale faut la déclarer à l'intérieur du bloc de la fonction...
Par ailleurs je vois que tu as parfois des "&" dans tes arguments de fonctions. Je ne maîtrise pas le C++, internet me dit que cela fait qu'une référence vers la variable, un peu comme un pointeur, est passée, mais je ne vois pas l'utilité dans ce code de faire ça.

n°194279
ObsydianKe​nobi
peloton suicida
Posté le 07-02-2018 à 23:41:42  profilanswer
 

Y a quand même vachement plus de différences entre les deux qu'un simple "comment" d'une ligne [:mouais]


---------------
Long-range goals keep you from being frustrated by short-term failures. RIP VC
n°194282
jimbofarra​r
Poreux de la cafetière
Posté le 07-02-2018 à 23:47:33  profilanswer
 

Dans ton "dernier code 100% fonctionnel"
 
Lignes 88, 90, 92, 94, 322 enlève les const, ce sont des variables.
 
La ligne 319 est en dehors d'une fonction et de plus déclarée static (c'est inutile)
 
Ligne 249, 300 et 340 enlève aussi les const
 
Ligne 322 comme dit précédemment enlève le const et c'est un unsigned long
 
Sur un premier jet vite fait, il y a certainement d'autres erreurs (pas besoin des void sur setup() et loop() par exemple, ce qui ne doit pas générer d'erreur )


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°194284
jimbofarra​r
Poreux de la cafetière
Posté le 07-02-2018 à 23:52:12  profilanswer
 

Il y a aussi comme le souligne le rongeur guerrier l'opérateur & renvoie l'adresse d'une variable et non sa valeur.


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°194285
rat de com​bat
attention rongeur méchant!
Posté le 07-02-2018 à 23:57:45  profilanswer
 

jimbofarrar a écrit :

Il y a aussi comme le souligne le rongeur guerrier l'opérateur & renvoie l'adresse d'une variable et non sa valeur.

Si on l'utilise devant une variable lors d'une attribution ou d'un test. Si on l'utilise devant un argument de fonction ça indique la passage d'une référence.

Citation :

La ligne 319 est en dehors d'une fonction et de plus déclarée static (c'est inutile)

Si c'est déclarée comme variable globale dans ce cas le static est inutile, par contre si tu mets la déclaration à l'intérieur de la fonction faut surtout garder le static pour que la variable retienne sa valeur entre deux appels de la fonction!

Message cité 1 fois
Message édité par rat de combat le 07-02-2018 à 23:59:02
mood
Publicité
Posté le 07-02-2018 à 23:57:45  profilanswer
 

n°194286
jimbofarra​r
Poreux de la cafetière
Posté le 08-02-2018 à 00:08:05  profilanswer
 

rat de combat a écrit :

Si on l'utilise devant une variable lors d'une attribution ou d'un test. Si on l'utilise devant un argument de fonction ça indique la passage d'une référence.


Là c'est inutile puisqu'il n'y a pas de modification des variables passées en paramètres, un passage par valeur est suffisant (le passage par référence fonctionne aussi bien évidemment)
 

rat de combat a écrit :


Citation :

La ligne 319 est en dehors d'une fonction et de plus déclarée static (c'est inutile)

Si c'est déclarée comme variable globale dans ce cas le static est inutile, par contre si tu mets la déclaration à l'intérieur de la fonction faut surtout garder le static pour que la variable retienne sa valeur entre deux appels de la fonction!


Mon mauvais, il faut garder le static effectivement.


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°194287
rat de com​bat
attention rongeur méchant!
Posté le 08-02-2018 à 00:28:30  profilanswer
 

jimbofarrar a écrit :

Là c'est inutile puisqu'il n'y a pas de modification des variables passées en paramètres, un passage par valeur est suffisant

Exactement. :jap:  

Citation :

(le passage par référence fonctionne aussi bien évidemment)

C'est vrai, mais attention si on modifie l'argument dans la fonction on modifie aussi la valeur de la variable "d'origine". Il faut en être conscient, ça peut être le comportement souhaité comme ça peut créer des ennuis si c'est fait de manière inconsciente.

n°194289
Carbon'R
Fahren macht frei
Posté le 08-02-2018 à 06:35:12  profilanswer
 

rat de combat a écrit :

quelque remarques qui me sautent à l'oeil:
Faut mettre le return resultatTest; après l'accolade fermante du switch.
Concernant l'autre warning ("large integer implicitly truncated..." ) faudrait nous montrer le code.
Pour ta fonction timerMesureSec(), il y a encore un const qui traîne et si previousMillis est censée être une variable locale faut la déclarer à l'intérieur du bloc de la fonction....


 
Mon mauvais pour le return, je l'ai déplacé :jap:
Bibliothèque récupérée là : https://forum.arduino.cc/index.php?topic=375232.0
Le fichier .cpp : https://pastebin.com/u5jJFEhP
previousMillis est sensée être locale oui, c'est une fonction que je balade de code en code pour gérer mes déclenchements de mesures/actions. J'ai 4 autres arduinos qui l'utilisent sans souci. Je sais que le mieux serait d'inclure ça dans une bibliothèque mais vu mon temps disponible je m'y attèle pas encore  :sweat:  
 

ObsydianKenobi a écrit :

Y a quand même vachement plus de différences entre les deux qu'un simple "comment" d'une ligne [:mouais]


 
- la v5 (le dernier code fonctionnel) n'est plus utilisable en l'état, du moins pas en configuration hiver
- la v6 qui a posé souci semblait douteuse au niveau du code, avec une fonction que je me traînais à chaque fois (getTemperature)  
Du coup je suis parti sur l'option de refaire le code de la v6 au propre, en me disant que rien que de corriger toutes les erreurs de débutant et utiliser une bibliothèque qui ne me renvoie pas d'erreur, ça peut résoudre le problème.  
La v6 "originale" (non fonctionnelle) directement dérivée de la v5 fonctionnelle : https://pastebin.com/iV4pawAp
C'est en mettant la gestion du bouton inoxActif en commentaire que je rendais la v5 non fonctionnelle
J'avais tenté la mise en commentaire de toute la gestion du bouton géré par la bibliothèque simplebouton, ça ne résolvait pas le problème non plus.
 

jimbofarrar a écrit :

Dans ton "dernier code 100% fonctionnel"
 
Lignes 88, 90, 92, 94, 322 enlève les const, ce sont des variables.
 
La ligne 319 est en dehors d'une fonction et de plus déclarée static (c'est inutile)
 
Ligne 249, 300 et 340 enlève aussi les const
 
Ligne 322 comme dit précédemment enlève le const et c'est un unsigned long
 
Sur un premier jet vite fait, il y a certainement d'autres erreurs (pas besoin des void sur setup() et loop() par exemple, ce qui ne doit pas générer d'erreur )


 
j'avias entre temps quasiment tout pris en compte à part sur la fonction timerMEsureSec() :jap:
 
 

rat de combat a écrit :

Exactement. :jap:  

Citation :

(le passage par référence fonctionne aussi bien évidemment)

C'est vrai, mais attention si on modifie l'argument dans la fonction on modifie aussi la valeur de la variable "d'origine". Il faut en être conscient, ça peut être le comportement souhaité comme ça peut créer des ennuis si c'est fait de manière inconsciente.


 
C'est pour ça que j'avais "appris" à mettre des & quand je ne voulais aps modifier la variable :jap:


---------------
Dunkelheit
n°194332
rat de com​bat
attention rongeur méchant!
Posté le 08-02-2018 à 12:46:48  profilanswer
 

Carbon'R a écrit :

C'est pour ça que j'avais "appris" à mettre des & quand je ne voulais aps modifier la variable :jap:

C'est justement l'inverse:  
Avec & -> référence ->modification possible de la variable "d'origine"
Sans & -> passage par valeur -> même si on modifie la variable dans la fonction la variable "d'origine" reste inchangée.
Dans ton cas les & sont inutiles.

n°194352
jimbofarra​r
Poreux de la cafetière
Posté le 08-02-2018 à 17:06:52  profilanswer
 

Une question au passage : A quoi sont censés te servir les return en lignes 117, 126, 138, 205 et 241 ?
 
Parce que dans la loop() le code qui suit ne sera jamais exécuté !


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°194354
Carbon'R
Fahren macht frei
Posté le 08-02-2018 à 17:21:04  profilanswer
 

rat de combat a écrit :

C'est justement l'inverse:  
Avec & -> référence ->modification possible de la variable "d'origine"
Sans & -> passage par valeur -> même si on modifie la variable dans la fonction la variable "d'origine" reste inchangée.
Dans ton cas les & sont inutiles.


 
:jap: j'ai supprimé
 

jimbofarrar a écrit :

Une question au passage : A quoi sont censés te servir les return en lignes 117, 126, 138, 205 et 241 ?
 
Parce que dans la loop() le code qui suit ne sera jamais exécuté !


 
Ceux en lien avec les boutons : j'avais des merdes dans la gestion, il y avait conflit avec l'activation des modes nuit/pause, exemple : je rentre dans la boucle if ligne 111, ça m'active le mode nuit, puis ça passe la ligne ligne 120, comme le mode nuit est activé et le bouton aux dernières nouvelle a été enfoncé, ça me désactivait instantanément le mode nuit. J'aurais aussi peut, peut être, passer par une nouvelle actualisation de l'état du bouton. La solution que j'ai adoptée, c'est de dire que puisqu'il y a eu changement d'état, on reprend à zéro la boucle. J'ai l'avantage de ne rien avoir de critique en termes de temps de calcul : les boutons sont quasiment instantanés (seul délai : le retour d'état par la LED témoin soit max 3 sec), mais la partie prise de mesure et régulation en conséquence se fait toutes les 30 sec, ça marcherait aussi bien toutes les minutes, même quand j'aurais pua jouter la gestion du chauffage électrique de la pièce (pas possible de le faire tant qu'une mesure sur 2 renvoie n'importe quoi).
 
Celles pour les cas d'erreurs, ça vient du code que j'avais récupéré, ça évite du coup de faire de la régulation avec des valeurs erronées. Il aurait probablement eu moyen de faire autrement là aussi.


---------------
Dunkelheit
n°194355
jimbofarra​r
Poreux de la cafetière
Posté le 08-02-2018 à 17:31:10  profilanswer
 

Code :
  1. if (!nuit && !pause && bouton_V.vientDEtreEnfonce()) //activation mode nuit
  2.   {
  3.     nuit = 1;
  4.     stock_millis = millis(); //enregistrement moment activation
  5.     vitesse = 0;
  6.     downfade(PIN_LED, 20);
  7.   }
  8.     else if((nuit || pause) && bouton_V.vientDEtreEnfonce()) //désactivation modes nuit ou pause
  9.     {
  10.       pause = 0;
  11.       nuit = 0;
  12.       vitesse = 1;
  13.       upfade(PIN_LED, 40);
  14.     }


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°194561
Carbon'R
Fahren macht frei
Posté le 09-02-2018 à 22:08:02  profilanswer
 

Effectivement, ça me paraît pas plus mal :jap:
 
J'ai encore passé un peu plus d'une heure à tester des solutions, j'arrive à ça, qui marche au niveau lecture, en utilisant plus l'appel à la fonction... mais avec une erreur sur le bool gérant l'état du transistor servant de relais de commande (testVExt à la place de testVInox). Quand je remplace par testVInox, ça se remet à renvoyer des erreurs  [:tinostar]  
Code : https://pastebin.com/DGq3jQRC
Le bol ext ligne 44 est un reliquat de tentative infructueuse que je n'avais pas enlevé
 
Du coup j'ai changé le branchement en attendant de comprendre (j'ai mis le fil de commande du ventilo de la prise d'air extérieur sur la commande du ventilo inox), au moins ça fonctionne  [:bobbyfrasier:5] Avec la sortie détaillé et tous les avertissements compilateur, la seule chose qui a l'air de remonter une erreur, c'est la bibliothèque bouton, pourtant j'avais testé en enlevant toutes les instructions liées, ça ne résolvait pas le problème...


---------------
Dunkelheit
n°194721
Manisque
Posté le 11-02-2018 à 18:41:51  profilanswer
 

Manisque a écrit :


Il me semble bien avoir vu ça quelque part, mais plus récemment.
 


 

Manisque a écrit :


Je suis en train de mettre une raspi pour contrôler un soft de navigation/mediaplayer avec les commandes au volant de la radio :o.
 
http://www.kirikoo.net/images/7man [...] 232847.jpg
Par contre c'est un peu sommaire et pas très fonctionnel pour le moment :o.


 
Première étape done:
http://www.kirikoo.net/images/7manx86-2-20180211-183723.jpg
http://www.kirikoo.net/images/7manx86-1-20180211-183720.jpg
 
En fait l'afficheur est voué à dégager, mais ça permet de debugger les boutons sous le volant :o.


---------------
Si tu bois froid juste après le potage chaud, ça va faire sauter l'émail de tes dents - Monorailcat iz ohverin
n°196195
Turkleton
I don't quite understand you
Posté le 23-02-2018 à 17:43:13  profilanswer
 

J'ai acheté un voltmètre analogique 5V comme celui-ci : https://i.ebayimg.com/images/g/bpEAAOSw44BYkb7T/s-l1600.jpg
 
Je le relie à une sortie PWM d'un Arduino, y'a aucun souci, ça fonctionne exactement comme ça devrait, de 0 à 5V.
 
Mais comme je compte l'utiliser avec des modules 3,3V, forcément ça marche pas pareil et au max du signal de analogWrite, l'aiguille ne monte naturellement que jusqu'à 3,3V.  
J'ai donc pensé utiliser un step-up 5V pour "booster" le signal, mais je perds la linéarité donc pas une bonne solution.
Je me suis dit ensuite que j'allais passer par un logic level converter, avant de me rappeler que ça ne fonctionne pas pour les signaux analogiques.
 
Du coup, y a-t-il une autre façon de faire ? Au niveau électrique peut-être, genre avec un transistor ? Est-ce que je garderai une pseudo-linéarité quand même ?


---------------
If you think it could look good, then I guess it should
n°196197
Nitescent
Posté le 23-02-2018 à 18:12:30  profilanswer
 

Imprime des nouvelles graduations :o
 
Pourquoi tu veux absolument que ça monte à 5V?

n°196198
rat de com​bat
attention rongeur méchant!
Posté le 23-02-2018 à 18:15:52  profilanswer
 

Turkleton a écrit :

Du coup, y a-t-il une autre façon de faire ?

amplificateur operationnel en montage amplificateur non inverseur et step-up pour produire les 5V pour alimenter l'AOP.

n°196199
Turkleton
I don't quite understand you
Posté le 23-02-2018 à 18:17:47  profilanswer
 

Nitescent a écrit :

Imprime des nouvelles graduations :o
 
Pourquoi tu veux absolument que ça monte à 5V?

Parce que je veux utiliser toute la graduation (je m'en fous de la tension en fait, je veux juste pouvoir fixer l'aiguille sur telle ou telle position entre tout à gauche et tout à droite).
 

rat de combat a écrit :

amplificateur operationnel en montage amplificateur non inverseur et step-up pour produire les 5V pour alimenter l'AOP.


Un lm324n ferait l'affaire ? (j'en ai un qui traîne)

Message cité 1 fois
Message édité par Turkleton le 23-02-2018 à 18:18:21

---------------
If you think it could look good, then I guess it should
n°196200
Natopsi
☄️Just end it already!☄️
Posté le 23-02-2018 à 18:39:07  profilanswer
 

Turkleton a écrit :

Du coup, y a-t-il une autre façon de faire ? Au niveau électrique peut-être, genre avec un transistor ? Est-ce que je garderai une pseudo-linéarité quand même ?


Si tu as du 5V à dispo tu fait un circuit comme ça où la bobine du relais c'est ton voltmètre:
http://reho.st/https://www.sonelec-musique.com/images3/electronique_pic_tuto_base_activation_sortie_001c.gif
Si t'as pas de 5V dispo tu peux environ doubler ton 3.3V avec un circuit de ce genre, ou le sinus est remplacé par une sortie PWM à 50% et toujours activée:
http://reho.st/https://i.stack.imgur.com/YswvV.png


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°196201
Turkleton
I don't quite understand you
Posté le 23-02-2018 à 18:47:29  profilanswer
 

J'essaierai ça aussi, merci :jap: (mais que la semaine prochaine, là c'est week-end ! :) )


---------------
If you think it could look good, then I guess it should
n°196203
jimbofarra​r
Poreux de la cafetière
Posté le 23-02-2018 à 19:10:09  profilanswer
 

Un convertisseur de niveaux ira très bien, c’est du pwm.


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°196204
Turkleton
I don't quite understand you
Posté le 23-02-2018 à 19:39:45  profilanswer
 

C'est à dire ? Tu aurais des références ?


---------------
If you think it could look good, then I guess it should
n°196205
rat de com​bat
attention rongeur méchant!
Posté le 23-02-2018 à 20:25:59  profilanswer
 

Turkleton a écrit :

Un lm324n ferait l'affaire ? (j'en ai un qui traîne)

Il n'est pas rail-to-rail, si tu veux 5V en sortie faut l'alimenter avec au moins 6,5V, donc pas vraiment.

Citation :

Si tu as du 5V à dispo tu fait un circuit comme ça où la bobine du relais c'est ton voltmètre:

Ca permet de fixer l'aiguille à n'importe quelle position, autrement dit un comportement linéaire? De mémoire ce genre de circuit c'est plutôt pour faire une commande tout ou rien.

Citation :

Un convertisseur de niveaux ira très bien, c’est du pwm.

Un convertisseur 3,3V-5V pour des signaux logiques ne permettra pas de faire varier la tension entre 0V et 5V pour positionner l'aiguille du voltmètre où on veut.
 
Le circuit pour doubler les 3,3V de Natopsi pour alimenter un AOP en ampli non inverseur devrait faire l'affaire. Et si on arrive à 2*3,3=6,6V on doit même pouvoir utiliser le LM324 (mais il faudra une deuxième sortie PWM pour l'entrée du circuit AOP).

n°196206
Natopsi
☄️Just end it already!☄️
Posté le 23-02-2018 à 21:00:52  profilanswer
 

rat de combat a écrit :

Ca permet de fixer l'aiguille à n'importe quelle position, autrement dit un comportement linéaire? De mémoire ce genre de circuit c'est plutôt pour faire une commande tout ou rien.


Si le transistor est piloté en PWM oui  ;)


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°196207
Manisque
Posté le 23-02-2018 à 21:01:50  profilanswer
 

rat de combat a écrit :

Ca permet de fixer l'aiguille à n'importe quelle position, autrement dit un comportement linéaire? De mémoire ce genre de circuit c'est plutôt pour faire une commande tout ou rien


 
C'est l'idée, tu convertis un signal tout ou rien (peu importe sa tension) par du 0-5V tout ou rien. Sauf que le signal tout ou rien n'est pas n'importe quel signal, mais un signal PWM :o.
Du coup l'inertie du bouzin (inductance + masse de l'aiguille) lisse le signal à sa valeur moyenne.


---------------
Si tu bois froid juste après le potage chaud, ça va faire sauter l'émail de tes dents - Monorailcat iz ohverin
n°196208
jimbofarra​r
Poreux de la cafetière
Posté le 23-02-2018 à 21:02:53  profilanswer
 

Une sortie PWM ne fait pas directement varier la tension de 0 à 5V mais la hache avec un rapport cyclique variable de 0 à 100%
C’est la valeur moyenne qui varie.
 
Avoir appelé ça analogWrite est une erreur.
 
Je persiste, un convertisseur de niveaux est suffisant (un rapport cyclique de 50% en entrée à 3,3V donnera en sortie un rapport cyclique de 50% sur 5V, et c’est valable de 0 à 100%)


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°196224
rat de com​bat
attention rongeur méchant!
Posté le 24-02-2018 à 00:30:47  profilanswer
 

Natopsi a écrit :

Si le transistor est piloté en PWM oui  ;)

Ah oui, j'oubliais, avec l'inertie du système mécanique ça doit marcher.

Citation :

Je persiste, un convertisseur de niveaux est suffisant (un rapport cyclique de 50% en entrée à 3,3V donnera en sortie un rapport cyclique de 50% sur 5V, et c’est valable de 0 à 100%)

Oui c'est vrai, la encore avec le PWM ça fera l'affaire, j'oubliais ce détail. :o J'ai un peu confondu PWM et PWM + passe-bas pour avoir une tension DC...


Message édité par rat de combat le 24-02-2018 à 00:31:41
n°196480
Turkleton
I don't quite understand you
Posté le 26-02-2018 à 12:43:44  profilanswer
 

Je viens d'essayer avec un convertisseur de niveaux et j'ai un résultat extrêmement bizarre [:transparency]  
 
Effectivement, quand je surveille au multimètre numérique, j'ai bien un signal de sortie proportionnel 0~5V pour un signal d'entrée 0~3.3V.
Par contre, dès que je branche le voltmètre analogique à la place, je plafonne à un peu moins de 3.3V (confirmé par le multimètre en parallèle) :pt1cable:  
 
Une idée concernant cette étrangeté ?
 
En attendant je vais essayer le montage "bobine" de Natopsi.


---------------
If you think it could look good, then I guess it should
n°196486
Natopsi
☄️Just end it already!☄️
Posté le 26-02-2018 à 13:04:59  profilanswer
 

L'impédance d'entrée du voltmètre analogique est peut être trop faible vu que tu doit utiliser un de ces convertisseurs de niveau de ce genre là:
https://learn.sparkfun.com/tutorial [...] okup-guide
Ça marche bien si l’impédance de ce que tu alimente est ~10 fois plus grande que celle de la résistance R4.


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°196487
Turkleton
I don't quite understand you
Posté le 26-02-2018 à 13:11:17  profilanswer
 

:jap:  
 
En tout cas ton montage avec le transistor (j'avais que des BC547B mais ça a l'air d'être pareil) fonctionne parfaitement, merci beaucoup ! :)
 
EDIT : on est d'accord que j'ai pas besoin de la diode ? Ou alors l'aiguille peut générer du courant en retombant ?

Message cité 1 fois
Message édité par Turkleton le 26-02-2018 à 14:32:00

---------------
If you think it could look good, then I guess it should
n°196625
Profil sup​primé
Posté le 27-02-2018 à 12:16:00  answer
 

Hello all,
 
Dans le cadre d'un projet, j'aurais besoin d'une soixantaine de sorties PIN. Je croyais m'en sortir en utilisant le composant SN74HC595N mais j'y arrive simplement pas... Ca beug dans tous les sens sans que je comprenne vraiment la raison.  
 
Il y aurait un moyen plus simple d'obtenir une soixantaine de sorties PIN et de pouvoir jouer avec ? J'ai deja la carte MEGA2560 mais il m'en maqnue quelques uns...  
 
Merci d'avance.

n°196626
jimbofarra​r
Poreux de la cafetière
Posté le 27-02-2018 à 12:40:59  profilanswer
 


Tu peux utiliser les 16 entrées analogiques comme entrées/sorties numériques.
 
Par exemple  
pinMode(A0, output);
digitalWrite(A0, HIGH);


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°196637
Profil sup​primé
Posté le 27-02-2018 à 13:30:39  answer
 

jimbofarrar a écrit :


Tu peux utiliser les 16 entrées analogiques comme entrées/sorties numériques.

 

Par exemple
pinMode(A0, output);
digitalWrite(A0, HIGH);


Désolé j'ai peut être pas les connaissances suffisantes pour comprendre ton post.
Ça te dérange développer davantage ? C'est un nouveau composant ?

n°196639
jimbofarra​r
Poreux de la cafetière
Posté le 27-02-2018 à 13:45:02  profilanswer
 


Sur ta MEGA2560 tu as 16 broches numérotées de A0 à A15 qui sont des entrées analogiques que tu peux utiliser comme entrées/sorties numériques


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°196697
rat de com​bat
attention rongeur méchant!
Posté le 27-02-2018 à 18:57:29  profilanswer
 

Les sorties "PIN" ça n'existe pas, un pin c'est une broche/patte du microcontrôleur... Peut-être tu voulais dire sortie TOR (tout ou rien soit binaire). Sans autres infos les 595 me paraissent adaptés et simples à utiliser, si tu t'en sors pas tu peux toujours montrer ton schéma et ton code... Je viens de voir qu'il y a un tuto sur le site Arduino aussi: https://www.arduino.cc/en/Tutorial/ShiftOut

n°196708
Profil sup​primé
Posté le 27-02-2018 à 21:57:01  answer
 

rat de combat a écrit :

Les sorties "PIN" ça n'existe pas, un pin c'est une broche/patte du microcontrôleur... Peut-être tu voulais dire sortie TOR (tout ou rien soit binaire). Sans autres infos les 595 me paraissent adaptés et simples à utiliser, si tu t'en sors pas tu peux toujours montrer ton schéma et ton code... Je viens de voir qu'il y a un tuto sur le site Arduino aussi: https://www.arduino.cc/en/Tutorial/ShiftOut


Effectivement, je pense que je manque simplement de connaissances. Du coup, jai posté une annonce sur LBC pour des cours. /Naab

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  150  151  152  ..  264  265  266  267  268  269

Aller à :
Ajouter une réponse
 

Sujets relatifs
* Réparations de vos appareils électroniques & electromenager * 
Plus de sujets relatifs à : [arduino] Topic Unique blabla @ Arduino


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR