telemetry
Quoi de neuf

Et si on parlait Arduino ?

  • Forum Electricité - Electronique
  • Auteur du sujet Auteur du sujet jean_marc_cse
  • Date de début Date de début
  • #41
Okey, je commence a y voir clair, ou disons moins trouble.
Laissons tomber la partie brico,mécanique, qui m'intéresse aussi mais que je gère plus ou moins, ou que je demanderai le moment venu

Si j'ai bien compris, il faut donc acheter un écran en plus et un petit clavier?
Et ensuite le modèle se choisi en fonction du nombre d'entrées (capteurs...), et de "sorties" c'est bien ça?
 
  • #42
Pour l'Arduino lui même : il en existe plein, du plus minuscule au plus gros. Voir ici pour un aperçu des modèles existants (sachant qu on peut les acheter ailleurs, hein !) : https://store.arduino.cc/

Le plus classique, l'idéal pour débuter et suffisant pour 99% des projets, c'est l'Arduino Uno R3. Je conseille très très fortement ce modèle pour se faire la main, car c'est celui pour lequel on trouve le plus de littérature.

Quand on a besoin de beaucoup d'entrées/sorties pour brancher plein de choses (clavier, écran, capteurs divers, etc.), alors le meilleur choix est un Arduino Mega. Il se programme pareil, mais il y a de petites différences physiques avec le R3. Vu le prix des Arduino (3 ou 4 euros si on achète là ou il faut), ce n'est pas ce qui va coûter cher dans le projet global...

Pour ce dont tu aurais besoin pour un gros projet comme ce que tu envisages, il faut en effet au minimum un petit écran, un petit clavier, des Leds, des moteurs, des relais, un jeu de résistance, des transistors, une horloge temps réel, peut être encore un ou 2 capteurs du genre température, luminosité, etc. Ca, tu le découvriras une fois ton projet parfaitement spécifié, de bout en bout : ça veut dire décrire très précisément chaque fonction et en avoir tiré toutes les conclusions sur ce que ça implique en terme de matériel.
Par exemple pour le clavier, il y a différents modèles, idem pour l'afficheur Led qui existe en différentes versions et surtout avec différentes interfaces (l'idéal étant un I2C).

Je pense qu'avant d'attaquer un gros projet comme ça, il faut passer quelques dizaines d'heures à lire les bouquins sur le sujet, et passer encore qq autres dizaines d'heures (minimum) à se faire la main avec un kit de démarrage comme celui-ci (qui by the way contient un écran et un clavier, entre autre choses) :
https://www.amazon.fr/Kuman-Upgrade...W9RD2NABD10VB69K24NG&qid=1559057359&s=gateway


L'arduino, ce n'est pas dur, pas compliqué, mais ça implique de connaitre énormément de choses et de maîtriser les concepts de base sans lesquels rien n'est possible : le principe des E/S digitales, analogiques, la logique PWM, le principe des exécutions concurrentes non bloquantes sur Arduino, etc. Viennent ensuite les détails : les Librairies standards, les différents Bus et protocoles de l'Arduino (Serial, I2C, OneWire, ...). Je programme depuis 35 ans, c'est ma formation universitaire et mon métier, j'ai aussi un bon niveau en électronique : malgré tout ça, il m'a fallu au moins 10 heures de lecture et 20 heures de pratique avec le Starter Kit avant d'être à peu près à l'aise pour faire des projets moi même.

Mon conseil : ne pas brûler les étapes, y aller pas à pas, en comprenant chaque étape et chaque implication.
 
  • #43
Merci beaucoup
Je vais penser a ça
Jusqu'a présent, des idées, a revendre, mais avec programateurs classiques (une pris ete une horloge), j'étais limité
Puis je ne suis pas programateur et même si j'ai fait les maths (ma cervelle comprend assez vite les trucs de logique) , c'est juste l'année avant que les ordi ne rentrent dans les écoles, les unifs, dommage a un an près!
Remarque j'ai eu la même chose avec les "classes de neige"...
C'est bien de savoir tout ça, et c'est bien que tu nous diriges de cette manière et prenne le temps d'expliquer ce qui paraît simple aux uns et pas aux autres.
J'avais cessé de venir ici car a chaque fois que je demandais une chose on me disait d'en faire une autre, on me traîtait de fou, ou on me parlait des règlemnts , de l'autorité....bref.
Mais, heureusement, j'avais sélectionné ce topic pour m'envoyer une notification par mail
A+
 
  • #45
Plus que la trappe, c'est sur l'alimentation que je bloque
J'ai deux poulaliers "poulets" et "poules".
(plus un qui me sert de quarantaine, d'infirmerie, d'éleveuse des poussins...pas d etrappe et en attendant il ne serait pas automatisé)
Le plus simple semble être la vis sans fin, mais c'est cher...
Jean Marc évoquait "écluse", je me suis creusé la tête cette nuit; ça consiste en quoi?
 
  • #47
Ah oui
Chuis con:rolleyes:
Je réfléchissais a partir de l'écluse des canaux, porte, contre-porte, différence de niveaux....:confused:
De Jeudi a Lundi, boulot loin, je suis sur smart.
Je fais donc encore moins de recherches que d'habitude.....

C'est pas con du tout ça et sans doute réglable pour la quantité
Le silo au dessus, six ailettes dans un tuyau percé dessus et dessous, c'est ça non?
Ensuite faudra remonter le tout pour l'acheminement, ou surélever un silo!
J'ai de quoi penser :grinning:
 
  • #48
un poil hoir sujet, mais à peine.

Si vous aimez l'électronique (et surtout la partie logique TTL), je vous conseille TRES fortement la chaine suivante:
https://www.youtube.com/user/eaterbc/videos

Ben Eater est tout simplement remarquable, tant au niveau technique pur (difficile de faire mieux) qu'au niveau pédagogique. Ces vidéos sont un régal à regarder.
Ca va du branchement d'un Led à la réalisation de bascules, d'une horloge, d'une RAM, d'une ALU, etc. jusqu'à la réalisation complète d'un ordinateur 8 bits entièrement fait à la main avec des composants simples, le tout détaillé module par module au travers de plein de vidéos.
Au passage, il utilise un Arduino pour se simplifier la vie dans la programmation des EEPROM pour le microcode de sa machine. Je vais m'en faire un pour le fun , c'est tout simple finalement et bien utile :


Un vrai plaisir à regarder si vous êtes un peu calés en élec et en informatique "à l'ancienne", ou tout simplement curieux.

Ici par exemple, il joue avec son ordinateur "fini", mais les autres vidéos détaillent la construction du tout pas à pas. C'est le top :-)

 
  • #49
Avec 2 mains gauches , je mets beaucoup de temps avec mes différents prototypes et c'est un de ceux qui "fonctionnerait" le mieux quand il sera raccordé à l'arduino UNO.
Je ne bricole pas très bien, mais je pense que la 2e version sera un peu meilleure si je corrige les imperfections de celle-ci :)
Le code n'est pas encore terminé , reste 10% (il n'est pas de moi, soyons honnête, mais ça me retarde un peu)
IMG-3020.JPG
mais il fera le job.
Nourrissage 2-3x jour, eau dans le bol du chat via le moteur lave glace avec contrôle du niveau de celui-ci et surtout niveau du réservoir pour ne pas faire tourner la pompe dans le vide :)
Je précise que les colsons seront coupés quand tout sera terminé :)
 
Dernière édition:
  • #50
Pas mal pas mal, j'ai juste du mal à comprendre le rôle du moteur lave-glace.
 
  • #53
Le moteur gris fait tourner le clapet blanc des croquettes et le moteur lave glace amène de l'eau dans le bol du chat :)
 
  • #55
Un truc du genre
if (var > 0 && var >=10) {
}
;)
 
  • #56
Salut,

On ne peut pas en C contraindre (à la déclaration ) une variable a rester dans un range de valeurs.
On doit donc le programmer en cours d'exécution, comme ça par exemple :

upload_2019-9-1_22-8-25.png


upload_2019-9-1_22-9-24.png
 
  • #57
mais enfin !!
mon programme fait juste ça !!

incrémente A
si a plus grand que 10 alors remets a a la valeur 10


on pourrait écrire autrement:

le bouton pour incrémenter est il appuyé ? si oui alors
si a plus petit que 10 faire a = a+1 sinon ne rien faire

ça revient au même.

c est quand même très très simple :worried:
 
  • #58
Bon, en relisant je capte l'idée, mais je pense quand même que je veux aller trop vite, j'ai commencé avant hier :p
Merci pour l'aide en tout cas.

avec plaisir. j ai sans doute été un peu vif, je ne pensais pas que tu débutais :)

en tout cas n hésite pas si tu as des questions Arduino ( ou langage C)
 
  • #59
Un de mes amis qui débute avec Arduino vient de détruire sa carte Arduino :sob:
La cause : une simple Led connectée à une sortie digitale, sans avoir ajouté une résistance pour limiter le courant.

Ce petit post est un petit rappel sur les courants, avec les bases minimum pour l'utilisation de l'Arduino de façon pérenne.

Quelques rappels sur le courant (en mA) que peut fournir un Arduino (typiquement un Uno R3) :
  • Le maximum absolu pour une sortie est de 40 mA (en pratique, 30 mA est un maximum raisonnable)
  • Le courant total pouvant être délivré par plusieurs sorties et de 200 mA (par exemple, on peut prendre 30 mA sur 6 sorties, ou 20 mA sur 10 sorties, etc.). C’est aussi un maximum absolu. Il vaut mieux rester autour de 150 mA
Si on utilise l’alimentation de la carte (Vcc) (et donc pas une des sorties), on peut alors demander au maximum :
  • 400 mA au total si alimentation USB
  • 800-900 mA si l’alimentation se fait via une pile ou un adaptateur secteur (pour une tension d’entrée entre 7 et 9 volts. Si la tension augmente, le courant disponible diminue).
