Table des matières:

CircuitPython avec un Itsybitsy M4 Express 1 : configuration : 9 étapes
CircuitPython avec un Itsybitsy M4 Express 1 : configuration : 9 étapes

Vidéo: CircuitPython avec un Itsybitsy M4 Express 1 : configuration : 9 étapes

Vidéo: CircuitPython avec un Itsybitsy M4 Express 1 : configuration : 9 étapes
Vidéo: CircuitPython Tutorial 2024, Juillet
Anonim
CircuitPython avec un Itsybitsy M4 Express 1: configuration
CircuitPython avec un Itsybitsy M4 Express 1: configuration

Nouveau dans le codage ? Vous n'avez utilisé que Scratch et vous souhaitez passer à un langage textuel qui donne un accès facile à l'informatique physique avec des LED, des commutateurs, des écrans et des capteurs ? Alors cela peut être pour vous.

J'ai remarqué que ce site contient de nombreux Instructables sur le codage avec Arduinos à l'aide de l'IDE Arduino mais très peu sur Python. J'enseigne le codage depuis 1968. (À l'époque, nous l'appelions programmation et utilisions FORTRAN IV avec des cartes Hollerith pour la saisie !) différentes versions sur BASIC.

Plus récemment, de nombreuses écoles au Royaume-Uni ont commencé à utiliser Python dans leurs cours alors que les élèves passent du codage « bloc » avec Scratch ou similaire aux instructions textuelles. Python est probablement une étape plus facile que d'utiliser l'IDE Arduino. Le code CircuitPython peut être exécuté en enregistrant simplement le code sur la carte de développement comme s'il s'agissait d'une clé USB. J'ai utilisé avec succès Python pour l'informatique physique avec des enfants de 8 à 11 ans dans le club de codage de l'école primaire de ma petite-fille.

J'ai décidé d'utiliser Itsybitsy M4 Express d'Adafruit pour ces Instructables pour les raisons suivantes:

  • Pas cher - moins de 15 $ (15 £)
  • Facile à configurer et à programmer avec CircuitPython (une version de Python idéale pour ceux qui découvrent le codage)
  • Broches d'entrée/sortie numériques - c'est très amusant de jouer avec Blinkies
  • Broches analogiques - ADC et DAC 12 bits - haute précision
  • LED rouge et LED RGB DotStar intégrées
  • Pilote les Neopixels directement
  • I2C et SPI pris en charge - pour les capteurs et les écrans
  • Large gamme de pilotes dans la vaste bibliothèque
  • Rapide et puissant - processeur ultra rapide ATSAMD51 Cortex M4 fonctionnant à 120 MHz
  • Beaucoup de mémoire - 2 Mo de mémoire Flash SPI pour le code CircuitPython ou les fichiers de données
  • Excellent support d'Adafruit avec une documentation complète, des guides et un forum d'aide sur Internet
  • N'a besoin que d'un vieil ordinateur portable ou d'un ordinateur - pas de moniteur, clavier, alimentation ou souris dédiés.
  • L'utilisateur peut convertir en Arduino IDE, sur la même carte, une fois qu'il a acquis de l'expérience avec Python.

Ce premier Instructable explique comment configurer votre tableau et exécuter vos premiers scripts.

Étape 1: Ce dont vous avez besoin pour commencer

Ce dont vous avez besoin pour commencer
Ce dont vous avez besoin pour commencer

Matériel:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • câble microUSB
  • Ordinateur - un vieil ordinateur portable fera l'affaire
  • Fer à souder
  • Souder
  • Planche à pain
  • Bande d'en-tête femelle (en option)

Logiciel:

Éditeur Mu

Téléchargez l'éditeur Mu depuis

Installez-le sur votre ordinateur. Très facile avec des instructions complètes sur le site.

Étape 2: Vérifiez que CircuitPython est installé

Vérifiez que CircuitPython est installé
Vérifiez que CircuitPython est installé

Ouvrez l'explorateur de fichiers sur votre ordinateur.

Branchez la petite extrémité du câble USB dans le connecteur de l'Itsybitsy.

Branchez l'autre extrémité du câble dans un port USB de votre ordinateur.

