Table des matières:

HackerBox 0051 : Labo MCU : 10 étapes
HackerBox 0051 : Labo MCU : 10 étapes

Vidéo: HackerBox 0051 : Labo MCU : 10 étapes

Vidéo: HackerBox 0051 : Labo MCU : 10 étapes
Vidéo: MCU LAB Demo with Potentiometer and OLED Display 2024, Juillet
Anonim
HackerBox 0051: Laboratoire MCU
HackerBox 0051: Laboratoire MCU

Salutations aux HackerBox Hackers du monde entier ! HackerBox 0051 présente le HackerBox MCU Lab. Le MCU Lab est une plate-forme de développement pour tester, développer et prototyper avec des microcontrôleurs et des modules de microcontrôleur. Un Arduino Nano, un module ESP32 et une pilule noire SMT32 sont utilisés pour explorer les blocs de fonctionnalités du MCU Lab. Les blocs de fonctionnalités MCU Lab comprennent des commutateurs, des boutons, des LED, un écran OLED, un buzzer, un potentiomètre, un pixel RVB, un décaleur de niveau logique, une sortie VGA, une entrée clavier PS/2, une interface série USB et deux zones de prototypage sans soudure.

Ce guide contient des informations pour démarrer avec HackerBox 0051, qui peuvent être achetées ici jusqu'à épuisement des stocks. Si vous souhaitez recevoir une HackerBox comme celle-ci directement dans votre boîte mail chaque mois, veuillez vous inscrire sur HackerBoxes.com et rejoignez la révolution !

HackerBoxes est le service de box d'abonnement mensuel pour les pirates informatiques et les passionnés d'électronique et de technologie informatique. Rejoignez-nous pour vivre la HACK LIFE.

Étape 1: Liste de contenu pour HackerBox 0051

  • Module MCU 1: Arduino Nano 5V, 16MHz
  • Module MCU 2: WEMOS ESP32 Lite
  • Module MCU 3: pilule noire STM32F103C8T6
  • Circuit imprimé exclusif MCU Lab
  • Adaptateur série USB FT232RL
  • Écran OLED 128x64 I2C 0,96 pouces
  • Décaleur de niveau logique 8 bits bidirectionnel
  • LED SMD RVB WS2812B
  • Quatre boutons tactiles à montage en surface
  • Quatre LED rouges diffuses de 5 mm
  • Avertisseur piézo
  • Connecteur VGA HD15
  • Connecteur de clavier mini-DIN PS/2
  • Potentiomètre 100K Ohm
  • Commutateur DIP à 8 positions
  • AMS1117 3.3V Régulateur Linéaire SOT223
  • Deux condensateurs au tantale 22uF 1206 SMD
  • Dix résistances de 680 Ohm
  • Quatre pieds de carte PCB en caoutchouc adhésif
  • Deux mini-planches à pain 170 points sans soudure
  • Onze prises femelles à 8 broches
  • En-tête de rupture à 40 broches
  • Lot de 65 cavaliers mâles
  • Autocollant de circuit imprimé poing levé
  • Pirater la planète Smiley Sticker
  • Porte-clés exclusif HackerBox "Supprimer avant le vol"

Quelques autres choses qui seront utiles:

  • Fer à souder, soudure et outils de soudure de base
  • Ordinateur pour exécuter des outils logiciels

Plus important encore, vous aurez besoin d'un sens de l'aventure, d'un esprit de hacker, de patience et de curiosité. Construire et expérimenter avec l'électronique, bien que très gratifiant, peut être délicat, stimulant et même parfois frustrant. Le but est le progrès, pas la perfection. Lorsque vous persistez et profitez de l'aventure, une grande satisfaction peut être tirée de ce passe-temps. Faites chaque pas lentement, faites attention aux détails et n'ayez pas peur de demander de l'aide.

Il y a une mine d'informations pour les membres actuels et potentiels dans la FAQ HackerBoxes. Presque tous les e-mails d'assistance non techniques que nous recevons y sont déjà répondus, nous apprécions donc vraiment que vous preniez quelques minutes pour lire la FAQ.

Étape 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

Le MCU Lab est une version compacte et raffinée d'une plate-forme de développement que nous utilisons pour prototyper et tester diverses conceptions basées sur des microcontrôleurs (MCU). Il est très utile pour travailler avec des modules MCU (comme un Arduino Nano, un ESP32 DevKit, etc.) ou des packages de périphériques MCU individuels (comme des ATMEGA328, des ATtiny85, des PIC, etc.). Un MCU cible peut être placé dans l'une ou l'autre des mini-planches d'essai sans soudure. Deux MCU peuvent être interfacés à l'aide des deux maquettes ou l'un des espaces de la maquette peut être utilisé pour d'autres circuits.

Les "blocs de fonctionnalités" du MCU Lab sont répartis en en-têtes femelles similaires à ceux trouvés sur un Arduino UNO. Les embases femelles sont compatibles avec les broches de cavalier mâles.

Étape 3: Assembler le laboratoire HackerBoxes MCU

Assembler le laboratoire MCU HackerBoxes
Assembler le laboratoire MCU HackerBoxes

COMPOSANTS CMS AU DOS DE LA CARTE

Commencez par monter le régulateur linéaire AMS1117 (SOT 233 Package) et les deux condensateurs de filtrage 22uF à l'envers du PCB. A noter qu'un côté de chaque sérigraphie de condensateur est rectangulaire et l'autre côté est octogonal. Les condensateurs doivent être orientés de manière à ce que le stipe sombre du boîtier s'aligne sur le côté octogonal de la sérigraphie.

CONTINUER AVEC LES COMPOSANTS SUR LE DEVANT DE LA CARTE

Soudez la LED RVB WS2812B. Orientez le coin marqué en blanc de chaque LED pour qu'il corresponde au coin à onglet comme indiqué sur la sérigraphie du PCB.

Quatre boutons tactiles SMD

Quatre LED rouges avec quatre résistances

Level Shifter avec la broche VA la plus proche du marquage 3V3 et la broche VB la plus proche du marquage 5V. Le module Level Shifter peut être monté au ras du PCB en soudant les en-têtes au module, puis en faisant glisser les entretoises en plastique noir hors des en-têtes avant de monter le module sur le PCB du laboratoire MCU. Laisser les entretoises en place est également bien.

Deux bandes de l'en-tête peuvent être cassées pour connecter le module FT232. Une section d'en-tête plus petite à 4 broches peut également être utilisée pour l'en-tête 5 V/GND juste à côté du module FT232.

Pour l'instant, remplissez l'en-tête VGA femelle le plus proche du connecteur VGA HD15 et de la prise clavier. Cependant, NE REMPLISSEZ PAS l'en-tête supplémentaire adjacent à celui-ci ou les cinq résistances entre ces deux en-têtes. Les options spécifiques pour l'interfaçage du signal vidéo sont discutées plus loin.

Remplissez les neuf autres en-têtes féminins.

Retirez l'adhésif de l'arrière des deux planches à pain sans soudure pour les fixer au PCB MCU Lab.

Placez les pieds en caoutchouc adhésif au bas du PCB du laboratoire MCU pour protéger votre établi des rayures.

GESTION DES ENTRÉES DE PUISSANCE

Il y a au moins deux, et plus probablement jusqu'à quatre, endroits où l'alimentation peut entrer dans le laboratoire MCU. Cela peut causer des problèmes, alors tenez toujours compte des pointeurs suivants:

Les points d'en-tête étiquetés 5V sont tous connectés. Le rail 5V se connecte également à la prise clavier, au levier de niveau et à la LED RVB WS2812B. L'alimentation peut être fournie au rail 5V en branchant le FT232 sur USB, en connectant le connecteur d'alimentation à quatre broches à une alimentation externe, ou en connectant un cavalier de l'une des broches 5V sur le PCB à un module 5V alimenté (généralement alimenté par USB).

De même, les broches GND sont toutes connectées. Ils se connectent à l'USB GND sur le FT232 (en supposant que l'USB est connecté au FT232). Ils peuvent également être connectés à la terre à l'aide d'un cavalier entre l'un d'eux et un module alimenté comme indiqué pour le réseau 5V.

Le rail 3V3 est piloté par le régulateur à l'arrière du PCB. Il s'agit uniquement d'une source et (contrairement au rail 5V), il ne doit pas être piloté par des modules ou d'autres circuits car il est directement piloté par le régulateur sur le rail 5V.

Étape 4: Module Arduino Nano MCU

Module Arduino Nano MCU
Module Arduino Nano MCU

L'Arduino Nano est l'un des modules MCU les plus courants de nos jours. La carte Arduino Nano incluse est livrée avec des broches d'en-tête, mais elles ne sont pas soudées au module. Laissez les épingles pour l'instant. Effectuez ces tests initiaux sur le module Arduino Nano avant de souder les broches de l'en-tête. Tout ce dont vous avez besoin est un câble microUSB et la carte Arduino Nano telle qu'elle sort du sac.

L'Arduino Nano est une carte Arduino miniaturisée à montage en surface, compatible avec les maquettes, avec USB intégré. Il est incroyablement complet et facile à pirater.

Caractéristiques:

  • Microcontrôleur: Atmel ATmega328P
  • Tension: 5V
  • Broches d'E/S numériques: 14 (6 PWM)
  • Broches d'entrée analogique: 8
  • Courant CC par broche d'E/S: 40 mA
  • Mémoire Flash: 32 Ko (2 Ko pour le chargeur de démarrage)
  • SRAM: 2 Ko
  • EEPROM: 1 Ko
  • Vitesse d'horloge: 16 MHz
  • Dimensions: 17 mm x 43 mm

Cette variante particulière de l'Arduino Nano est le Robotdyn Nano noir. In comprend un port MicroUSB intégré connecté à une puce de pont USB/Série CH340G. Des informations détaillées sur le CH340 (et les pilotes, si nécessaire) peuvent être trouvées ici.

Lorsque vous branchez pour la première fois l'Arduino Nano sur un port USB de votre ordinateur, le voyant d'alimentation vert devrait s'allumer et peu de temps après, le voyant bleu devrait commencer à clignoter lentement. Cela se produit parce que le Nano est pré-chargé avec le programme BLINK, qui s'exécute sur le tout nouvel Arduino Nano.

LOGICIEL: Si vous n'avez pas encore installé l'IDE Arduino, vous pouvez le télécharger depuis Arduino.cc

Branchez le Nano dans le câble MicroUSB et l'autre extrémité du câble dans un port USB de l'ordinateur. Lancez le logiciel Arduino IDE. Sélectionnez "Arduino Nano" dans l'IDE sous outils> carte et "ATmega328P (ancien chargeur de démarrage)" sous outils> processeur. Sélectionnez le port USB approprié sous outils> port (il s'agit probablement d'un nom contenant "wchusb").

Enfin, chargez un exemple de code: Fichier-> Exemples-> Bases-> Clignotement

Blink est en fait le code qui a été préchargé sur le Nano et devrait être en cours d'exécution en ce moment pour faire clignoter lentement la LED bleue. Par conséquent, si nous chargeons cet exemple de code, rien ne changera. Au lieu de cela, modifions un peu le code.

En regardant de près, vous pouvez voir que le programme allume la LED, attend 1000 millisecondes (une seconde), éteint la LED, attend encore une seconde, puis recommence - pour toujours.

Modifiez le code en changeant les deux instructions "delay(1000)" en "delay(100)". Cette modification fera clignoter la LED dix fois plus vite, non ?

