Outils pour utilisateurs

Outils du site


electronique:micro_controleurs:atmega328:switch_shield

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
electronique:micro_controleurs:atmega328:switch_shield [2019/03/28 20:20] florianelectronique:micro_controleurs:atmega328:switch_shield [2025/01/14 11:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 6: Ligne 6:
 Je profite de cette occasion pour : 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 : [[:electronique:atelier:circuits_imprimes|]]+  * me "re"lancer dans la gravure de circuits imprimés et donc de rédiger mes expériences sur ce sujet : [[:electronique:atelier:circuits_imprimes|Réalisation Circuits Imprimés]]
   * découvrir le logiciel Eagle pour développer des PCBs   * découvrir le logiciel Eagle pour développer des PCBs
  
 ===== Conception PCB ===== ===== 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 : [[:electronique:micro_controleurs:atmega328:switch_analogique|]] \\+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 : [[:electronique:micro_controleurs:atmega328:switch_analogique|switch_analogique]] \\
 Avec les registres input ou output, il est possible de les disposer en cascade à volonté. \\ Avec les registres input ou output, il est possible de les disposer en cascade à volonté. \\
 En résulte seulement 3 pins microcontrôleur pour n*8 entrées ou sorties. \\ En résulte seulement 3 pins microcontrôleur pour n*8 entrées ou sorties. \\
  \\  \\
-Le schéma eagle : {{  :electronique:micro_controleurs:atmega328:switch_shield:switch_shield_schematic.png?direct&600x404  }}+Le schéma eagle développé pour l'occasion est le suivant : {{  :electronique:micro_controleurs:atmega328:switch_shield:switch_shield_schematic.png?direct&600x404  }}
  
-L'autoroutage proposé par eagle en double couche sur un format shield arduino : {{  :electronique:micro_controleurs:atmega328:switch_shield:switch_shield_pcb.png?direct&300x218  }} \\ Un lien esayeda où j'ai exporté les fichiers eagle : [[https://easyeda.com/florian.tales/uno-shield-switch-led|easyeda.com/florian.tales/uno-shield-switch-led]]+L'autoroutage proposé par eagle en double couche sur un format shield arduino : {{  :electronique:micro_controleurs:atmega328:switch_shield:switch_shield_pcb.png?direct&300x218  }} 
 + 
 +Un lien esayeda où j'ai exporté les fichiers eagle : [[https://easyeda.com/florian.tales/uno-shield-switch-led|easyeda.com/florian.tales/uno-shield-switch-led]]
  
 Réalisation sur circuit imprimé : Réalisation sur circuit imprimé :
  
-<WRAP centeralign> \\  \\ |{{  :electronique:micro_controleurs:atmega328:switch_shield:20170326_113951.jpg?direct&200x267  |20170326_113951.jpg}}|{{  :electronique:micro_controleurs:atmega328:switch_shield:20170326_113943.jpg?direct&200x267  |20170326_113943.jpg}}|{{  :electronique:micro_controleurs:atmega328:switch_shield:20150725_155811.jpg?direct&250x188  |20150725_155811.jpg}}| \\  \\ </WRAP>+<WRAP centeralign> 
 + 
 +|{{  :electronique:micro_controleurs:atmega328:switch_shield:20170326_113951.jpg?direct&200x267  |20170326_113951.jpg}}|{{  :electronique:micro_controleurs:atmega328:switch_shield:20170326_113943.jpg?direct&200x267  |20170326_113943.jpg}}|{{  :electronique:micro_controleurs:atmega328:switch_shield:20150725_155811.jpg?direct&250x188  |20150725_155811.jpg}}| 
 + 
 +</WRAP> 
 + 
 +===== Code Arduino ===== 
 + 
 +En définitive la lecture de l'état des boutons se fait via : 
 + 
 +<code> 
 +Switch_Manager_checkButtons(); 
 +</code> 
 + 
 +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 : 
 + 
 +<code> 
 +Led_Manager_setLed(Led Number, boolean status HIGH or LOW); 
 +</code> 
 + 
 +Code complet : [[https://github.com/floriantales/arduino_switch_shield|GitHub]] 
 + 
 +===== Démonstration ===== 
 + 
 +{{youtube>VwH-PEEE3p0}} 
  
 ===== Améliorations pour le prochain design ===== ===== 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|http://forums.parallax.com/discussion/139862/74hc595-on-start-up]] \\+- 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|http://forums.parallax.com/discussion/139862/74hc595-on-start-up]]\\
 - un composant très malin qui va faire tout ça pour nous : [[https://www.futurashop.it/image/catalog/data/Download/TM1638_V1.3_EN.pdf|TM1638]] - un composant très malin qui va faire tout ça pour nous : [[https://www.futurashop.it/image/catalog/data/Download/TM1638_V1.3_EN.pdf|TM1638]]
 +
  
 ===== Notes et références ===== ===== Notes et références =====
Ligne 34: Ligne 63:
 Réalisation presque identique (dessin Freezing et gravure PCBWay.com) : [[http://www.whatimade.today/pcb-from-concept-to-design-to-fabrication-and-testing-using-fritzing/|www.whatimade.today]] Réalisation presque identique (dessin Freezing et gravure PCBWay.com) : [[http://www.whatimade.today/pcb-from-concept-to-design-to-fabrication-and-testing-using-fritzing/|www.whatimade.today]]
  
-~~socialite~~+\\
  
 +~~socialite~~
  
electronique/micro_controleurs/atmega328/switch_shield.1553804450.txt.gz · Dernière modification : 2025/01/14 11:19 (modification externe)