L'ambition de ce projet, est de vous permettre de vous initier à la conception d'une carte électronique à travers un exemple simple, que vous concevrez vous même. Une fois que vous s'aurez dessiner et réaliser un premier circuit imprimer (PCB), vous pourrez réaliser vos propres montages électroniques.
On se propose de réaliser le dé électronique d'Heliox, qui lorsqu'on le secoue, tire un numéro de 1 à 6 de manière aléatoire.
L'objectif est d'avoir un système minimaliste afin de pouvoir le faire fonctionner à partir d'une pile bouton de 3V.
Nous utiliserons donc un microcontrôleur ATtiny85 du fabricant Microchip, compatible avec les cartes Arduino (ATtiny microcontroller comparison chart).
Voici deux sources du projet, parmi d'autres que vous retrouverez sur Internet.
-
http://carrefour-numerique.cite-sciences.fr/wiki/doku.php?id=projets:de_electronique
-
Le tutoriel d'Heliox est articulé en 4 épisodes :
- Projet initial à partir du tutoriel d'Heliox et des composants traversants
- Même projet mais avec une carte électronique supportant des composants CMS
- Autre version avec l'utilisation de registre à décalage pour le pilotage des LED
- Projet plus ambitieux avec des LED sur toutes les faces
- CAO éléctronique KiCad en version 5.99 "Nightly Development Builds", est téléchargeable depuis la page du serveur, aller tout en bas pour trouver la dernière date de compilation : https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/nightly/
- CAO mécanique FreeCAD
- Arduino IDE 1.8.15
- Visual Studio Code
- Matériaux PLA pour l'imprimante 3D, à partir des fichiers STL fournis par HELIOX
- Un fer à souder pour assembler les composants sur le circuit imprimé (PCB), ainsi qu'un petit outillage, comme un multimètre, des pinces, etc...
- Interrupteur à bascule 3 broches 1P2T, poignée haute 4 mm, SS12F15
- Piles bouton au Lithium 3V, CR2032
- ATtiny85, Microcontrôleur MCU 8BIT 20MHZ, 8 broches DIP-8 ATTINY85, ATTINY85V-10PU, Farnell 1455165 (l'option V permet de descendre la tension d'alimentation jusqu'à 1V8)
- Interrupteur à bille (mouvement et inclinaison) : Capteur de vibrations en métal, Boule d'inclinaison secouant commutateur, SW-520D SW520D
- Kit de LED, taille 5 mm, 2V ou 3 V, ensemble d'ampoules couleurs chaudes, blanc, rouge, bleu, vert, orange, jaune
- Assortiment de condensateurs électrolytiques, 125 Pieces 1uF 2200uF 25 Valeurs
- Boîtier/Socket support DIP 8 broches, 0.3 inch / 7.62mm
- Kit résistance à fil métallique, 600 pcs/lot, 30 valeurs* 20 pcs de 10 ohms ~ 1 M ohm, 1 %, 1/4 W
- Support de piles, CR2032, pour piles bouton 3V, modèle 3D : 20mm THT Coin Cell Holder
"arduino attiny85 pinout" depuis la page : https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/attiny85-use-hints
Brochage (Pinout en Anglais) de l'ATtiny85 :
Afin de pouvoir programmer l'ATtiny85, nous utiliserons un connecteur dit ISP ou ICSP pour In-circuit Serial Programmer, de 2x3 broches, voir Arduino as ISP and Arduino Bootloaders.
Nous pouvons nous inspirer du schéma d'implantation du connecteur de programmation ICSP à partir du schéma de la carte Arduino Nano.
Et pour la programmation, suivre les instruction ici : Programming ATtiny85 with Arduino Uno
Si vous avez tous suivi, vous aurez vu que par défaut, l'environnement Arduino IDE ne prend pas en charge les microcontrôleurs ATtiny85. Nous devons donc ajouter les cartes ATtiny à l'IDE Arduino.
Pour cela, ouvrez le menu "Fichier -> Préférences" et dans les URL du gestionnaire de cartes supplémentaires, ajoutez cette URL :
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Puis ajouter le support pour les ATtiny depuis le gestionnaire de carte.
Une fois cela effectué, vous pourrez choisir le type de carte ATtiny25/45/85, préciser bien le modèle du "processeur" ATtiny85 et le choix de l'horloge interne à 8 MHz.
TODO: passer à 1 MHz et voir la différence de consommation...
Une fois le programme compilé sous l'IDE Arduino (version 1.8.16 sous Windows 10, avec les paramètres de carte : "ATtiny25/45/85, ATtiny85, Internal 8 MHz"), il est important pour la programmation de votre ATtiny85 cible de bien configurer le programmer externe, afin de pouvoir effectuer la programmation.
Nous allons étudier ensemble le montage électronique ;-)
Le microcontrôleur ATtiny85 dispose de 8 broches, dont 2 sont réservées pour son alimentation électrique.
Nous devons donc sélectionner les broches numériques d'entrées/sorties (E/S) permettant le bon fonctionnement de notre projet.
Tout d'abord, nous aurons besoin d'une entrée pour le capteur de mouvement à bille. Il faut alors ce pencher sur les fonctions des broches du microcontrôleur afin de pouvoir décider quelle broche nous sera utile afin de pouvoir détecter cet évènement.
Mettre les LED sous la forme du dé avec une numérotation Ligne/Colonne (L/C) :
| L/C | C1 | C2 | C3 |
|---|---|---|---|
| L1 | L1C1 | L1C2 | L1C3 |
| L2 | L2C1 | L2C2 | L2C3 |
| L3 | L3C1 | L3C2 | L3C3 |
- Chiffre 1 : (L2C2)
- Chiffre 2 : (L3C1 + L1C3)
- Chiffre 3 : (L3C1 + L1C3) + (L2C2)
- Chiffre 4 : (L3C1 + L1C3) + (L1C1 + L3C3)
- Chiffre 5 : (L3C1 + L1C3) + (L1C1 + L3C3) + (L2C2)
- Chiffre 6 : (L3C1 + L1C3) + (L1C1 + L3C3) + (L2C1 + L2C3)
En regroupant les LED entre parenthèse, nous voyant que nous devons piloter séparément les groupes suivant, si l'on veux pouvoir afficher tous les chiffres :
- 1 broche en sortie pour commander la LED L2C2, nous la nommerons CMD_L2C2
- 1 broche en sortie pour commander les LED L3C1 et L1C3, nous la nommerons CMD_L3C1L1C3
- 1 broche en sortie pour commander les LED L1C1 et L3C3, nous la nommerons CMD_L1C1L3C3
- 1 broche en sortie pour commander les LED L2C1 et L2C3, nous la nommerons CMD_L2C1C3
Soit un total de 4 broches en sorties pour la commande des LED du projet :
Consommation en veille = 373 uA Consommation au repos = 800 uA Consommation avec 1 LED = 2.62 mA Consommation avec 4 LED = 8.13 mA
- Dé — Wikipédia
- Lancez un dé virtuel!
- Patrons de dés à jouer
- Fabriquer soit même un Dé électronique sans Arduino
- dé électronique qui se déclenche par passage de la main au dessus d'une photorésistance







