Matériel
Remarque : les liens d'achat sont donnés à titre indicatif, je ne touche aucune commission sur les ventes.
Carte de développement et programmeur
Tous les cours de base sont conçus autour du CH32V003 car il est simple, peu coûteux, et que tous les apprentissages qu'il permet sont transposables aux autres micro-contrôleurs.
En particulier, les périphériques des micro-contrôleurs des gammes CH32xxxx de WCH sont tous calqués sur ceux des célèbres micro-contrôleurs ARM de ST, que copient également d'autres fabricants de micro-contrôleurs. Les apprentissages faits avec le CH32V003 préparent donc efficacement au développement embarqué en général, ça va bien au-delà de l'univers RISC‑V.
Vous avez donc besoin d'une carte de développement à base de CH32V003, de préférence sans quartz, ce qui présente l'avantage de libérer 2 ports d'entrée-sortie, soit 10% du nombre total de broches, ce n'est pas rien !
J'utiliserai dans les cours la carte de développement CH32V003F4U6 de WeAct Studio. Le programmeur/debugger est obligatoirement un WCH-LinkE.
Une carte de développement WeAct Studio CH32V003F4U6 (choisir "1PCS-5V IO")
Au choix : soit un WCH-LinkE de WCH (choisir "1Pcs WCH-LinkE-1v3")
soit un WCH-LinkE de QSZNTEC
Budget approximatif : 10€ (avec le WCH-LinkE de QSZNTEC)
Petit matériel de base
Une "breadboard" MB-102 avec alimentation (choisir "MB102 Blue Kit")
Un jeu de jumper wires de différents types (choisir "120PCS X1 set 10CM")
Un jeu de jumper wires DuPont-grip fil (choisir "Each color one" et "Dupont Male")
Un multimètre numérique (choisir "AN8009 Black", "AN8009 Red" ou "AN8009 Orange")
Un adaptateur USB-série (choisir "1PCS")
Une paire de brucelles à bout plat de 2mm de large (choisir "NO-13")
Un fer à souder (choisir "60W Lron Set EU Plug")
De la soudure (choisir "0.8MM 50g")
Budget approximatif : 60€
Autre matériel requis
Vous possédez sûrement déjà tout ceci :
Un ordinateur, portable ou non.
Un chiffon en coton pour nettoyer la panne du fer à souder.
Facultatif : 1 ou 2 pinces à linge en bois pour maintenir en place ce que vous voulez souder.
Votre fer à souder
Prenez le temps d'apprendre à vous servir de votre fer à souder, vous en aurez besoin pour souder les pin headers (désolé, je n'ai pas de traduction raisonnable de ce terme) fournis avec vos modules et votre carte de développement et il faut que ce soit bien fait.
Deux choses importantes :
N'essayez surtout pas de bricoler votre propre fer à souder, comme beaucoup de vidéos le proposent. Un vrai fer à souder ne coûte que quelques euros sur AliExpress, il est parfaitement stupide et potentiellement dangereux d'en bricoler une caricature.
Vous avez dans la liste précédente tout ce dont vous aurez besoin pour la réalisation des cours et même plus. Vous n'avez pas besoin de la débauche de matériel décrite dans certaines vidéos.
Attendez d'avoir fait vos premiers pas et d'avoir des bases suffisantes pour décider de ce que vous voulez faire par la suite. Vous pourrez alors vous équiper avec un matériel qui vous sera réellement utile et sera bien adapté à vos nouveaux besoins.
Le premier exercice qu'on recommande classiquement est de faire une petite échelle en fil de cuivre rigide (ex. fil 1.5mm2 pour l'électricité du bâtiment, enlever sa gaine plastique).
Vos soudures devront être lisses, brillantes et avoir une forme "svelte" épousant bien les surfaces à souder. Laissez la soudure refroidir naturellement, c'est très rapide, pas besoin de souffler dessus. Nettoyez la panne de votre fer à souder avec le chiffon en coton lorsqu'elle n'est plus brillante. Si votre fer à souder est muni d'un thermostat, faites quelques essais pour trouver la bonne température.
Si le résidu de résine qui reste après la soudure vous dérange, une fois votre travail terminé, vous pouvez faire tremper votre circuit imprimé dans un petit bocal contenant de l'alcool isopropylique pur et frotter le circuit avec une vieille brosse à dents pour aider la résine à se dissoudre. Une fois votre circuit sorti du bain, laissez simplement l'alcool s'évaporer avant de l'utiliser.
L'alcool isopropylique est inflammable et toxique (on l'utilise dans certains solutés hydroalcooliques justement pour ça), donc ne fumez pas lorsque vous le manipulez et gardez-le hors de portée des enfants et animaux pour éviter toute ingestion accidentelle.
Composants
Un assortiment de résistances de différentes valeurs
Un assortiment de LED de différentes couleurs (choisir "5mm-kit-100pcs")
Un lot de condensateurs MLCC de 100nF (choisir "100nF")
Un afficheur LCD 2004 avec interface I2C (choisir "I2 LCD2004 Blue" ou "I2 LCD2004 Green")
Un petit moteur électrique (couleur au choix)
Un petit moteur pas-à-pas (choisir "28BYJ-48-5V")
Un petit servo (choisir "1Set 180 Degree")
Un module EEPROM I2C (choisir "1PCS")
Un clavier matriciel 3x4 (choisir "3x4 Matrix keyboard")
Un capteur de température DS18B20 (choisir "1PCS")
Un afficheur graphique OLED 1.3" 128x64 I2C (choisir "4pinIIC-Blue" ou "4pinIIC-White")
Un capteur de distance à ultrasons HC-SR04 (choisir "1 SET")
Un module matrice de LED 8x8 à base de MAX7219 (couleur au choix)
Un module de mémoire flash SPI W25Q32 (choisir "W25Q32 1pc")
Budget approximatif : 50€
Logiciel
Nous utiliserons l'IDE de WCH, MounRiver Studio, qu'il vous faudra télécharger et installer. Le premier cours, CH32v003 : premiers pas, abordera son utilisation et contient quelques remarques sur son installation.
mon environnement de travail est Linux (pour les curieux,
il s'agit de Void Linux
avec l'environnement de bureau XFCE et le thème Numix, donc un look and feel
très proche de celui de Windows, mais sans ses inconvénients).
Lorsque des explications faisant intervenir des détails relatifs à l'OS seront
nécessaires, c'est donc pour Linux que je les donnerai. Même chose pour les
copies d'écran.
Documentation
Récupérez tous les documents listés ici et familiarisez-vous avec - voyez quels types d'informations chacun d'eux contient et comment elles sont structurées. Vous rentrerez dans les détails au fil des cours.
Le SDK (CH32V003EVT.zip) fait partie de la documentation car il contient de nombreux exemples de code. Les noms (et le contenu) de certains fichiers sont encodés en GB18030. Pour décompacter correctement le fichier .zip, il faut utiliser la commande :
unzip -O GB18030 CH32V003EVT.zip
et pour convertir le contenu d'un fichier texte :
iconv -f GB18030 -t UTF-8 -o <nouveau_nom> <nom_du_fichier_à_convertir>
Pour automatiser la conversion de tous les sources du répertoire courant et de ses sous-répertoires, vous pouvez utiliser :
find . -type f -name '*.c' | while IFS="\n" read f; do iconv -f GB18030 -t UTF-8 -o "${f}.iconv" "${f}" rm "${f}" mv "${f}.iconv" "${f}" done
Connaissances à acquérir
Vérifiez que vous avez des notions de base sur les sujets ci-dessous et si ce n'est pas le cas, suivez le lien vers l'article en question :
- Les principales grandeurs physiques et unités de mesure utilisées en électronique.
- Les principaux composants électroniques et la schématique.
- L'utilisation de la documentation technique des composants.
- Le breadboarding (câblage sur plaque d'expérimentation d'après schéma).
- L'utilisation du multimètre numérique.
- Les bases de numération, notamment le binaire (base 2) et l'hexadécimal (base 16).
- Les particularités du calcul entier et des opérations bit-à-bit.
- Les opérations booléennes.
- Les bases du langage C.