Adafruit GEMMA

De EduTech Wiki
Aller à la navigation Aller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Introduction

Adafruit GEMMA est une petite carte compatible Arduino e-textile bon marché qui peut également être programmée avec CircuitPython. Citation : "La Gemma M0 est une carte microcontrôleur super petite, avec juste assez pour construire de nombreux projets simples. Elle peut sembler petite et mignonne : ronde, de la taille d'un quart environ, avec de sympathiques pinces crocodile à accrocher". (Page de présentation Gemma M0, juin 2022).

Depuis août 2019, la version Gemma M0 est la version la plus intéressante. Elle peut être programmée avec MakeCode / JavaScript, CircuitPython et Arduino. Les versions V1 et V2 ne sont plus recommandées.

Voir également:

La carte

Contrairement à l'Adafruit Circuit Playground Express, cette carte n'a pas de capteurs. Elle n'a qu'une seule LED RDB pour la sortie. Par conséquent, elle doit être utilisée avec d'autres éléments matériels, par ex. Adafruit NeoPixels et tout type de capteur ou autres périphériques d'entrée décrits dans la page Adafruit Wearables.

Les informations suivantes ont été extraites de la page visite guidée et de la page de brochage. (consulté le 17 juin 2022).

Dimensions et prix

  • Prix ​​: 10 $ / 11 CHF
  • Diamètre : 2,8 cm
  • Épaisseur : 5 mm (à cause du connecteur de la batterie)
  • Poids: ?

Caractéristiques principales

  • Processeur 48 MHz ATSAMD21 32 bits
  • Flash de 256 Ko 32 Ko de RAM
  • LED DotStar RBG.
  • Peut être utilisé avec Arduino IDE ou CircuitPython
  • Connecteur de batterie JST
  • Bouton ON / OFF
  • Bouton de réinitialisation

Connectivité

Connecteur USB micro-B. USB natif pris en charge par tous les systèmes d'exploitation.

Pads d'entrée/sortie à usage général (GPIO)

Tous les 3 pads GPIO peuvent être utilisés comme entrées numériques, sorties numériques, pour les LED, les boutons et les commutateurs. De plus, tous peuvent être utilisés comme entrées analogiques (ADC 12 bits) ou matériel tactile capacitif. Chacun des trois a des capacités de pad uniques.

  • A0 - connecté à PA02 sur l'ATSAMD21. Cette broche peut être utilisée comme une E/S numérique avec un pullup ou un pulldown sélectionnable, une touche capacitive, une entrée analogique (utilisez 'A0') et une véritable sortie analogique (DAC 10 bits). Elle ne peut pas être utilisée comme sortie PWM.
  • A1 - connecté à PA05 sur l'ATSAMD21. Cette broche peut être utilisée comme une E/S numérique avec pullup ou pulldown sélectionnable, tactile capacitif, entrée analogique (utilisez 'A1'), sortie PWM, et est également utilisée pour l'horloge I2C (SCL) et le matériel Serial TX.
  • A2 - connecté à PA04 sur l'ATSAMD21. Cette broche peut être utilisée comme une E/S numérique avec pullup ou pulldown sélectionnable, tactile capacitif, entrée analogique (utilisez 'A2'), sortie PWM, et est également utilisée pour les données I2C (SDA) et le matériel Serial RX.

Pads d'entrée/sortie d'alimentation

  • 3Vo - Il s'agit du pad OUTPUT 3.3V du régulateur de tension, fournit jusqu'à 500mA à 3.3V stable. Bon pour les capteurs ou les petites LED ou autres appareils 3V.
  • Vout - Sortie de tension (connectez-vous à la batterie ou à l'alimentation USB, selon la valeur la plus élevée). Utilisé pour alimenter des choses jusqu'à 500mA.
  • 1 GND - broche de masse commune

Pilotes

Programmer avec MakeCode

Jusqu'à présent (juin 2022), il n'y a pas beaucoup de documentation: cette page peut être utile.

Pour programmer le GEMMA, il faut utiliser l'environnement par défaut sur https://maker.makecode.com/ (contrairement à l'Adafruit Circuit Playground Express‎, qui a son propre environnement).

Première utilisation

Étape 1 : (utilisateurs Windows uniquement)

  • Avant de commencer, installez les pilotes. Téléchargez le fichier *.exe dans un répertoire local et exécutez-le avec les droits d'administrateur.

Étape 2 : Préparez la carte pour la programmation MakeCode (vous pouvez également le faire plus tard)

  • Lire le document téléchargement et flashage
  • Appuyez deux fois sur le bouton de réinitialisation (ou une fois selon les cas). Il devrait s'agir de MAKECODE, METROBOOT ou GEMMABOOT. Après avoir appuyé deux fois sur le bouton de repos, vous devriez obtenir un de ces trois noms. Si le lecteur est prêt pour CircuitPython, le nom du lecteur est "CircuitPy".

Créer un nouveau projet

Ouvrez https://maker.makecode.com/ dans un navigateur Web

Étape 1 : Créer un nouveau projet

Étape 2 : Sélectionnez la carte GEMMA

Etape 3 : Ecrire le programme

  • Voir ci-dessous pour un exemple

Étape 4 : Enregistrez-le (en fait, faites-le de temps en temps)

  • Cela enregistrera un fichier PNG qui contiendra votre code de programme à l'intérieur (!)
  • Pour modifier à nouveau, faites glisser et déposez l'image dans l'éditeur Web
  • Vous pouvez également exporter le fichier *.uf2. Il comprend le code source en principe.

Étape 5 : Téléchargez et flashez

  • Connectez la carte avec un câble USB B
  • Cliquez sur le bouton Télécharger
  • Le voyant d'état (en haut à droite) clignote pendant le transfert du fichier.
  • Après cela, la carte se réinitialisera automatiquement et votre remplissage *.uf2 deviendra le fichier .uf2 actuel.

Étape 6 : Réglez le programme

  • Après avoir apporté des modifications au programme, cliquez sur le bouton de réinitialisation, puis procédez comme ci-dessus à l'étape 5 (c'est-à-dire cliquez sur le bouton de téléchargement)

Exemple

  • Le code suivant fera clignoter le voyant vert et rouge quatre fois au démarrage (l'utilisateur appuie une fois sur le bouton de réinitialisation). Remarquez les pauses.
  • L'utilisateur peut alors changer de couleur
    • En appuyant sur A1 (alias D2) : Magenta
    • En appuyant sur A0 (alias D1): Rose
    • En appuyant sur A2 (alias D0): Blanc

Le code JavaScript est ci-dessous :

input.touchD1.onEvent(ButtonEvent.Click, function () {
    pixel.setColor(0xff00ff)
})
input.touchD2.onEvent(ButtonEvent.Click, function () {
    pixel.setColor(0x00ffff)
})
input.touchD0.onEvent(ButtonEvent.Click, function () {
    pixel.setColor(0xffffff)
})
pause(1000)
for (let i = 0; i < 4; i++) {
    pixel.setColor(0x00ff00)
    pause(500)
    pixel.setColor(0xff0000)
    pause(500)
}

Programmer avec CircuitPython

"La partie la plus excitante du Gemma M0 est que, bien que vous puissiez l'utiliser avec l'IDE Arduino, nous l'expédions avec CircuitPython à bord. Lorsque vous le branchez, il apparaîtra comme un très petit lecteur de disque avec main.py dessus. Modifiez main.py avec votre éditeur de texte préféré pour créer votre projet en utilisant Python, le langage de programmation le plus populaire. Aucune installation, IDE ou compilateur n'est nécessaire, vous pouvez donc l'utiliser sur n'importe quel ordinateur, même les ChromeBooks ou les ordinateurs sur lesquels vous ne pouvez pas installer de logiciel. Lorsque vous avez terminé, débranchez le Gemma M0 et votre code vous accompagnera" ([1])

Liens

Sources

Des images ainsi que du texte ont été reproduits à partir de la documentation Adafruit GEMMA. Certaines images sont disponibles sous licence CC BY-NC-SA. D'autres sont copyright AdaFruit et "tous droits réservés" et reproduits avec permission. Avant de réutiliser une image de ce site Web, assurez-vous de consulter les informations de licence