Vous devriez voir apparaître un nouveau lecteur appelé CIRCUITPY. (Si ce n'est pas le cas, passez à la page MISE À JOUR.)

Double-cliquez sur boot_out et vous devriez voir un message comme celui-ci:

Circuit AdafruitPython 3.1.1 le 2018-11-02; Adafruit ItsyBitsy M4 Express avec samd51g19

Cela montre que vous avez une ancienne version de CircuitPython car nous sommes actuellement sur la version 4. Ce sera OK pour le moment, nous mettrons à jour la version plus tard. Adafruit améliore fréquemment CircuitPython et publie des mises à jour. Ces mises à jour sont très faciles à installer.

Accédez à votre dossier de documents et créez un nouveau dossier appelé Code-with-Mu à l'intérieur.

Démarrez l'éditeur Mu

Étape 3: Utilisation de l'éditeur Mu pour votre premier programme

Utiliser l'éditeur Mu pour votre premier programme
Utiliser l'éditeur Mu pour votre premier programme

Cliquez sur l'icône Série en haut de l'éditeur. Cela devrait ouvrir la fenêtre REPL en bas de l'écran. Dans le coin inférieur gauche, il devrait être écrit Adafruit. Mu a reconnu qu'une carte CircuitPython a été connectée à l'ordinateur.

Nous pouvons maintenant écrire notre premier programme ou script. Cliquez sur la souris dans la fenêtre supérieure et tapez:

print("Bonjour, Monde !")

Cliquez sur l'icône Enregistrer. Sélectionnez le variateur CIRCUITPY. Tapez main.py dans la zone de titre et cliquez sur le bouton Enregistrer.

Cela fait beaucoup. Votre script est enregistré dans votre Itsybitsy sous le nom "main.py". Tout fichier portant ce nom est immédiatement exécuté par la carte. La sortie de l'instruction print apparaît dans la fenêtre REPL inférieure.

Modifiez la ligne de programme pour:

print("\nBonjour, codeur !") et cliquez sur l'icône Enregistrer.

Essayez d'ajouter quelques instructions print similaires et exécutez votre nouveau code.

Regardez votre Itsybitsey pendant que vous téléchargez un script. Le DotStar vert clignotant passe au ROUGE pendant que le script est enregistré et revient au VERT.

Faisons une erreur pour voir ce qui se passe. Supprimez simplement le dernier caractère de citation et exécutez à nouveau le script. L'éditeur indique l'erreur et la sortie indique le type d'erreur - la syntaxe - et le numéro de ligne - pour vous aider à corriger l'erreur. Le DotStar indique le défaut en changeant de couleur. Plus d'informations à ce sujet dans une section ultérieure.

Corrigez l'erreur et exécutez à nouveau le script.

Nous devons maintenant enregistrer notre script dans un endroit sûr afin de pouvoir l'utiliser plus tard.

Double-cliquez sur l'onglet au-dessus de votre script. Accédez au dossier Code-with-Mu de vos documents et enregistrez-y votre script avec un nom de fichier utile tel que FirstProg.py. Notez que le nom et le chemin du fichier sont affichés en bas de l'éditeur.

Étape 4: Votre deuxième script - Blink

Votre deuxième script - Blink
Votre deuxième script - Blink

Tapez le script, enregistrez-le dans CIRCUITPY sous le nom main.py et cliquez sur Oui pour remplacer le main.py précédent.

(Utilisez toujours le nom de fichier main.py pour votre script lors de l'enregistrement dans votre ItsyBitsy. CircuitPython exécute alors immédiatement le nouveau script.)

Ce que fait le script:

  • Importe des bibliothèques pour les noms de broches sur la carte, le temps de contrôle des délais et le contrôle des broches numériques,
  • Configure la broche 13 pour fournir des tensions à la LED rouge intégrée
  • Exécute une boucle sans fin pour allumer et éteindre la LED
  • Attend de courts délais pour que la LED clignote.

Le script a beaucoup de commentaires pour expliquer ce qui se passe. Les commentaires commencent par un caractère '#'. Ils sont à usage humain pour vous aider à vous rappeler de votre pensée à l'époque. Les bons scripts ont beaucoup de commentaires.

  1. Essayez de changer les valeurs dans les instructions sleep().
  2. Gardez la LED allumée deux fois plus longtemps qu'elle est éteinte.
  3. Que se passe-t-il si les délais sont très courts ? (0,001 seconde)

Double-cliquez sur l'onglet au-dessus de votre script et enregistrez-le sous le nom Blink.py dans votre dossier Code-with-Mu.

Étape 5: Mise à jour de votre version de CircuitPython

Mise à jour de votre version de CircuitPython
Mise à jour de votre version de CircuitPython

Accédez à https://circuitpython.org/downloads sur Internet. Cliquez sur l'image de l'Itsybitsy M4 Express (pas la version M0).

Cliquez sur le bouton violet pour télécharger le fichier. UF2.

Démarrez l'explorateur de fichiers et localisez le fichier. UF2

Connectez votre Itsybitsy M4 Express au port USB et localisez son lecteur - CIRCUITPY

Double-cliquez sur le petit bouton de réinitialisation et le nom du fichier devrait changer en ITSYM4BOOT de CIRCUITPY. Vous devez double-cliquer assez rapidement.

Faites glisser le fichier UF2 et déposez-le sur le lecteur ITSYM4BOOT. Le fichier UF2 sera copié sur la carte IBM4 et le nom du lecteur reviendra à CIRCUITPY.

Sélectionnez le lecteur CIRCUITPY et double-cliquez sur le fichier boot_out.

Vous pouvez lire le nouveau numéro de version pour vérifier qu'il a été mis à jour.

Créez un nouveau dossier sur le lecteur CIRCUITPY appelé lib. Nous en aurons besoin dans des Instructables ultérieurs pour contenir les pilotes pour les capteurs et les écrans.

Redémarrez l'éditeur Mu. Chargez votre fichier main.py depuis l'IBM4 et enregistrez-le dans l'IBM4. La LED rouge doit commencer à clignoter.

Si vous cliquez une fois sur le bouton de réinitialisation, le script main.py chargé sera redémarré.

Étape 6: Le REPL

Le REPL
Le REPL

La fenêtre en bas de l'éditeur, allumée et éteinte avec l'icône Série, est bien plus qu'une simple fenêtre d'impression.

« Une boucle de lecture-évaluation-impression (REPL), également appelée interface de niveau supérieur ou langage shell interactif, est un environnement de programmation informatique simple et interactif qui prend des entrées utilisateur uniques (c'est-à-dire des expressions uniques), les évalue et renvoie le résultat à l'utilisateur; un programme écrit dans un environnement REPL est exécuté par morceaux. (Google)

Fondamentalement, si vous écrivez une seule instruction python dans le REPL, il l'exécute immédiatement. Essayons.

Cliquez avec votre souris dans la fenêtre REPL.

Pendant l'exécution de votre script, maintenez la touche enfoncée et appuyez sur (CTRL-C). Cela arrête votre script.

Appuyez sur n'importe quelle touche pour entrer le REPL et une invite '>>>' apparaît.

tapez print(4 + 100)

Immédiatement revient la réponse 104

Regardez l'image et essayez quelques-uns d'entre vous. (Essayez +, -, *, /, // et %)

Essaye ça:

>> panneau d'importation

>> dir(tableau)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11', 'D12', 'D13', 'D2', 'D3', 'D4', 'D5', 'D7', 'D9', 'I2C', 'MISO', 'MOSI', 'RX', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

Ceci est une liste des noms de broches disponibles sur la carte IBM4

Pour revenir à la normale avec un redémarrage progressif, tapez simplement CTRL-D et main.py redémarre.

Déconnecter votre carte

Éjectez toujours le lecteur CIRCUITPY avant de vous déconnecter de l'ordinateur. Ne le retirez jamais pendant le transfert de données.

Étape 7: mettre les jambes

Mettre les jambes
Mettre les jambes
Mettre les jambes
Mettre les jambes

Les en-têtes mâles sont trop longs pour la planche, alors enclenchez/coupez-en 2 à la bonne longueur.

Poussez-les dans une maquette, placez l'IBM4 sur le dessus et soudez-les. Assurez-vous que la planche est dans le bon sens ! (puce sur le dessus)

Ne placez pas d'en-têtes mâles sur le dessus. J'utilise une bande de 5 en-têtes femelles sur le dessus afin que je puisse utiliser toutes les broches. Utilisez un étau pour maintenir fermement la bande de l'en-tête, près du point de coupe. Utilisez une scie à métaux tranchante pour couper le centre d'un trou - le connecteur en laiton tombera pendant que vous coupez. Limez le bord coupé pour obtenir une finition soignée - pas de rainure.

La soudure sur les broches n'est pas difficile. Regardez les cours Arduino et Electronique si vous n'avez jamais utilisé de fer à souder auparavant. Être capable de souder signifie que vous pouvez créer des versions soignées et durables de vos projets sur une planche à bandes, puis réutiliser la planche à pain.

Pour éviter que la carte ne surchauffe, je vous suggère de ne pas souder un côté puis de remonter de l'autre. Laissez des espaces et remplissez plus tard. c'est-à-dire les broches 10, RX, 2, A3, RS, BAT, 9, MI ……etc

Étape 8: Voyant d'état CircuitPython RGB - pour vous aider à trouver les erreurs

Voyant d'état CircuitPython RGB - pour vous aider à trouver les erreurs
Voyant d'état CircuitPython RGB - pour vous aider à trouver les erreurs

ItsyBitsy M4 Express et de nombreuses autres cartes M0 et M4 ont toutes une seule LED NeoPixel ou DotStar RGB sur la carte qui indique l'état de CircuitPython. Le voici entre le (C) et la broche A0.

Voici la signification des couleurs et du clignotement:

  • VERT fixe: code.py (ou code.txt, main.py ou main.txt) est en cours d'exécution
  • VERT clignotant: code.py (etc.) est terminé ou n'existe pas
  • JAUNE fixe au démarrage: (4.0.0-alpha.5 et plus récent) CircuitPython attend une réinitialisation pour indiquer qu'il doit démarrer en mode sans échec
  • JAUNE clignotant: le circuit Python est en mode sans échec: il s'est écrasé et a redémarré
  • BLANC fixe: REPL est en cours d'exécution
  • BLEU fixe: boot.py est en cours d'exécution

Les couleurs suivies de plusieurs clignotements indiquent une exception Python, puis le numéro de ligne de l'erreur. La couleur du premier flash indique le type d'erreur:

  • VERT: Erreur d'indentation
  • CYAN: erreur de syntaxe
  • BLANC: erreur de nom
  • ORANGE: OSError
  • VIOLET: Erreur de valeur
  • JAUNE: autre erreur

Ceux-ci sont suivis de clignotements indiquant le numéro de ligne, y compris la valeur de position. Les flashs BLANCs sont à la place des milliers, le BLEU à la place des centaines, le JAUNE à la place des dizaines et le CYAN à la place de chacun. Ainsi, par exemple, une erreur à la ligne 32 clignotera trois fois en JAUNE puis en CYAN deux fois. Les zéros sont indiqués par un espace sombre extra-long.

Ceux-ci sont assez difficiles à dénombrer. Ayez toujours la fenêtre REPL ouverte lors du développement d'un script et les messages d'erreur, en anglais, y apparaîtront.

Étape 9: Regarder vers l'avenir - À vous de jouer

Dans l'attente - À vous de jouer
Dans l'attente - À vous de jouer

Quand j'ai commencé ce Instructable, je m'attendais à ce que ce soit le premier d'une série explorant CircuitPython et l'informatique physique. Mon plan pour le prochain est de couvrir les entrées et sorties de base avec l'arithmétique, les LED, les commutateurs, les potentiomètres et les déclarations d'entrée. Il couvrira également les méthodes de bouclage et les listes (tableaux).

Avant de l'écrire, je demande des commentaires, afin que je puisse l'adapter au public.

Le genre de choses que j'aimerais savoir sont:

  • Le rythme est bon ?
  • Le détail est-il trop, trop peu ou à peu près correct ?
  • Souhaitez-vous des exercices pratiques?

A vous.

Conseillé: