Note

Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 sur Facebook, animée par SunFounder ! Explorez plus en profondeur l’univers de Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi nous rejoindre ?

  • Support d’experts : Résolvez vos problèmes après-vente et vos défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des conseils et des tutoriels pour améliorer vos compétences.

  • Aperçus exclusifs : Bénéficiez d’un accès anticipé aux annonces de nouveaux produits et d’aperçus exclusifs.

  • Réductions spéciales : Profitez de réductions exclusives sur nos derniers produits.

  • Promotions festives et concours : Participez à des concours et des promotions pendant les fêtes.

👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !

3.1 Aide au stationnement

Aperçu

Avec le développement des sciences et technologies, de nombreux produits high-tech ont été installés dans les voitures, dont le système d’assistance au stationnement, l’un des plus populaires. Dans ce projet, nous utilisons des capteurs ultrasoniques, un écran LCD, des LED et un buzzer pour réaliser un système simple d’assistance au stationnement à ultrasons.

Composants requis

../_images/Part_three_1.png

Circuit Fritzing

Dans cet exemple, le câblage est présenté ci-dessous.

../_images/image264.png

Schéma de câblage

../_images/image265.png

Code

Note

  • Vous pouvez ouvrir directement le fichier 3.1_reversingAid.ino situé dans le dossier sunfounder_vincent_kit_for_arduino\code\3.1_reversingAid.

  • La bibliothèque LiquidCrystal I2C est utilisée ici. Vous pouvez l’installer depuis le Gestionnaire de bibliothèques.

    ../_images/lib_liquidcrystal_i2c.png

Explication de l’exemple

Ce code nous permet de créer un dispositif simple de mesure de distance qui peut mesurer la distance entre un objet et fournir un retour via un écran LCD et un buzzer.

La fonction loop() contient la logique principale du programme et s’exécute en continu. Regardons de plus près cette fonction.

  1. Boucle pour lire la distance et mettre à jour les paramètres

    Dans la loop, le code commence par lire la distance mesurée par le module ultrasonique et met à jour le paramètre des intervalles en fonction de la distance.

    // Mise à jour de la distance
    distance = readDistance();
    
    // Mise à jour des intervalles en fonction de la distance
    if (distance <= 10) {
        intervals = 300;
    } else if (distance <= 20) {
        intervals = 500;
    } else if (distance <= 50) {
        intervals = 1000;
    } else {
        intervals = 2000;
    }
    
  2. Vérification du moment où il faut émettre un bip

    Le code calcule la différence entre l’heure actuelle et l’heure du dernier bip. Si cette différence est supérieure ou égale à l’intervalle, le buzzer est déclenché et l’heure du dernier bip est mise à jour.

    unsigned long currentMillis = millis();
    if (currentMillis - previousMillis >= intervals) {
        Serial.println("Beeping!");
        beep();
        previousMillis = currentMillis;
    }
    
  3. Mise à jour de l’affichage LCD

    Le code efface l’affichage LCD puis affiche « Dis: » suivi de la distance actuelle en centimètres sur la première ligne.

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Dis: ");
    lcd.print(distance);
    lcd.print(" cm");
    
    delay(100);