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.

../_images/blinking_led_list1.png

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

OGGETTI IN QUESTO KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

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.

../_images/image481.png

Procedure sperimentali

Passo 1: Costruisci il circuito.

../_images/image491.png

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

../_images/image541.jpeg