.. note:: Ciao, benvenuto nella community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati. **Perché unirsi?** - **Supporto esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Accedi in anteprima agli annunci di nuovi prodotti. - **Sconti speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni e omaggi festivi**: Partecipa a omaggi e promozioni speciali durante le festività. 👉 Pronto per esplorare e creare con noi? Clicca [|link_sf_facebook|] e unisciti oggi stesso! .. _ar_ultrasonic: 2.33 Modulo Ultrasonico ======================= Panoramica ------------ In questa lezione, imparerai come utilizzare il modulo ultrasonico. Componenti necessari ------------------------ .. image:: img/Part_two_33.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_ultrasonic` Circuito Fritzing --------------------- In questo esempio, colleghiamo direttamente i pin del modulo ultrasonico ai pin della scheda Mega 2560. Successivamente colleghiamo il pin VCC del modulo ultrasonico al 5V, GND a GND, Trig al pin digitale 5, Echo al pin digitale 4. .. image:: img/image246.png :align: center Schema Elettrico ---------------------- .. image:: img/image247.png :align: center Codice ---------- .. note:: * Puoi aprire direttamente il file ``2.33_ultrasonicModule.ino`` nella cartella ``sunfounder_vincent_kit_for_arduino\code\2.33_ultrasonicModule``. * Oppure copia questo codice nell'IDE di Arduino. .. raw:: html Dopo aver caricato il codice sulla scheda Mega2560, il monitor seriale mostrerà la distanza degli ostacoli rilevati dal sensore ultrasonico. Analisi del codice --------------------- Per quanto riguarda l'applicazione del sensore ultrasonico, possiamo verificare direttamente la sottostruttura. .. code-block:: arduino float readSensorData(){// ...} PING viene attivato da un impulso HIGH di 2 o più microsecondi. (Inviare prima un breve impulso LOW per garantire un impulso HIGH pulito). .. code-block:: arduino digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); Il pin echo è utilizzato per leggere il segnale da PING, un impulso HIGH la cui durata è il tempo (in microsecondi) dall'invio del ping alla ricezione dell'eco dall'oggetto. .. code-block:: arduino microsecond=pulseIn(echoPin, HIGH); La velocità del suono è di 340 m/s, ovvero 29 microsecondi per centimetro. Questo dà la distanza percorsa dal ping, andata e ritorno, quindi dividiamo per 2 per ottenere la distanza dall'ostacolo. .. code-block:: arduino float distance = microsecond / 29.00 / 2; Immagine del fenomeno ------------------------ .. image:: img/image248.jpeg :align: center