Il Raspberry Pi Pico è una scheda microcontrollore a basso costo che rende facile per i principianti iniziare con progetti di elettronica e imparare a programmare.
Per questo progetto imparerai come leggere un segnale analogico da un potenziometro e convertirlo in un PWM (pulse-width modulation) segnale per manipolare la frequenza, o il tono, di un cicalino con l'aiuto di MicroPython codice.
Quali parti sono necessarie?
Questo progetto si basa sul Kit dell'inventore Kitronik per Raspberry Pi Pico. Tutti i componenti elettronici necessari sono inclusi nel kit; tuttavia, questi sono componenti comuni che potresti avere in giro:
- Buzzer con elemento piezoelettrico
- Potenziometro rotativo
- 7 cavi jumper maschio-maschio
- Raspberry Pi Pico con pin di intestazione GPIO saldati
- Tagliere
Se non conosci la modulazione di larghezza di impulso (PWM) e i potenziometri, consulta prima la nostra guida su
come usare un potenziometro con il tuo Raspberry Pi Pico, che illustra come usarlo per regolare la luminosità di un LED con PWM.Assemblaggio richiesto
Un ponticello (giallo nella foto) collega il lato sinistro del potenziometro alla guida positiva (+) della breadboard. Un altro ponticello collega il lato destro del potenziometro al lato negativo (-) della breadboard. Dal pin centrale del potenziometro, dovrai far passare un ponticello al pin GP26/A0 sul Pico.
Il cicalino piezoelettrico dovrà avere un filo che va dalla sua gamba negativa alla guida della breadboard negativa e poi un'altra connessione dalla sua gamba positiva al pin GP15 sul Raspberry Pi Pico.
Dovrai anche far passare un ponticello da un pin GND su Pico al binario negativo sulla breadboard, per metterlo a terra. Un altro ponticello collegherà il pin 3V3 Out sul Pico al binario positivo della breadboard, per alimentare i componenti.
Crea il codice
Puoi prendere il codice dal file Repository GitHub di MUO. Scarica il file MicroPython denominato piezo-cicalino.py e quindi caricalo sul tuo Pico tramite un computer collegato tramite USB che esegue Thonny IDE. Scopri come inizia con MicroPython su Raspberry Pi Pico per dettagli.
Le varie parti del codice eseguono le seguenti operazioni:
- In alto, importiamo il file richiesto macchina, matematica, E tempo Moduli MicroPython.
- UN cicalino la variabile viene quindi assegnata al pin GP15 come uscita PWM.
- UN potenziometro variabile è assegnata al convertitore analogico-digitale (ADC) sul pin GP26/A0 di Pico.
- Definiamo a scala() funzione che utilizza funzioni matematiche per convertire l'intervallo del movimento del potenziometro in un'uscita per il cicalino.
- IL mentre: Vero ciclo infinito legge l'ingresso del potenziometro, quindi utilizza il scala funzione per convertirlo. Dopo aver verificato che non sia cambiata troppo rispetto alla frequenza precedente, invia quindi il calcolato frequenza al cicalino tramite PWM (modulazione di larghezza di impulso).
In sintesi, vengono inviati centinaia di impulsi al secondo e il tono del cicalino si sposta tra 120Hz e 5kHz quando il potenziometro viene ruotato in senso orario o antiorario. La rotazione del potenziometro altera la tensione letta dal pin di ingresso analogico del Pico, che a sua volta viene utilizzata per regolare la frequenza del cicalino tramite PWM.
Esegui il codice da Thonny (fai clic sull'icona di riproduzione o premi F5 sulla tastiera) e provalo tu stesso. Dopo la prima esecuzione, eventuali modifiche al codice influiranno sui risultati fisici? Ad esempio, cosa succede se modifichi il file allineare (da 0 a 65535)? Questa parte del codice si trova appena sotto mentre Vero: dove il frequenza è definito.
Impostazione del tono
Se ti senti avventuroso, potresti provare a utilizzare il cicalino per generare toni musicali utilizzando martinkooij's pi-pico-toni libreria su GitHub. Per impostazione predefinita, questa libreria genererà onde sinusoidali; quattro generatori di toni possono funzionare su quattro diversi pin Pico a scelta. Si noti che questo progetto è basato su C++ utilizzando Raspberry Pi Pico SDK, piuttosto che MicroPython, ma le istruzioni complete sono fornite nel readme di GitHub.
Il ronzio di Pico Electronics
Congratulazioni: hai imparato a leggere l'ingresso analogico da un potenziometro e convertirlo in un segnale PWM per controllare un segnale acustico. Un potenziometro è un dispositivo di input versatile per l'elettronica. Un cicalino piezoelettrico è un altro componente utile: con l'aggiunta di un sensore di movimento a infrarossi PIR, ad esempio, è possibile rilevare la presenza di intrusi e dare l'allarme.