Circuit Playground Classic, la carte tout-en-un d'Adafruit

Posté sur: oct. 16, 2017

Catégories: Arduino

Tags: adafruit , arduino , circuit , express , ide , playground , wearable

Aujourd'hui, nous vous parlons de la carte tout-en-un d'Adafruit, la Circuit Playground Classic. Cette petite carte ronde de 5cm de diamètre, analogue à l'Arduino du point de vue programmation, intègre en plus des capteurs, des boutons, des LEDs RVB et un mini haut-parleur.

Tout ces modules vont nous permettre de faire d'innombrables applications sans besoin de soudure ni de module complémentaire !

Vous découvrirez ici un résumé du contenu de la carte, puis apprendrez à la programmer avec le logiciel Arduino IDE.

Contenu de la Circuit Playground Classic

Passons donc en revue les éléments intégrés dans la Circuit Playground:

  • Le microcontrôleur est un ATmega32u4, le même qu'on retrouve sur les Arduino Leonardo, Micro, Yun, etc.
  • L'alimentation se fait soit avec le 5V du port USB, soit via le port d'alimentation externe qui permet d'utiliser vos batteries à piles, LiPo, etc. avec une tension admissible de 3.5V à 6.5V.

Du côté des capteurs, et c'est là que ça devient intéressant, on trouve :

  • En entrée : un microphone, un accéléromètre, un capteur de température, un capteur de lumière, un mini haut-parleur (tonalité uniquement), un interrupteur et 2 boutons poussoirs.
  • En sortie : 10 LEDs RVB embarqués, 8 pads pouvant au choix accueillir des pinces crocodiles, servir de GPIOs ou agir comme des touches tactiles capacitives.

Rien que ça, le tout sur une carte de cm de diamètre !

Maintenant que les présentations sont faites, voyons comment la prendre en main. Nous allons commencer par vérifier le bon fonctionnement de la carte fraîchement sortie de son emballage, puis mettrons en place l'interface de programmation Arduino IDE pour enfin s'essayer à la programmation.

Première mise sous tension

Nous commençons par vérifier le bon fonctionnement de la carte en faisant les manipulations suivantes:

  • Mettez la carte sous tension, et vérifiez que la LED verte ON s'allume (à côté du port USB). Il est possible qu'une séquence d'allumage des LEDs RVB préprogrammée en usine se lance, c'est normal.

  • On va maintenant vérifier que le bootloader est bien chargé en appuyant 2 fois sur le bouton Reset de la carte. Si la LED rouge #13 clignote une dizaine de fois environ 1 fois par seconde, c'est bon !

    Mise en place de l'IDE Arduino

    On va supposer que vous avez déjà "Arduino IDE" installé sur votre ordinateur. Si ce n'est pas le cas, vous le trouverez sur le site officiel Arduino. Il sera plus pratique d'utiliser la dernière version d'Arduino IDE, puisque la carte et la librairie dont nous aurons besoin y sont déjà présentes.

    La mise en place va se faire en suivant les 3 étapes suivantes :

    1. Vérifier que la carte est bien reconnue sur le port USB.
    2. Ajouter la carte Circuit Playground dans Arduino IDE.
    3. Ajouter la librairie Adafruit dédiée à la carte (optionnel).

    Voici le détail des étapes listé plus bas.

    Etape 1 : Ouvrez Arduino IDE et vérifiez que la carte "Circuit Playground" est bien reconnue dans la liste des ports. Si ce n'est pas le cas, téléchargez et installez Windows Driver Software sur le site de Adafruit.

    Etape 2 : Ajoutez la carte "Circuit Playground" comme suit :

    • Allez dans "Outils/Type de carte/Gestionnaire de carte".
    • Cherchez le package "Adafruit AVR Boards" et installez le.

    Si le package n'est pas présent (ancienne version de l'IDE) suivre les instruction suivantes :

    • Ouvrez les préférences (Fichier / Préférences.
    • Ajoutez l'URL suivante au gestionnaire de cartes supplémentaires : https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
    • Fermez et relancer Arduino IDE, et retourner dans le gestionnaire de carte.
    • Vous pouvez maintenant sélectionner la carte Adafruit Circuit Playground dans le menu Outils / Type de carte

    Etape 3 : Adafruit met à disposition une librairie dédiée aux cartes "Circuits Playgrounds" permettant de "prémâcher" le travail de programmation. Elle est déjà installée sur les dernières versions de l'IDE, mais sinon il suffit d'aller dans "Croquis/Inclure une bibliothèque/Gérer les bibliothèques" puis de chercher la librairie "Adafruit Circuit Playgound" et enfin de l'installer.

    Un 1er programme: demo

    Nous allons téléverser un premier programme qui permet de démontrer les possibilités de la carte:

    • Connectez la carte sur l'ordinateur en USB.
    • Allez dans "Fichier/Exemples/Adafruit Circuit Playground" et ouvrez l'exemple "demo".
    • Vérifiez que le type de carte et le port série sont bien réglés sur "Adafruit Circuit Playground" dans le menu "Outils".
    • Cliquez sur "Téléverser".
    • Ouvrez le moniteur série et ajustez la fréquence à 9600 baud.

    Vous devriez voir l'écran ci-dessous.

    Vous pouvez maintenant manipuler la carte et observer ses réactions sur le moniteur série. Par exemple:

    • Éclairez la carte : la valeur "light sensor" augmente.
    • Posez le doigt sur la thermistance A0 : c'est la valeur "Temperature" qui augmente.
    • Posez le doigt sur les pads : les valeurs "Capsense" correspondantes augmentent.
    • Inclinez la carte à la verticale. Les valeurs de l'accéléromètre vont varier ainsi vous pourriez ainsi estimer l'axe d'inclinaison de la carte.
    • ...

    Bref ! Vous pouvez testez les capteurs, les boutons, les LEDs et il est très facile d'aller voir dans le code la commande qui permet de lire telle ou telle valeur et de gérer les LEDs ou le son.

    Un 2ème programme: Lumière de bougie

    Ici, nous allons écrire un programme dont le but est de commander les LEDs RVB de manière à simuler un éclairage de bougie.

    Le programme consiste simplement à affecter à chaque cycle, une intensité lumineuse aléatoire pendant une durée aléatoire.

    Si vous voulez l'essayer, il suffit de copier/coller le code ci-après dans une nouvelle fenêtre Arduino IDE et de téléverser le programme. Et ... c'est tout ! Pas de breadboard, ni branchement, ni soudure. CQFD ;)

      // mode debug  #define DEBUG 0 // Affiche des infos sur le port série si décommentée  // Ajout de la librairie dédiée  #include "Adafruit_CircuitPlayground.h"    // Variables d'intensité lumineuse  byte intensite = 128; // valeur initiale  byte intensiteMin = 10; // minimum  byte intensiteMax = 210; // maximum    // Variables temporelles  unsigned long temps = 0;  int delai = 100; // valeur initiale  int delaiMin = 100; // minimum  int delaiMax = 300; // maximum    // Couleur LED  uint32_t color = 0xFF2500; // valeur RVB en hexadécimal    // Initialisation de la carte  void setup() {    #ifdef DEBUG     Serial.begin(9600);    #endif    CircuitPlayground.begin();     CircuitPlayground.setBrightness(intensite);  }    // Boucle principal  void loop() {    #ifdef DEBUG    Serial.print("intensité = ");     Serial.println(intensite);    Serial.print("delai = ");     Serial.println(delai);    #endif     // Si le délai est dépassé, on change l'éclairage    if (millis() - temps >= délai) {       // On règle la couleur sur les 10 LEDs      for(int i=0; i<10; i++) {         CircuitPlayground.setPixelColor(i, color);      }      // On ajuste la luminositén       CircuitPlayground.setBrightness(intensite);      // On change les variables luminosité et délai aléatoirement      intensite = random(intensiteMin, intensiteMax);      delai = random(delaiMin, delaiMax);      // On met le nouveau temps en mémoiren temps = millis();    }     // On attend un peu avant de reboucler    delay(5);  }  

    Et pour aller plus loin :

    • Vous pouvez améliorer la simulation d'une bougie en vous basant sur le principe mathématique des fractales avec le code du Jack o' lantern. Le réalisme obtenu est vraiment bluffant !
    • Pour développer vos propres applications, n'hésitez pas à vous servir des exemples de code disponible dans "Fichier/Exemples". Vous pouvez aussi vous référer au guide d'Adafruit et à la documentation publiée par caternuson en attendant qu'Adafruit publie sa version officielle.

    Bonne récréation !

    Commentaires

    • admin
      oct. 24, 2017
    • IOT
      oct. 24, 2017

    laissez un commentaire

    Se connecter