Outils pour utilisateurs

Outils du site


electronique:micro_controleurs:atmega328:switch_shield

Ceci est une ancienne révision du document !


UNO Switch Shield

L'objectif est de disposer d'une solution de commande avec témoins lumineux pour arduino.
La solution doit être facilement intégrable pour des projets arduino avec des librairies clef en main.

Je profite de cette occasion pour :

  • me “re”lancer dans la gravure de circuits imprimés et donc de rédiger mes expériences sur ce sujet : Réalisation Circuits Imprimés
  • découvrir le logiciel Eagle pour développer des PCBs

Conception PCB

Afin d'économiser les entrées/sorties du microcontrôleur et d'être scalable, des registres à décalage sont choisis contre d'autres solutions de ce type : switch_analogique
Le schéma eagle développé pour l'occasion est le suivant :

L'autoroutage proposé par eagle en double couche sur un format shield arduino :

Réalisation sur circuit imprimé :

20170326_113951.jpg20170326_113943.jpg20150725_155811.jpg


Code Arduino

En définitive la lecture de l'état des boutons se fait via :

Switch_Manager_checkButtons();

A tout moment on peut lire l'état des boutons dans les tableaux : pressed[] justpressed[] justreleased[]
L’écriture d'état des LEDs se fait via :

Led_Manager_setLed(Led Number, boolean status HIGH or LOW);

Code complet : GitHub

Démonstration

Vidéo de démonstration des LEDs : Youtube

Améliorations pour le prochain design

- HC595 not the best part for LEDs, limit of 70mA for the part, so 8-9 mA per LED. cd74AC164 much better part, especially in matrix use, with 20-24mA/pin drive capability. or TPIC6B595 for sinking current, 150mA/pin sink capability.
- 74hc595 Led flashing on start up: http://forums.parallax.com/discussion/139862/74hc595-on-start-up

Notes et références

Pour les boutons (Entrées) : Arduino Playground - ShiftIn
Pour les LEDs (Sorties): Arduino Playground - ShiftOut


electronique/micro_controleurs/atmega328/switch_shield.1490523926.txt.gz · Dernière modification : 2025/01/14 11:19 (modification externe)