Tutoriel ESP32 18/55 - Détection d'inclinaison avec l'ESP32 | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 18/55 - Détection d'inclinaison avec l'ESP32 | Kit d'apprentissage IoT ESP32 de SunFounder

Dans ce tutoriel, nous utiliserons le microcontrôleur SunFounder ESP32 pour créer un projet simple qui détecte l'inclinaison à l'aide d'un interrupteur d'inclinaison. Lorsque l'interrupteur d'inclinaison est activé, une LED s'éteint, et lorsqu'il est en position verticale, la LED s'allume. Ce projet est non seulement une excellente introduction au travail avec des capteurs d'inclinaison, mais sert également de base à diverses applications robotiques. Pour un guide visuel détaillé, n'oubliez pas de consulter la vidéo liée ci-dessus (dans la vidéo à 00:00).

interrupteur d'inclinaison

Matériel expliqué

Les composants principaux utilisés dans ce projet incluent le microcontrôleur ESP32, un interrupteur à inclinaison et une LED. L'ESP32 est un microcontrôleur puissant avec Wi-Fi et Bluetooth intégrés, ce qui le rend idéal pour les applications IoT. L'interrupteur à inclinaison est un dispositif simple qui contient une boule métallique à l'intérieur d'une boîte. Lorsqu'il est incliné, la boule se déplace et interrompt le circuit, nous permettant de détecter l'état d'inclinaison. La LED indiquera visuellement l'état d'inclinaison en fonction de l'état de l'interrupteur. En plus de ces composants, nous utiliserons également des résistances pour la limitation de courant et les applications de pull-down. La résistance de 220 ohms connectée à la LED garantit que la LED fonctionne en toute sécurité sans tirer trop de courant. La résistance de 10k ohms agit comme un pull-down pour l'interrupteur à inclinaison, garantissant que la broche d'entrée lit un état connu lorsque l'interrupteur n'est pas activé.

Détails de la fiche technique

Fabricant SunFounder
Numéro de pièce ESP32
Tension logique/IO 3,3 V
Tension d'alimentation 5 V
Courant de sortie (par canal) 12 mA
Courant de crête (par canal) 40 mA
Guide de fréquence PWM 1 kHz
Seuils logiques d'entrée 0,8 V (bas), 2,0 V (haut)
Chute de tension / RDS(on)/ saturation 0,2 V
Limites thermiques 85 °C
Paquet Module ESP32
Notes / variantes Comprend des capacités Wi-Fi et Bluetooth.

  • Assurez-vous d'utiliser des valeurs de résistance appropriées pour éviter d'endommager la LED.
  • Gardez le câblage en ordre pour éviter les courts-circuits.
  • Utilisez des résistances de tirage pour garantir des lectures stables de l'interrupteur d'inclinaison.
  • Testez les connexions avant d'alimenter le circuit pour éviter la défaillance des composants.
  • Vérifiez l'orientation de l'interrupteur d'inclinaison pour un fonctionnement précis.

Instructions de câblage

ESP32-18_tile_wiring

Pour câbler les composants, commencez par l'interrupteur d'inclinaison, qui n'a pas de polarité, donc il peut être connecté dans les deux sens. Connectez une patte de l'interrupteur d'inclinaison à l'alimentation de 3,3V et l'autre patte à la patte 14 sur l'ESP32. Pour s'assurer que la patte 14 lit un état connu lorsque l'interrupteur n'est pas activé, connectez une résistance de 10 k-ohms de la même patte à la masse. Ensuite, prenez la DEL et insérez-la dans la breadboard avec la patte la plus longue (anode) connectée à une résistance de 220 ohms. Connectez l'autre extrémité de la résistance à la patte 26 sur l'ESP32. La patte la plus courte (cathode) de la DEL doit être connectée à la masse. Enfin, connectez la patte de masse de l'ESP32 au rail de masse de votre breadboard et la patte de 3,3V au rail d'alimentation. Assurez-vous de vérifier toutes les connexions pour éviter les courts-circuits ou les lectures incorrectes. Si vous suivez ces étapes, vous devriez avoir une configuration de capteur d'inclinaison fonctionnelle prête à être programmée.

Exemples de code et guide pas à pas

Le code commence par définir les numéros de broche pour l'interrupteur d'inclinaison et la LED. L'interrupteur d'inclinaison est connecté à la broche 14, et la LED est connectée à la broche 26. L'état de l'interrupteur d'inclinaison est stocké dans la variabletiltState.


// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

Cet extrait montre l'affectation des broches et la déclaration de la variable qui suivra l'état d'inclinaison.tiltPinest défini comme une entrée pour lire le statut de l'interrupteur. Dans lesetup()fonction, la communication série est initialisée et les modes des broches sont définis pour l'interrupteur d'inclinaison et la DEL. Cela garantit que l'ESP32 peut lire l'entrée de l'interrupteur d'inclinaison et contrôler la DEL en conséquence.


void setup() {
  Serial.begin(115200);
  // Initialize the tilt pin as an input
  pinMode(tiltPin, INPUT);
  // Initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

Cette section est cruciale car elle établit l'environnement, permettant à l'ESP32 de communiquer efficacement et de contrôler la sortie en fonction du statut de l'interrupteur d'inclinaison.loop()la fonction vérifie en continu l'état de l'interrupteur d'inclinaison. Si l'interrupteur est en position verticale, la LED s'allume ; si elle est inclinée, la LED s'éteint. L'état actuel est affiché sur le moniteur série pour le débogage.


void loop() {
  // Read the state of the tilt switch
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // If the switch is upright
  if (tiltState == HIGH) {
    // Turn LED on
    digitalWrite(ledPin, HIGH);
  } else {
    // Turn LED off
    digitalWrite(ledPin, LOW);
  }
}

Cette boucle s'exécute en continu, permettant la surveillance en temps réel de l'état de l'interrupteur d'inclinaison et du contrôle des LED correspondant. La sortie peut être observée dans le moniteur série, ce qui facilite la vérification du fonctionnement.

Démonstration / À quoi s'attendre

Une fois que tout est correctement câblé et que le code est téléchargé, vous devriez voir la LED s'allumer lorsque l'interrupteur d'inclinaison est en position verticale, et elle s'éteindra lorsqu'elle est inclinée. Cette corrélation directe entre l'état d'inclinaison et la réponse de la LED met efficacement en évidence la fonctionnalité de l'interrupteur d'inclinaison. Les pièges courants incluent l'assurance que le câblage est correct et la vérification que les résistances sont correctement placées pour éviter les courts-circuits (dans la vidéo à 12:00).

Horodatages vidéo

  • 00:00 Début
  • 1:44 Introduction Projet
  • 2:49 Documentation
  • 6:43 Explication du câblage Arduino
  • 10:39 Code Arduino expliqué
  • 13:40 Sélection de la carte ESP32 et du port COM sur l'IDE Arduino
  • 15:22 Démonstration du projet Tilt

Images

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.