3x ESP32 Dev Kit CV 4 (non soudé)
Nous sommes déjà au numéro 21. Il ne manque pas grand-chose jusqu'à la dernière porte. Vous pouvez le trouver ici Carte de développement ESP32 Dev Kit CV 4 en trois versions dans la variante sans broches d'en-tête soudées (en-têtes de broches).
L'avantage ici est que vous n'avez qu'à souder les composants dont vous avez besoin. En conséquence, la taille d'installation dans les boîtiers est encore plus petite. Bien sûr, vous pouvez toujours souder vous-même les broches d'en-tête. Un petit guide était derrière la porte numéro deux du calendrier de l'avent AZ. Mes conseils personnels pour le soudage:
- utiliser un fer à souder utilisable
- utiliser le flux
- une plaque d'expérimentation convient pour la fixation du composant (pour souder les broches d'en-tête)
- Tenez le fer à souder et la soudure au point de soudure et laissez couler la soudure
Si vous souhaitez utiliser un composant comme cette carte de développement ESP32, il est recommandé de consulter le Fiche technique et le Diagramme de brochage. Cela vous indique de quel processeur il s'agit et quels périphériques sont disponibles. Dans ce cas, les faits les plus importants sont les options de connectivité WiFi et Bluetooth intégrées. Les horloges du processeur avec un maximum de 240 MHz. Nos interfaces comprennent I²C, SPI, UART et 1-Wire sont disponibles. Presque toutes les broches peuvent être utilisées pour PWM (modulation de largeur d'impulsion, par exemple pour la gradation des LED). Un capteur à effet Hall (à ne pas confondre avec un écho) est intégré pour détecter les changements dans un champ magnétique. Un capteur de température capable de surveiller la température du processeur n'est plus inclus sur ces nouvelles cartes ESP. 16 broches sont connectées à des convertisseurs analogique-numérique intégrés, deux broches chacune à des convertisseurs numérique-analogique. Voici un petit aperçu des broches en complément du brochage:
Broches (GPIO) |
fonction |
21, 22 |
I²C (SDA, SCL) |
5, 18, 19, 23 |
SPI (SS, SCK, MISO, MOSI) |
1, 3 / 9, 10 / 16, 17 |
UART (TX0, RX0) / RX1, TX1 / RX2, TX2) |
0, 2, 4, 12, 14, 15, 25, 26, 27, 32, 33, 34, 35, 36, 39 |
Convertisseur analogique-numérique |
25, 26 |
Convertisseur numérique analogique |
Il y a quelques autres choses à considérer lors de l'utilisation des broches:
- GPIO1 ne doit pas être utilisé comme entrée et GPIO3 pas comme sortie
- GPIO6 à GPIO11 ne doit pas être utilisé comme entrée ou sortie
- GPIO34, GPIO35, GPIO36 et GPIO39 ne peuvent être utilisés que comme entrées
- GPIO12 sur HIGH empêche le démarrage
- GPIO0, GPIO1 et GPIO3 peuvent afficher un comportement inattendu car ils sont utilisés par le système à d'autres fins (par exemple pendant le processus de démarrage)
À ce stade, je voudrais me référer au billet de blog très détaillé ESP32 - le multitalent par Gerald Lechner. Vous y trouverez une comparaison complète avec d'autres cartes ESP32, des options de connexion, une installation dans l'IDE Arduino et bien plus encore. Cela vaut la peine de lire l'article avant de commencer.
Lorsque tout est installé et dans l'IDE Arduino en tant que carte, le Module de développement ESP32 bien sûr, vous souhaitez télécharger votre premier croquis. De nombreux exemples de programmes sont inclus. Puisque ce paquet contient trois ESP32, je voudrais échanger des données entre les cartes individuelles. Pour cela, j'utilise les croquis ESPNow Maître et Esclave. Avec Uno ou Nano, vous avez l'habitude de démarrer le téléchargement et tout fonctionne jusqu'à ce que le programme ait été transféré. Cependant, vous pouvez également voir ce message d'erreur:
Vous devez mettre la carte en mode bootloader. Pour ce faire, vous devez appuyer sur le bouton de démarrage de la carte et éventuellement le maintenir enfoncé jusqu'à ce que la connexion soit établie:
Puisque cela m'a toujours un peu dérangé, j'ai emboîté le pas ces instructions un condensateur 10 nF connecté (+ à EN et - à GND). Il n'est plus nécessaire d'appuyer sur le bouton.
Conseil: si rien n'apparaît sur le moniteur série après le téléchargement d'un programme, appuyez brièvement sur le bouton de réinitialisation du microcontrôleur.
Afin de pouvoir utiliser deux microcontrôleurs en même temps sur un même ordinateur, nous démarrons deux processus distincts de l'IDE Arduino (actuellement testé uniquement sous Windows). Cela signifie qu'il vous suffit de redémarrer le programme. Si deux ESP32 sont connectés, deux périphériques COM doivent également être affichés sous Outils-> Port:
Les numéros des ports COM virtuels peuvent être différents pour vous
Nous ouvrons les deux exemples Maître et Esclave à partir des exemples ESP32 -> ESPNow -> Basic. Assurez-vous de les démarrer dans les instances Arduino ouvertes différemment et que l'autre port est défini. Chargez les deux croquis sur le microcontrôleur et ouvrez le moniteur série (CTRL + SHIFT + M). Les données sont ensuite échangées entre les deux appareils:
Dans cet exemple, les données de type uint8_t c'est-à-dire qu'un octet (8 bits) est transmis. Le destinataire reconnaît automatiquement par rappel qu'un bloc de données est arrivé. D'où le boucle ()-La fonction dans le code source esclave est vide.
Souhaitez-vous transférer vos propres données, par ex. celui d'un capteur, puis recherchez la fonction dans le code source du maître envoyer des données (). La variable Les données est déclaré à l'extérieur avec:
uint8_t données = 0;
puis avec
data ++;
compté après chaque course. La sortie des deux moniteurs affiche ces valeurs. Attribuez vos propres valeurs à cette variable, par ex. Avec:
données = sensorRead ();
L'appel de la fonction sensorRead () est fictif!
Pour plus de deux microcontrôleurs, vous pouvez utiliser les exemples Maître et Esclave sous ESP32 -> ESPNow -> utiliser multi-esclave.
Je voudrais maintenant vous montrer comment mettre en place un petit chat textuel avec plusieurs microcontrôleurs. Pour cela, nous avons besoin d'un serveur qui distribue les messages de manière centralisée. En plus, bien sûr, d'autres participants, les clients. Nous utilisons l'exemple d'esquisse comme base du serveur AsyncUDPServerque vous pouvez trouver sous "ESP Async UDP". Nous utilisons le croquis sous "Wifi" pour les clients WiFiUDPClient. Le serveur «écoute» sur un port spécifié les messages entrants envoyés par les clients via le même port. Au démarrage du serveur, l'adresse IP s'affiche sur le moniteur série dès qu'une connexion au réseau WLAN a été établie. Celui-ci doit ensuite être entré dans le code source des clients. Le nom de votre réseau (SSID) et le mot de passe associé doivent également y être saisis.
Vous chargez le serveur asynchrone sur l'un des ESP32, le client sur les deux autres. Si vous démarrez l'IDE Arduino trois fois séparément, vous pouvez également exécuter les trois participants sur un ordinateur pour un test. Le serveur peut également participer au chat:
UDP est une transmission sans connexion. Cela signifie que les paquets de données sont envoyés sans vérifier s'ils ont atteint le destinataire. Vous pouvez l'utiliser pour générer vos propres protocoles et sécuriser vous-même la transmission. Il nécessite moins de frais généraux, c'est-à-dire de code de contrôle, que pour par ex. TCP. UDP est par exemple utilisé pour transmettre des données vidéo ou audio.
Ici vous pouvez télécharger mes codes source modifiés.
L'ESP32 offre naturellement encore plus d'options. Pour la porte du calendrier numéro 11, je vous avais déjà montré comment afficher les données des capteurs BME280 dans le navigateur avec un ESP8266. Bien sûr, cela fonctionne également avec un ESP32. Pour ce faire, testez l'esquisse AdvancedWebServer sous "WebServer". Saisissez également vos données WiFi. Après le téléchargement, démarrez le moniteur série dans l'IDE Arduino. L'adresse IP y sera affichée. Ouvrez un navigateur Internet sur un appareil qui fait partie du même réseau et saisissez-y l'adresse IP. L'ESP32 vous accueille ensuite avec un schéma. Le serveur avancé met automatiquement à jour la page à des intervalles définis, ce qui peut également être utile pour vos propres projets.
Si vous ne possédez pas votre propre réseau WiFi et que vous souhaitez tout de même connecter les microcontrôleurs ou d'autres appareils via WiFi, vous pouvez utiliser un ESP32 comme point d'accès WiFi. Recherchez ceci dans les exemples sous "WiFi" dans le croquis WiFiAccessPoint. Attribuez-y vos propres données d'accès et téléchargez le programme sur le microcontrôleur. Les autres appareils peuvent alors utiliser le réseau WLAN nouvellement créé pour leur communication:
L'ESP32 présente un autre avantage par rapport à l'ESP8266: la connexion Bluetooth (LowEnergy et Classic). Vous pouvez également trouver des exemples de croquis pour cela dans l'IDE Arduino. Vous pouvez installer l'application «Serial Bluetooth Terminal» sur votre smartphone pour un test. Recherchez l'élément "BluetoothSerial" dans les exemples de l'IDE Arduino et ouvrez le croquis ici SerialToSerialBT. Une fois le téléchargement réussi, l'ESP32 devrait être disponible en tant que périphérique Bluetooth. Tout d'abord, ouvrez le moniteur série dans l'IDE Arduino. Connectez ensuite votre smartphone à «ESP32test» via Bluetooth puis ouvrez l'application mentionnée ci-dessus. Là, appuyez sur le menu (trois lignes) en haut à gauche et sélectionnez "Appareils". Vous devriez également voir "ESP32test" dans la liste qui apparaît. Sélectionnez l'élément et attendez brièvement que la connexion soit établie. Vous pouvez ensuite échanger des SMS entre votre smartphone et votre PC (via le moniteur série).
Les autres exemples de croquis vous montrent encore plus d'options pour mettre en œuvre vos propres projets. Vous pouvez également connecter des capteurs, des LED ou des écrans. Les ESP ont un mode DeepSleep, ce qui est intéressant pour les projets fonctionnant sur batterie.
Si vous connectez un potentiomètre (résistance variable) à l'une des broches avec un convertisseur analogique-numérique (voir tableau ci-dessus), vous obtenez avec la fonction analogRead (PIN NUMBER) une plage de valeurs de 0 et 4095. Contrairement aux microcontrôleurs Uno ou Nano, qui ne dépassent pas 1023.
Important: utilisez la broche 3,3 V, PAS la broche 5 V, pour connecter le potentiomètre!
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println(analogRead(33));
delay(30);
}
Je te souhaite un joyeux Noël.
Andreas Wolter
pour AZ-Delivery Blog
2 commentaires
Gerald Lechner
ESP32 kann nicht über ESP_Easy geflasht werden. Das Tool von ESPRESSIF sollte funktionieren. https://www.espressif.com/en/support/download/other-tools
Reinhardt Schiffke
Kann man den ESP-32 Dev Kit C V4 über esp_easy flashen ? habe alles versucht ,bekomme es nicht hin.