Nota
Ciao, benvenuto nella community SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 con altri appassionati.
Perché unirsi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara & Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni l’accesso anticipato agli annunci di nuovi prodotti e anteprime esclusive.
Sconti Speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Concorsi Festivi: Partecipa a concorsi e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
Pattumiera Intelligente
Questo codice Arduino è progettato per controllare una pattumiera intelligente. Quando un oggetto è entro 20 centimetri di distanza davanti alla pattumiera, il coperchio si apre automaticamente. Questo progetto utilizza un servo motore SG90 e un sensore di distanza ultrasonico HC-SR04.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
---|---|---|
Elite Explorer Kit |
300+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE COMPONENTI |
LINK ACQUISTO |
---|---|
- |
|
Collegamenti
Schema Elettrico
Codice
Nota
Puoi aprire il file
07_smart_trash_can.ino
nel percorsoelite-explorer-kit-main\fun_project\07_smart_trash_can
direttamente.Oppure copia questo codice nell’Arduino IDE.
Come funziona?
Ecco una spiegazione passo-passo del codice:
Importa Librerie e Definisci Costanti/Variabili:
La libreria
Servo.h
viene importata per controllare il servo motore SG90. I parametri per il servo motore, il sensore ultrasonico e altre costanti e variabili necessarie sono definiti.setup()
:Inizializza la comunicazione seriale con il computer a un baud rate di 9600. Configura i pin di trigger ed echo del sensore ultrasonico. Collega il servo motore al suo pin di controllo e imposta la sua posizione iniziale all’angolo di chiusura. Dopo aver impostato l’angolo, il servo motore viene disconnesso per risparmiare energia.
loop()
:Misura la distanza tre volte e memorizza i valori di ciascuna misurazione. Calcola la distanza media dalle tre misurazioni. Se la distanza media è minore o uguale a 20 centimetri (soglia di distanza definita), il servo motore ruota all’angolo di apertura (0 gradi). Altrimenti, il servo motore ritorna alla posizione di chiusura (90 gradi) dopo un ritardo di un secondo. Il servo motore viene disconnesso quando non in uso per conservare energia.
readDistance()
:Invia un impulso al pin di trigger del sensore ultrasonico. Misura la durata dell’impulso del pin di echo e calcola il valore della distanza. Questo calcolo utilizza la velocità del suono nell’aria per determinare la distanza basata sul tempo dell’impulso.