4.6 Progetto: Sistema di Alimentazione Intelligente
In questo progetto, il modulo a ultrasuoni rileva se gli animali si trovano nell’area di alimentazione, e il Servo apre automaticamente la mangiatoia per il pollame. Inoltre, l’integrazione dell’IOT consente il monitoraggio remoto di tali sistemi di alimentazione, il che offre molta comodità.
Nel complesso, l’automazione e il funzionamento remoto stanno ottimizzando il processo di alimentazione per questo sistema.

4.6.1 Diagramma di Flusso

4.6.2 Servo
Descrizione:
Il Servo, chiamato anche Dispositivo Servo RC, è un motore con feedback. Comunemente, il Servo esegue un controllo preciso della posizione e produce una coppia elevata, che si trova spesso in progetti di robotica, auto RC, aeroplani e aeromobili.

Struttura Interna:

① Segnale (S): Riceve il segnale di controllo dal microcontrollore.
② Potenziometro: la parte di feedback del Servo. Misura la posizione dell’albero di uscita.
③ Scheda incorporata (Controller interno): il cuore del Servo. Elabora il segnale di controllo esterno e il segnale di feedback della posizione e aziona il Servo.
④ Motore DC: la parte esecutiva. Produce velocità, coppia e posizione.
⑤ Sistema di ingranaggi: Scala le uscite dal motore all’angolo di uscita finale secondo un certo rapporto di trasmissione.
Azionare il Servo:
Il segnale (S) riceve il PWM per controllare l’uscita del Servo, e la posizione dell’albero di uscita dipende direttamente dal duty cycle del PWM.
Ad esempio:
Se inviamo un segnale con larghezza di impulso di 1,5 ms al Servo, il suo albero (corno) ruoterà nella posizione centrale (90°);
Se la larghezza dell’impulso =
0,5 ms, l’albero ruota al suo minimo (0°);Se la larghezza dell’impulso =
2,5 ms, l’albero ruota al suo massimo (180°).
NOTA: L’angolo massimo varia a seconda del tipo di Servo. Alcuni sono a 170° mentre altri sono solo a 90°. Nonostante ciò, i Servo di solito si muovono di metà (del massimo) se ricevono un segnale con larghezza di impulso di 1,5 ms.

Il periodo di un Servo dura solitamente 20 ms e produce impulsi a una frequenza di 50 Hz. La maggior parte dei servi funziona normalmente a 40~200 Hz.
Schema di Collegamento:
Collegare il Servo a io26.
Attenzione: Collegare il giallo a S (Segnale), il rosso a V (Alimentazione) e il nero a GND. Non invertirli!

Codice di Test:
Inizializzare la porta seriale e definire una variabile item con un’assegnazione di 80.

Impostare item all’angolo del Servo da 80° a 180°, ruotando di 1° ogni 15 ms.

Il Servo ruota di 1° ogni 15 ms, da 180° a 80°.

Codice completo:

Risultato del Test:
La mangiatoia si apre lentamente e poi si chiude, il che è controllabile.
NOTA: Il servo SG90 può ruotare di 180°. Poiché la mangiatoia è piccola, 100° di rotazione sono sufficienti per chiudere completamente la scatola.
80°: completamente aperto
120°: semiaperto
180°: chiuso

ATTENZIONE
Non mettere le dita nella scatola per evitare di pizzicarsi!
Non bloccare la porta con qualcosa per evitare di danneggiare il servo!
4.6.3 Sensore Ultrasonico
Descrizione:

Schema Elettrico:

La frequenza delle onde sonore che l’uomo può udire è 20Hz ~ 20KHz, mentre le onde ultrasoniche sono al di fuori di questo intervallo.
Ultrasuoni:

Il modulo a ultrasuoni converte l’elettricità e le onde ultrasoniche l’una nell’altra tramite l’effetto piezoelettrico, e trasmette e riceve anche onde ultrasoniche.
Questo tipo di onda presenta direttività, forte penetrazione e facile concentrazione dell’energia sonora.

In questo sistema di rilevamento a ultrasuoni, per prima cosa programmiamo sulla MCU (scheda di sviluppo ESP32) per generare un’onda quadra originale a 40KHz e azionare il modulo a ultrasuoni per emetterla. Immediatamente, il modulo calcola la distanza dall’oggetto dopo aver ricevuto l’onda riflessa (Echo) amplificata e modellata dal circuito. Qui, registra la durata dell’emissione e della riflessione e calcola la distanza in base alla differenza di tempo.
In parole semplici, la MCU controlla il modulo per emettere onde ultrasoniche che vengono rimbalzate dopo aver incontrato ostacoli e vengono ricevute dal modulo. La differenza di tempo tra di esse è un fattore importante nel calcolo della distanza (la velocità di propagazione del suono nell’aria è di 340 m/s).
Schema di Collegamento:
Collegare l’Echo del modulo ultrasonico a io13 e Trig a io12.
Attenzione: Collegare il giallo a S (Segnale) e il rosso a V (Alimentazione). Non invertirli!

Codice di Test:
Impostare il pin corretto: Trig al pin io12; Echo al pin io13.

Risultato del Test:
In questo kit, il raggio di rilevamento è compreso tra 3 e 8 cm.
Aprire il monitor seriale e osservare.

4.6.4 Sistema di Alimentazione Intelligente
Descrizione:
Il sistema di alimentazione intelligente alimenta in modo intelligente il pollame domestico tramite un modulo a ultrasuoni e un servo. Il primo rileva la distanza dagli animali mentre il secondo controlla l’apertura o la chiusura della mangiatoia. Quando un animale domestico viene rilevato vicino alla scatola, il servo la apre per alimentarlo.
Schema di Collegamento:
Collegare l’Echo del modulo ultrasonico a io13 e Trig a io12; collegare il servo a io26.
Attenzione: Collegare il giallo a S (Segnale), il rosso a V (Alimentazione) e il nero a GND. Non invertirli!

Codice di Test:
Flusso del codice:

Codice:
Inizializzare la porta seriale. Definire una variabile e assegnarle 180.

Impostare correttamente il pin e stampare il valore ricevuto.

Determinare il valore della distanza rilevata. Se è compreso tra 2 cm e 7 cm, la mangiatoia si aprirà.

Codice completo:

Risultato del Test:
Quando viene rilevato un animale, aprire la mangiatoia.