Nota
Ciao, benvenuto nella Community di appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci il tuo viaggio con Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e concorsi festivi: Partecipa a concorsi e promozioni durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
1.1.1 LED lampeggiante
Introduzione
In questo progetto, impareremo come far lampeggiare un LED tramite la programmazione. Attraverso le tue impostazioni, il LED può produrre una serie di effetti interessanti. Ora, provaci.
Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
OGGETTI IN QUESTO KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Schema elettrico
In questo esperimento, collega una resistenza da 220Ω all’anodo (il pin lungo del LED), quindi la resistenza a 3,3 V, e collega il catodo (il pin corto) del LED al GPIO17 del Raspberry Pi. Pertanto, per accendere il LED, dobbiamo impostare il livello di GPIO17 su basso (0V). Possiamo ottenere questo risultato programmando.
Procedure sperimentali
Passo 1: Costruisci il circuito.
Passo 2: Vai alla cartella del codice.
cd ~/raphael-kit/nodejs/
Nota
Cambia la directory nel percorso del codice di questo esperimento tramite cd.
Passo 3: Esegui il codice
sudo node blink.js
Nota
Qui sudo - superuser do, e python significa eseguire il file tramite Python.
Dopo l’esecuzione del codice, vedrai il LED lampeggiare.
Passo 4: Se desideri modificare il file di codice blink.js, premi Ctrl + C per
interrompere l’esecuzione del codice. Quindi digita il seguente comando per aprire
blink.js:
nano blink.js
Nota
nano è uno strumento di editor di testo. Il comando serve per aprire il file di codice blink.js tramite questo strumento.
Premi Ctrl+X per uscire. Se hai modificato il codice, verrà visualizzato un messaggio
che ti chiederà se desideri salvare le modifiche o meno. Digita Y (salva) o N
(non salvare).
Quindi premi Invio per uscire. Digita nuovamente nano blink.js per vedere l’effetto dopo la modifica.
Codice
Il seguente è il codice del programma:
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});
var led_state = 0;
function blink_led(){
led.digitalWrite(led_state);
led_state = !led_state;
}
setInterval(blink_led,300);
In alternativa, scrivi il codice come una funzione a freccia più specifica per js:
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});
var led_state = 0;
setInterval(() => {
led.digitalWrite(led_state);
led_state = !led_state;
}, 300);
Spiegazione del codice
const Gpio = require('pigpio').Gpio;
Importa il costruttore Gpio nel pacchetto pigpio in questo modo,
e poi definisci una costante Gpio per rappresentare questo costruttore.
Con una varietà di costruttori, possiamo utilizzare js per controllare i dispositivi elettronici.
pigpio può essere utilizzato per implementare GPIO veloci, PWM, controllo del servo,
notifica di cambio di stato e gestione delle interruzioni.
const led = new Gpio(17,{mode: Gpio.OUTPUT});
La parola chiave new viene utilizzata per costruire oggetti istanziati della classe.
Collega il LED al GPIO17 della scheda di espansione a forma di T,
imposta la modalità LedPin su output e assegnala alla costante led,
cioè costruisci un oggetto GPIO17 led, e la sua modalità è la modalità di uscita.
Ci sono due modi per numerare i pin IO sul Raspberry Pi: numero BOARD e numero BCM. Nel nostro progetto, utilizziamo il numero BCM. È necessario impostare ogni canale utilizzato come input o output.
function blink_led(){
led.digitalWrite(led_state);
led_state = !led_state;
}
setInterval(blink_led,300);
Il metodo setInterval() può chiamare funzioni o calcolare espressioni con un periodo specificato (in millisecondi).
Qui cambiamo lo stato operativo del LED con un periodo di 300ms.
Il metodo gpio.digitalWrite(level) imposta il livello gpio su 1 o 0.
var led_state = 0;
setInterval(() => {
led.digitalWrite(led_state);
led_state = !led_state;
}, 300);
Riscrivi il codice come funzione a freccia per renderlo più breve.
Immagine del fenomeno