Chargeons le code modifié dans le Nano en cliquant sur le bouton UPLOAD (l'icône en forme de flèche) juste au-dessus de votre code modifié. Regardez ci-dessous le code pour les informations d'état: "compilation" puis "téléchargement". Finalement, l'IDE devrait indiquer "Téléchargement terminé" et votre LED devrait clignoter plus rapidement.

Si oui, félicitations ! Vous venez de pirater votre premier morceau de code intégré.

Une fois que votre version à clignotement rapide est chargée et en cours d'exécution, pourquoi ne pas voir si vous pouvez modifier à nouveau le code pour que la LED clignote rapidement deux fois, puis attendez quelques secondes avant de répéter ? Essaie! Que diriez-vous d'autres modèles? Une fois que vous avez réussi à visualiser le résultat souhaité, à le coder et à l'observer fonctionner comme prévu, vous avez fait un énorme pas en avant pour devenir un pirate informatique compétent.

Maintenant que vous avez confirmé le fonctionnement du module Nano, continuez et soudez les broches de l'en-tête dessus. Une fois les en-têtes connectés, le module peut être facilement utilisé dans l'une des maquettes sans soudure du MCU Lab. Ce processus de test d'un module MCU en téléchargeant un code de test simple, en le modifiant et en le téléchargeant à nouveau est une bonne pratique chaque fois que vous utilisez un module MCU nouveau ou de type différent.

Si vous souhaitez des informations d'introduction supplémentaires pour travailler dans l'écosystème Arduino, nous vous suggérons de consulter le Guide de l'atelier de démarrage HackerBoxes, qui comprend plusieurs exemples et un lien vers un manuel PDF Arduino.

Étape 5: Explorez le laboratoire MCU avec Arduino Nano

Explorez le laboratoire MCU avec Arduino Nano
Explorez le laboratoire MCU avec Arduino Nano

POTENTIOMÈTRE

Connectez la broche centrale du potentiomètre à la nano broche A0.

Charger et exécuter: Exemples > Analogique > AnalogInput

L'exemple utilise par défaut la LED intégrée du Nano. Tournez le potentiomètre pour modifier la vitesse de clignotement.

Modifier:

Dans le code, changez LedPin=13 en 4

Cavalier de Nano Pin 4 (et GND) à l'une des LED rouges du MCU Lab.

AVERTISSEUR SONORE

Cavalier du buzzer à la broche Nano 8. Assurez-vous que la carte GND est connectée au GND du Nano alimenté car la masse du buzzer est câblée au réseau GND de la carte.

Charger et exécuter: Exemples > Numérique > toneMelody

ÉCRAN OLED

Dans l'IDE Arduino, utilisez le gestionnaire de bibliothèque pour installer "ssd1306" d'Alexey Dyna.

Connectez OLED: GND à GND, VCC à 5V, SCL à Nano's A5, SDA à Nano's A4

Charger et exécuter: exemples > ssd1306 > démos > ssd1306_demo

LED RVB WS2812B

Dans l'IDE Arduino, utilisez le gestionnaire de bibliothèque pour installer FastLED

Connectez la broche d'en-tête du WS2812 à la broche 5 du Nano.

Charger: Exemples > FastLED > ColorPalette

Remplacez NUM_LEDS par 1 et LED_TYPE par WS2812B

Compiler et exécuter

ÉCRIVEZ UN CODE POUR EXERCER LES BOUTONS ET LES COMMUTATEURS

N'oubliez pas d'utiliser pinMode(INPUT_PULLUP) pour lire un bouton sans ajouter de résistance.

COMBINEZ CERTAINS DE CES EXEMPLES

Par exemple, cyclez les sorties d'une manière intéressante et affichez les états ou les valeurs d'entrée sur l'OLED ou le moniteur série.

Étape 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Le microcontrôleur ESP32 (MCU) est un système sur puce (SOC) à faible coût et à faible consommation avec Wi-Fi intégré et Bluetooth bimode. L'ESP32 utilise un noyau Tensilica Xtensa LX6 et comprend des commutateurs d'antenne intégrés, un balun RF, un amplificateur de puissance, un amplificateur de réception à faible bruit, des filtres et des modules de gestion de l'alimentation. (Wikipédia)

Le module WEMOS ESP32 Lite est plus compact que la version précédente ce qui le rend plus facile à utiliser sur une maquette sans soudure.

Faites votre test initial du module WEMOS ESP32 avant de souder les broches d'en-tête sur le module.

Configurez le package de support ESP32 dans l'IDE Arduino.

Sous outils> tableau, assurez-vous de sélectionner le "WeMos LOLIN32"

Chargez l'exemple de code dans Fichiers> Exemples> Bases> Blink et programmez-le sur le WeMos LOLIN32

L'exemple de programme devrait faire clignoter la LED du module. Expérimentez en modifiant les paramètres de délai pour faire clignoter la LED avec différents modèles. C'est toujours un bon exercice pour renforcer la confiance dans la programmation d'un nouveau module de microcontrôleur.

Une fois que vous êtes à l'aise avec le fonctionnement du module et la façon de le programmer, soudez soigneusement les deux rangées de broches d'en-tête en place et testez à nouveau les programmes de chargement.

Étape 7: génération de vidéo ESP32

Image
Image

Cette vidéo présente la bibliothèque ESP32 VGA et un tutoriel simple et très agréable du laboratoire de bitluni.

L'implémentation 3 bits démontrée (8 couleurs) utilise des cavaliers directs entre le module ESP32 et le connecteur VGA. Faire ces connexions sur l'en-tête VGA du MCU Lab est assez facile car aucun composant supplémentaire n'est impliqué.

Selon le MCU utilisé, son niveau de tension, les résolutions de pixels et les profondeurs de couleur souhaitées, il existe diverses combinaisons de résistances en ligne et de réseaux de résistances qui peuvent être placées entre le MCU et l'en-tête VGA. Si vous décidez d'utiliser en permanence des résistances en ligne, elles peuvent être soudées sur le PCB du laboratoire MCU. Si vous souhaitez conserver la flexibilité et surtout si vous souhaitez utiliser des solutions plus complexes, il est recommandé de ne souder aucune résistance en place et d'utiliser simplement les cartes sans soudure et l'en-tête VGA pour connecter les résistances nécessaires.

Par exemple, pour implémenter le mode couleur 14 bits de bituni présenté à la fin de la vidéo, le module ESP32 peut être positionné sur l'une des mini cartes sans soudure et l'autre carte sans soudure peut être utilisée pour connecter les échelles de résistances.

Voici d'autres exemples:

Dans HackerBox 0047, un Arduino Nano pilote une simple sortie VGA avec 4 résistances.

Un émulateur VIC20 est implémenté sur ESP32 en utilisant FabGL et 6 résistances.

Implémentez un PC BASIC utilisant ESP32 et 3 résistances.

Jouez à Space Invaders sur ESP32 en utilisant FabGL et 6 résistances.

Générez une sortie VGA sur STM32 avec 6 résistances.

Couches simultanées de texte et de graphiques sur STM32 avec démonstration vidéo.

Étape 8: Module MCU à pilule noire STM32F103C8T6

TXS0108E Décaleur de niveau logique 8 bits
TXS0108E Décaleur de niveau logique 8 bits

La pilule noire est un module MCU basé sur STM32. C'est une variante améliorée de la pilule bleue commune et de la pilule rouge moins courante.

La Black Pill comprend le microcontrôleur STM32F103C8T6 32 bits ARM M3 (fiche technique), un en-tête ST-Link à quatre broches, un port MicroUSB et une LED utilisateur sur PB12. La bonne résistance pull-up sur PA12 est installée pour un fonctionnement correct du port USB. Ce pull-up nécessitait généralement une modification du tableau sur d'autres tableaux de pilules.

Bien que similaire en apparence à l'Arduino Nano, la Black Pill est beaucoup plus puissante. Le microcontrôleur ARM 32 bits STM32F103C8T6 peut fonctionner à 72 MHz. Il peut effectuer une multiplication à cycle unique et une division matérielle. Il dispose de 64 Ko de mémoire Flash et de 20 Ko de SRAM.

Programmation du STM32 depuis Arduino IDE.

Étape 9: Décaleur de niveau logique 8 bits TXS0108E

Le TXS0108E (fiche technique) est un décaleur de niveau logique bidirectionnel 8 bits. Le module est configuré pour des signaux de décalage de niveau entre 3,3 V et 5 V.

Étant donné que les canaux de niveau de signal sont bidirectionnels, les entrées flottantes peuvent entraîner le pilotage involontaire des sorties correspondantes. Une commande d'activation de sortie (OE) est fournie pour protéger dans de tels scénarios. Des précautions doivent être prises en fonction de la façon dont le levier de vitesses est connecté pour s'assurer qu'une sortie du levier de vitesses (soit "intentionnelle" soit due à une entrée flottante de l'autre côté) n'est jamais autorisée à entraîner une sortie d'un autre appareil.

La broche OE est laissée déconnectée dans les traces PCB. Un en-tête à deux broches est fourni sous le module pour connecter OE et 3V3. Court-circuiter l'en-tête à deux broches (à l'aide d'un morceau de fil ou d'un bloc de cavaliers) connecte OE à 3V3 qui permet au circuit intégré de piloter ses sorties. Une résistance pulldown et une commande logique peuvent également être connectées à la broche OE.

Étape 10: HackLife

HackLife
HackLife

Nous espérons que vous appréciez l'aventure HackerBox de ce mois-ci dans l'électronique et la technologie informatique. Contactez-nous et partagez votre succès dans les commentaires ci-dessous ou sur le groupe Facebook HackerBoxes. N'oubliez pas non plus que vous pouvez envoyer un e-mail à [email protected] à tout moment si vous avez une question ou avez besoin d'aide.

Et après? Rejoignez la révolution. Vivez la HackLife. Recevez chaque mois une glacière contenant du matériel piratable directement dans votre boîte aux lettres. Surfez sur HackerBoxes.com et souscrivez à votre abonnement mensuel à HackerBox.

Conseillé: