.. 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 [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _ar_reversing_aid: 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 ------------------- .. image:: img/Part_three_1.png :align: center * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_buzzer` * :ref:`cpn_i2c_lcd1602` * :ref:`cpn_ultrasonic` Circuit Fritzing ------------------- Dans cet exemple, le câblage est présenté ci-dessous. .. image:: img/image264.png :align: center **Schéma de câblage** ------------------------ .. image:: img/image265.png :align: center 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**. .. image:: img/lib_liquidcrystal_i2c.png :align: center .. raw:: html 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. #. 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. .. code-block:: arduino // 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; } #. 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. .. code-block:: arduino unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= intervals) { Serial.println("Beeping!"); beep(); previousMillis = currentMillis; } #. 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. .. code-block:: arduino lcd.clear(); lcd.setCursor(0, 0); lcd.print("Dis: "); lcd.print(distance); lcd.print(" cm"); delay(100);