IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Demande information sur µc


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut Demande information sur µc
    Bonjour,

    J'aimerais faire le projet suivant :

    2 microcontrôleurs reliés entre eux communiquent.
    Ils sont tout deux alimentés via une LiPo 2S ou 3S.

    L'un des deux microcontrôleur doit remplir ces caractéristiques :

    - communiquer via i2c.
    - retenir au minimum 1 int en mémoire hors alimentation.
    - être branché / débranché à chaud (la communication i2c et l'alimentation sont stoppés en même temps).
    - alimenté via une LiPo 2S ou 3S
    - être d'un volume physique le plus petit possible
    - Seul 6 fils au maximum seront utilisables : je prévois 2 pour l'alimentation, 2 pour la communication et éventuellement 2 pour détecter la déconnexion.

    L'autre microcontrôleur n'importe pas pour le moment, il doit juste pouvoir faire une communication i2c.


    J'ai donc acheter 2 arduino UNO REV3 et j'ai pu facilement faire communiquer les 2 ensemble via i2c.

    Mon plus gros obstacle maintenant est de trouver :

    1) Le microcontrôleur en lui-même : l'ATMega328 de l'arduino est bien trop volumineux physiquement.
    2) Comment et avec quoi programmer le microcontrôleur (si possible via l'arduino, mais sinon je suis preneur de tout).

    J'avoue être perdu, je pensais que plusieurs personnes aurait déjà été dans mon cas mais j'ai beaucoup de mal à trouver des informations et surtout à les comprendre.
    Je ne sais pas comment chercher : j'ai cru comprendre que l'enveloppe physique du microcontrôleur devrait être du SMD/SMT et non DIP afin de prendre le moins de place possible mais apparemment c'est uniquement valable pour la marque PIC ?
    Bref, un coup de pouce serait le bienvenue, ce projet traine depuis vraiment longtemps

    Merci de votre lecture.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Bonjour,
    Citation Envoyé par SofEvans Voir le message
    Mon plus gros obstacle maintenant est de trouver :
    1) Le microcontrôleur en lui-même : l'ATMega328 de l'arduino est bien trop volumineux physiquement.
    Tu peux te tourner vers l'Arduino Nano dont la taille est bien moins importante voire, si ton programme tient dans la mémoire de celui-ci, un ATtiny85.
    Citation Envoyé par SofEvans Voir le message
    2) Comment et avec quoi programmer le microcontrôleur (si possible via l'arduino, mais sinon je suis preneur de tout).
    L'Arduino Nano utilise le même ATMega328 que le Uno et propose le même brochage. Il se programme donc exactement comme le Uno.
    Le plus simple est d'utiliser l'IDE Arduino.

    L'ATTiny demandera un peu plus de travail. Il peut aussi se programmer depuis l'IDE Arduino mais réclame des bibliothèques qui lui sont propres.
    Tu peux trouver des cartes tout intégrées (interface USB et microcontrôleur) ou d'autres avec un support qui te permettent de programmer le microcontrôleur avant de l'implanter sur une autre carte.

    NB : Les liens sont des exemples. Ces produits se retrouvent chez d'autres distributeurs.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Vous parlez juste de la puce ou d’un arduino type UNO?

    Si vous expliquez un peu plus les contraintes de votre projet (pourquoi 2 cartes, pourquoi 6 fils etc) on pourra vous donner des idées éventuellement

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    @al1_24

    Je vais partir sur un ATTiny85.
    Le packaging 8P3 est probablement encore trop volumineux, je prendrais un S8S1 si possible. (datasheet, section 26)

    Comme tu me l'as dis, il semblerait qu'il y ait quelque étapes supplémentaire pour programmer un ATTiny85 via l'arduino UNO, mais il y a pas mal de tuto/doc, je devrais pouvoir gérer.

    Il faudra aussi que je trouve un espèce d'adaptateur pour brancher l'ATTiny85 sur ma breadboard.

    @Jay M

    C'est un peu long à expliquer, mais de manière courte, je souhaite ajouter de l'électronique à mes répliques d'airsoft (réplique d'arme), le but principal étant surtout d'ajouter un affichage de nombre de billes restant dans le chargeur.
    Je pourrais aussi empêcher le tir si le chargeur est vide, par exemple.

    Le schéma électrique d'une réplique d'arme électrique (appelé AEG) est on ne peut plus simple : une batterie alimente un moteur à condition qu'on appuie sur un interrupteur (la queue de détente).
    Le fait d'arrêter le moteur après un tir (en mode semi automatique) est géré mécaniquement au niveau de l'interrupteur.

    Après avoir pas mal gambergé, j'en suis arrivé à l'idée de mettre un µC dans le chargeur.
    Ce µC aura pour rôle de garder en mémoire combien de bille il reste dans le chargeur.
    Il sera alimenté via la batterie de la réplique, quand le chargeur sera enclenché dans la-dite réplique.

    La raison pour laquelle je cherche un µC très peu volumineux et que je n'ai que 6 fils au maximum, c'est parce que parmi les répliques dont je souhaite ajouter ce système se trouve un MP7.
    Et un MP7, c'est pas un AK47 : c'est très petit.
    Je n'ai presque pas de place pour ajouter quoique ce soit.

    Après avoir mesuré et chercher sur le net, j'ai pris comme connecteur réplique / chargeur pour les fils un connecteur type carte puce SIM qui ne possède que 6 fils.
    Voila, j'espère que c'est clair.

    Edit : je rajoute des images pour mieux illustrer.

    Voici un MP7 ouvert en deux

    Nom : presentation mp7.jpg
Affichages : 200
Taille : 108,9 Ko

    et je met en relief les principaux éléments :

    Nom : IMG_1633 - Copie - Copie.jpg
Affichages : 206
Taille : 85,3 Ko

    Le rectangle rouge est la batterie, le vert est le moteur, le bleu est le chargeur et le jaune est presque le seul emplacement disponible pour ajouter un µC.

  5. #5
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    merci pour l'explication c'est très clair.

    donc à chaque appui sur la gâchette une "balle" est envoyée et vous devez détecter cet appui, c'est cela ?

    pourquoi faut-il 2 microcontrôleurs reliés entre eux?

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    En fait il y en aura trois ...

    De mon point de vue, voila comment ça va s'organiser.

    Dans l'espace du rectangle jaune, je vais mettre un µC : appelons-le µRep (microcontrôleur de la réplique).
    Dans l'espace du rectangle bleu, je vais mettre un µC : appelons-le µCha (microcontrôleur du chargeur).
    A l’extérieur de la réplique, non représenté sur les précédents schéma, je vais mettre un µC : appelons-le µAff (microcontrôleur de l'afficheur).

    Le rôle de µRep :
    - Empêcher le tir de la réplique si aucune bille ne peut être tiré (absence de bille dans le canon, absence de chargeur dans la réplique, absence de bille dans le chargeur ...)
    - Détecter le tir : grossièrement, il y aura un bouton poussoir qui sera enclenché à chaque tir.
    - Transmettre le nombre de bille restante à µCha et µAff : fait via i2c, ce sera lui le maître.
    - Récupérer le voltage restant dans la LiPo : si la batterie tombe sous un seuil, il transmet l'info à µAff.

    Le rôle de µCha :
    - Garder en mémoire (même hors alimentation) le nombre de bille présente dans le chargeur.
    - Communiquer avec µRep pour savoir combien de bille il reste dans le chargeur : i2c en tant qu'esclave.
    - MAJ en mémoire le nombre de bille présente.

    Le rôle de µAff :
    - Afficher via 3 7segment le nombre de bille restante.
    - Afficher si niveau de batterie LiPo critique
    - Récupérer les informations ci dessus via i2c en tant qu'esclave.

    Voila, c'est la V1 de ce que j'aimerais avoir.
    µRep, µCha et µAff seront alimentés par la même batterie, celle présente dans le chargeur (rectangle rouge).
    µAff est totalement optionnel, le système µRep/µCha doit pouvoir fonctionner sans.
    Plus tard, peut être que µAff et µRep vont évoluer pour permettre de récupérer d'autre info (comme le nombre de bille tiré, la cadence, etc etc ???), mais j'aimerais me concentrer d'abord sur ces objectifs.


    Voila globalement l'algo général :

    Lorsque l'on insère un chargeur :
    - µRep le détecte et demande à µCha le nombre de bille présent dedans.
    - µRep garde ce nombre

    Lors d'un tir, µRep :
    - décrémente le nombre
    - le transmet à µCha
    - si µAff est présent, il lui transmet aussi.

    Lorsque l'on enlève le chargeur, µCha :
    - Détecte qu'il est déconnecté (plus de i2c ? plus d'alimentation ?)
    - Sauvegarde le dernier nombre transmis par µRep (EEPROM, utilisation d'un condensateur pour avoir du jus lors de la dernière écriture ?).

    J'aimerais éviter de faire une écriture EEPROM à chaque tir, car mine de rien ça peut partir très très vite.
    J'ai un jeu plutôt calme, mais ça m'empêche pas de passer 1500 à 3000 billes lors d'une journée.
    Si le nombre d'écriture en EEPROM est 100 000, ça sera atteint trop rapidement.
    Je sais aussi apparemment qu'on pourrait répartir l'écriture sur toute l'EEPROM et pas seulement toujours la même zone mémoire, mais je n'ai pas encore approfondi.

  7. #7
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Bonjour !

    En farfouillant un carton d'électronique que l'on m'avait donné, je suis tombé sur ça :

    Nom : IMG_20220507_172427 - Copie.jpg
Affichages : 176
Taille : 738,7 Ko

    Il y a marqué

    HMLIU
    OTS-16-03
    SOP16-1.27-DIP16

    Est-ce que ce ne serait pas ça dont j'aurais besoin pour programmer un ATTIny85 ?


    Il y a un µC dedans aussi, c'est assez difficile à lire

    Nom : m.jpg
Affichages : 181
Taille : 56,2 Ko

    T402-N
    9T0B TN
    19104 JM

    ?? Quelqu'un sait ce que c'est ?

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    c'est un adapteur "SOP 16" vers "DIP 16" (deux formats pour les broches)

    la puce qui est dedans est peut-être un tiny402 https://www.microchip.com/en-us/product/ATTINY402

Discussions similaires

  1. Demande information sur le redimensionnement des fenetres
    Par stardeus dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/06/2007, 13h33
  2. Demande informations sur la transparence
    Par Claude URBAN dans le forum Windows
    Réponses: 2
    Dernier message: 04/01/2007, 19h11
  3. Demande information sur "TansparentColorValue.."
    Par Claude URBAN dans le forum C++Builder
    Réponses: 12
    Dernier message: 19/12/2006, 16h59
  4. Demande Information sur "TransparentColorValue"
    Par Claude URBAN dans le forum Delphi
    Réponses: 2
    Dernier message: 14/12/2006, 14h05
  5. Demande information sur les librairie.
    Par argon dans le forum C
    Réponses: 2
    Dernier message: 29/03/2006, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo