Si vous venez de mettre la main sur le CodeCell , vous allez vous régaler. Ce petit module est conçu pour simplifier vos projets de bricolage avec de multiples fonctionnalités regroupées dans une carte de la taille d'un centime. Dans ce guide, nous vous expliquerons :
CodeCell est un module compact et polyvalent doté de l'ESP32-C3, de plusieurs options d'alimentation et de capteurs intégrés, le tout dans un format minuscule de 1,85 cm de large. Ces caractéristiques en font un outil puissant pour une large gamme d'applications.
Dans cette première section, nous commencerons par nous familiariser avec les circuits qui composent le CodeCell . Ensuite, nous passerons en revue les étapes simples pour configurer votre CodeCell .
Module ESP32C3
Au cœur du CodeCell se trouve le module ESP32C3, un microcontrôleur compact connu pour être facile à utiliser dans le domaine de l'IoT. Il combine une architecture compatible Arduino avec des fonctionnalités Wi-Fi et Bluetooth Low Energy (BLE) intégrées. Cette intégration offre les options de connectivité les plus populaires tout en conservant un format compact.
L'antenne PCB du module ESP32C3 est positionnée sur un côté, à l'écart des autres composants, pour minimiser les interférences et améliorer la transmission et la réception du signal. Ce placement permet de réduire l'impact des plans de masse ou d'autres surfaces conductrices qui pourraient dégrader les performances de l'antenne. Les composants situés sur la face inférieure sont maintenus dans la distance recommandée pour l'antenne. D'après les tests, nous avons constaté que les performances de l'antenne ne sont pas affectées par l'interférence minimale d'un câble USB-C, car ces câbles sont généralement blindés.
L'ESP32-C3 offre une mémoire importante, avec 4 Mo de Flash et 400 Ko de SRAM, ce qui lui permet d'exécuter la plupart des applications courantes. Son processeur monocœur RISC-V 32 bits, fonctionnant jusqu'à 160 MHz, gère efficacement diverses tâches. Cette combinaison de mémoire et de puissance de traitement rend l'ESP32-C3 adapté à une large gamme d'utilisations.
Le module ESP32C3 prend également en charge un contrôleur USB série/JTAG, nous permettant de rendre le CodeCell reflashable via le port USB-C et d'envoyer des données série pour la communication et le débogage.
Gestion de l'alimentation
Le CodeCell offre une grande flexibilité en termes d'options d'alimentation. Il peut être alimenté via le connecteur de batterie LiPo, un câble USB-C ou les deux.
Le connecteur de batterie LiPo permet de connecter la batterie en toute sécurité plus facilement que jamais, sans avoir besoin de souder ni de risquer de la court-circuiter accidentellement.
Le port USB-C a une double fonction : il sert à la fois à alimenter l'appareil et/ou à le reprogrammer. Cette option multi-alimentation est activée via la puce de gestion de batterie BQ24232, qui dispose d'une gestion dynamique du chemin d'alimentation (DPPM) qui peut alimenter le système tout en chargeant simultanément et indépendamment la batterie. Le processus de charge de la batterie est géré en trois phases : précharge de conditionnement, courant constant et tension constante. Pour protéger la batterie, la tension de sortie (Vo) est régulée via la puce BQ24232. Cette sortie prend en charge un courant de sortie maximal de 1 500 mA lorsqu'elle est alimentée par la batterie LiPo et de 450 mA lorsqu'elle est alimentée via USB.
Par défaut, le courant de charge de la batterie LiPo est réglé à 90 mA, ce qui garantit un taux de charge équilibré et sûr pour la batterie LiPo optionnelle de 170 mAh. De plus, pour ceux qui souhaitent ajuster le taux de charge, la résistance 0402 R12 doit être dessoudée et remplacée par une nouvelle résistance basée sur la formule (R = 870/Ichrg). Ceci est uniquement recommandé pour les professionnels de la soudure, qui n'ont pas peur de se battre avec de minuscules composants 0402 ! Consultez la fiche technique du BQ24232 pour plus d’informations sur la charge de la batterie.
La bibliothèque CodeCell peut fournir un retour visuel sur l'état de la batterie/de l'alimentation USB via la LED RVB adressable intégrée :
La régulation de puissance est également prise en charge par plusieurs condensateurs de découplage, dont jusqu'à deux condensateurs de masse de 100 µF chacun, placés à côté du connecteur de batterie. Ces condensateurs sont connectés aux broches 3,3 V et de sortie Vo pour assurer une alimentation stable. De plus, la carte est équipée de deux diodes TVS de protection ; l'une protège la tension d'entrée USB 5 V (Vin) et l'autre protège la tension de sortie (Vo). Ces diodes TVS offrent une protection contre les décharges électrostatiques (ESD), capables d'absorber en toute sécurité les décharges électrostatiques répétitives au-dessus du niveau maximal spécifié dans la norme internationale IEC 61000-4-2 sans dégradation des performances.
La carte comprend également un régulateur LDO (Low Dropout) de 3,3 V intégré, qui fournit une alimentation stable à ses composants basse tension. Cette minuscule puce LDO NCP177 peut produire jusqu'à 500 mA de courant de sortie avec une tension de chute généralement faible de 200 mV à 500 mA.
GPIO et broches d'alimentation
Étant donné la conception compacte, le principal défi était de maximiser l'utilisation des broches GPIO. Nous avons abordé ce problème en divisant chacun des trois côtés disponibles du CodeCell en différentes sections d'E/S en fonction de leurs applications. Nous avons également placé des broches d'alimentation le long des bords du module pour une connexion facile à diverses sources d'alimentation, vous permettant ainsi de connecter d'autres modules, capteurs et actionneurs à différents côtés.
Sur la face inférieure, 3 des 5 broches sont utilisées pour l'alimentation : une broche de masse (GD), une broche d'alimentation de niveau logique 3,3 V (3V3) et une broche de charge d'entrée 5 V (5V0). Cette broche 5V0 est connectée à la tension d'entrée USB. Cela signifie que vous pouvez l'utiliser pour obtenir une alimentation de 5 V lorsque l'USB est connecté, ou vous pouvez l'utiliser comme entrée d'alimentation pour charger au lieu d'utiliser l'USB. Les 2 autres broches sont les broches I2C SDA et SCL pour ajouter des capteurs numériques externes. Si vous n'utilisez pas de capteurs externes et de lumière/mouvement, ces broches I2C peuvent être configurées comme GPIO.
Les deux autres côtés ont chacun une broche de masse (GD) et une broche de sortie de tension (VO). Chaque côté comporte également 3 broches GPIO programmables (IO1, IO2, IO3, IO5, IO6, IO7), qui peuvent toutes être configurées comme broches PWM ( idéales pour connecter directement un pont en H pour le contrôle de l'actionneur/moteur ). IO1, IO2 et IO3 peuvent également être utilisés comme broches ADC.
Capacités de détection
Les fonctionnalités remarquables du CodeCell incluent ses capteurs intégrés. Chaque unité est équipée d'un capteur de lumière intégré et un capteur de mouvement en option est également disponible pour améliorer la détection de mouvement de votre projet, ce qui est particulièrement utile pour la robotique et les objets connectés !
Nous verrons ensuite comment la bibliothèque CodeCell simplifie à la fois la configuration de ces capteurs et la lecture de leurs données.
Qu'en est-il de la broche BOOT ?
Certaines cartes de développement ESP32 incluent à la fois un bouton RST (Reset) et un bouton BOOT pour mettre manuellement l'appareil en mode programmation. Cependant, l'ESP32-C3, comme celui du module CodeCell, peut entrer automatiquement en mode boot via l'interface série lors de l'utilisation de l'IDE Arduino. Cela signifie que le CodeCell n'a pas besoin de boutons RST ou BOOT dédiés, ce qui nous a permis de le rendre aussi petit qu'il l'est.
Dans le cas rare où votre CodeCell se bloque ou rencontre une exception (le forçant à se réinitialiser en permanence), vous pouvez le forcer manuellement à passer en mode démarrage pour reflasher le firmware. Pour ce faire, suivez simplement ces étapes :
En suivant ces étapes, votre CodeCell retrouvera sa vie.
Pour rendre la programmation encore plus facile, le CodeCell La bibliothèque fournit un large éventail de fonctions pour l'initialisation, la lecture et la gestion des capteurs et de l'alimentation. Dans cette section, nous allons vous expliquer tout ce que vous devez savoir sur la configuration de votre appareil et de sa bibliothèque.
Déballage de votre CodeCell
Commençons par ce que vous trouverez à l'intérieur de la boîte. Selon les options que vous avez sélectionnées lors du paiement, vous trouverez dans la boîte :
Mettre votre CodeCell sous tension pour la première fois
Commençons par brancher un câble USB-C ! Une fois que votre CodeCell est alimenté, il devrait :
Configuration de votre CodeCell
L'étape suivante consiste à connecter le CodeCell à l'IDE Arduino et à exécuter un croquis :
Une fois votre IDE configuré, nous pouvons maintenant procéder à l'installation de la bibliothèque « CodeCell ». Pour ce faire, allez dans « Sketch > Inclure la bibliothèque > Gérer les bibliothèques » - le « Gestionnaire de bibliothèques » devrait s'ouvrir. Tapez simplement « CodeCell » et cliquez sur « Installer » pour télécharger la dernière version de CodeCell .
Nous mettons continuellement à jour et ajoutons de nouvelles fonctionnalités à cette bibliothèque, alors assurez-vous d'utiliser la dernière version.
Pour vous familiariser rapidement avec cette bibliothèque, accédez à « Fichier > Exemples > CodeCell », où vous trouverez plusieurs exemples que vous pouvez utiliser et modifier pour vos projets. Nous vous recommandons de commencer par l'exemple « GettingStarted », qui ne contient que quelques lignes de code mais explique toutes les fonctionnalités de détection disponibles avec CodeCell .
Une fois que vous avez sélectionné un exemple de croquis, cliquez sur le bouton « Télécharger » pour flasher le code sur votre CodeCell. Après le téléchargement, ouvrez le moniteur série « Outils > Moniteur série » pour voir les données série de votre CodeCell.
Voici quelques tutoriels CodeCell supplémentaires pour vous aider à démarrer avec diverses applications :
Fonctions de la bibliothèque CodeCell
Pour explorer davantage le code, décomposons toutes les fonctions et expliquons ce que fait chacune d'elles :
Initialisation de CodeCell
La première étape de l'utilisation du CodeCell consiste à l'initialiser. Cela se fait à l'aide de la fonction `myCodeCell.Init()`, qui vous permet de spécifier les capteurs que vous souhaitez activer.
Macros de détection disponibles :
Vous pouvez combiner plusieurs macros à l'aide de l'opérateur « + » pour initialiser plusieurs capteurs à la fois.
Gestion du pouvoir
La fonction `myCodeCell.Run()` est essentielle pour la gestion de l'alimentation. Cette fonction doit être appelée dans la fonction `loop()` pour gérer l'état de la batterie et garantir une utilisation optimale de l'énergie.
Fonction Comportement:
Lecture des données du capteur
Après avoir initialisé les capteurs, vous pouvez lire leurs données à l'aide de diverses fonctions fournies par la bibliothèque. Voici un bref aperçu des fonctions disponibles :
Fonctions du capteur de lumière :
Fonctions du capteur de mouvement :
Exemple d'utilisation :
Fonctions veille, économie d'énergie, diagnostic et LED
Le CodeCell comprend plusieurs fonctions pour gérer les modes veille et économie d'énergie :
Vous avez maintenant fait vos premiers pas avec CodeCell . Plongez plus profondément dans les exemples de la bibliothèque, explorez les intégrations de capteurs et commencez à donner vie à vos projets innovants avec CodeCell !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2024 Microbots.