On voit donc bien qu’on ne peut pas faire n’importe quoi, sous peine d’abimer la carte ; ça peut aller de la destruction d’une entrée/sortie à la destruction totale de la carte.

Il est donc essentiel de maîtriser les courants qu’on demande à nos montages. Si nécessaire, on utilise l’Arduino pour simplement commander et on utilise une alimentation externe plus costaud pour alimenter les périphériques (via des transistors, mosfets, optocoupleurs, ou bien sur des relais ce qui permet de commander des appareils en 220V par exemple).

Exemples avec des Leds

Il existe une large variété de Leds, couvrant le spectre visible et invisible, mono ou multicolore. On s’intéresse ici aux Leds classiques, 3 mm ou 5 mm, monocolores, spectre visible.

Les couleurs les plus classiques sont : rouge, vert, bleu, jaune, orange, blanc.

Au niveau alimentation électrique, chaque Led se caractérise par : sa tension aux bornes (forward voltage) et son courant admissible (forward current). Ces informations sont toujours données dans la datasheet du constructeur, avec plein d’autres informations utiles. Voir un exemple : Led rouge 3mm Farnell.

A noter : ces valeurs peuvent être assez différentes d’une Led à l’autre, surtout la tension aux bornes.
Ce sont ces valeurs qui vont nous être utile pour assurer la maîtrise du courant.

Procédure :
  • On commence toujours par choisir le courant qu’on souhaite voir passer dans la Led (sans jamais dépasser ni la valeur max fixée par le constructeur ni la valeur max de ce que peut délivrer l’Arduino sur une sortie)
  • Puis on calcule la résistance à employer obtenir le courant choisi.
Soit ‘If’ le courant choisi, V la tension dans la branche du circuit de la Led et Vf la tension aux bornes de la Led (donnée par le constructeur) ;

La résistance à utiliser se calcule de la façon suivante (selon la loi d’Ohm) :

R = (V-vf)/If

Exemple :

L’Arduino est alimenté en 5V, la Led présente une tension aux bornes de 2V, et on veut un courant de 15 mA.

La résistance à utiliser est donc :

R = (5-2)/0,015 = 3/0,015 = 200 Ohms.

En pratique, on utilisera une résistance de valeur égale ou juste supérieure à la valeur calculée. Ici, la résistance à utiliser sera une 220 Ohms, ce qui nous donnera un courant de 13,6 mA, très proche de notre valeur choisie (15 mA).

Quelques valeurs classiques
Les tensions aux bornes typiques varient d’une Led à l’autre, mais en général la valeur se situe entre 1,5V et 3,5V.

Le courant maximum admissible est souvent de 30 mA maximum, 20 mA étant en général la valeur recommandée.

A noter : la plupart des Leds éclairent encore très bien et très fort avec 15 ou 10 mA. C'est mieux pour l'Arduino, et la Led vivra plus longtemps !

Voici quelques valeurs relevées avec un multimètre sur un ensemble de Leds dans ma collection :
upload_2019-9-26_12-41-25.png


Note : le courant calculé dans le tableau est la valeur théorique; j'ai mesuré au multimètre les valeurs réelles, qui sont très proches des valeurs théoriques (petite résistance supplémentaires dans les fils, tolérance de valeur de la résistance, etc.).

On voit donc que dans tous les cas, pour une tension d’alimentation de 5V, une résistance de 220 ohms est bien adaptée dans tous les cas pour garantir un courant suffisant pour allumer la Led, tout en restant bien en dessous des valeurs maximums.

Conclusion:
  • ne jamais brancher une Led sans une résistance de limitation de courant. 220 ohms est une valeur qui convient dans tous les cas. On peut utiliser si nécessaire une valeur inférieure, mais on veillera alors à faire le calcul pour rester autour de 20 mA.
  • Quel que soit le périphérique qu'on veut commander, on s'assurera qu'on ne demande pas un courant supérieur à 30 mA par sortie
  • Si on pilote plusieurs Leds (ou autre), on veillera à rester bien en dessous de 200 mA au total sur les sorties numériques.
  • Si on doit commander plus de puissance, on utilise VCC (ou une alimentation externe) pour les gros consommateurs, qu'on pilote avec l'Arduino et des transistors ou équivalents.
 
  • #60
Je me permets une rapide incruste...Mode ON

Me lançant dans la "CNC" avec GRBL etc je commence à m'instruire un peu par rapport à l'Arduino.

Vous auriez de bonnes lectures en français ? Cela m'intéresse mais je pars dans tous les sens.

@supertoto : je vois que tu parles de open classroom. Je pensais tester aussi mais difficile de trouver le temps pour. C'est intéressant ?


Incruste Mode OFF

NB : je dois encore prendre le temps de lire les trois précédentes pages, j'avoue... :D
 

Sujet semblables

Réponses
3
Affichages
1K
raymondub
2
Réponses
21
Affichages
5K
jack333
Réponses
10
Affichages
8K
Remondo1664

Nos articles

On a aimé dans le forum

Retour
Haut