Contrôler une LED avec la Raspberry Pi

Accendi e spegni un LED con Raspberry Pi e Python.

Aggiornato 5 Giugno 2019 - 0 Commenti - , , ,

ⓘ Questo articolo potrebbe essere stato tradotto parzialmente o completamente utilizzando strumenti automatici. Ci scusiamo per eventuali errori che ciò potrebbe causare.

Questo tutorial è il primo di una serie dedicata all'utilizzo delle porte GPIO del Raspberry Pi per controllare i componenti elettronici.

Come probabilmente saprai, il Raspberry Pi ha porte chiamate GPIO (General Purpose Input Output) che ti consentono di controllare una serie di componenti elettronici.

In questo tutorial vedremo come utilizzare queste porte GPIO per controllare un LED con il Raspberry Pi.

L'attrezzatura necessaria

Per seguire questo tutorial, avrai bisogno dei seguenti materiali:

Questo tutorial può essere seguito completamente senza la necessità di saldare alcun componente.

Inoltre, dovrai avere Raspbian installato sulla tua scheda SD e avere un modo per controllare il tuo Raspberry Pi, direttamente tramite tastiera / mouse / schermo o tramite SSH.

Le basi sui GPIO

Le porte GPIO sono porte fisiche generalmente sotto forma di perni metallici quadrati che consentono la trasmissione di un segnale elettrico.

pin gpios
Connettori GPIO destinati alla saldatura

Una porta GPIO trasmette un segnale relativamente binario (nessuna corrente o corrente). Nel caso del Raspberry Pi, le porte GPIO funzionano a 3,3 V e circa 20 mA.

Le porte GPIO sono quindi un modo semplice per comunicare o controllare elementi fisici.

I modelli più recenti del Raspberry Pi hanno 40 connettori GPIO, che si dividono in diverse categorie con utilizzi specifici.

  • Power +: alimentazione continua
  • GND: Ground = Ritorno a terra
  • I2C: protocollo seriale sincrono
  • SPI: altro protocollo seriale sincrono
  • UART: protocollo asincrono + conversione della comunicazione da seriale a parallela.
  • GPIO: porta generale che può essere opzionalmente trasformata in I2C o SPI.

Le porte GPIO sono numerate da 1 a 40, a partire da in alto a sinistra quando si tengono le porte GPIO di Raspberry pi a destra. Questa è la cosiddetta modalità di numerazione "Board". Esiste un'altra modalità di numerazione, basata sull'indirizzamento del processore, chiamata modalità "BCM".

Nel contesto di questo tutorial useremo solo le porte di tipo GPIO e GND e la numerazione "Board".

Collega il LED al Raspberry Pi

Per effettuare la nostra connessione utilizzeremo i seguenti componenti: un LED, una resistenza, una breadboard e il Raspberry.

Il primo passo del nostro tutorial sarà progettare il circuito che collega il LED al Raspberry Pi. Non preoccuparti, è molto semplice e non dovremo fare diagrammi complicati!

Come scegliere la resistenza?

La prima cosa da sapere è che un LED deve sempre utilizzare una resistenza. Questo perché i LED hanno quella che viene chiamata "tensione di soglia". Per dirla semplicemente, un po 'troppa corrente e il LED si brucia immediatamente, quindi il resistore è una protezione.

Dovremo quindi scegliere quale resistenza utilizzare. Per questo, esiste una formula matematica per calcolare la dimensione del resistore da utilizzare.

Rmin = (Ualim - Uled) / Imax

A meno che tu non abbia degli avanzi buoni dalla tua lezione di fisica, immagino che non ti porti troppo lontano. Piccola spiegazione:

  • Rmin: resistenza minima da utilizzare, espressa in ohm (Ω)
  • Ualim: tensione di alimentazione, espressa in volt (V)
  • Uled: tensione di soglia del LED, espressa in volt (V)
  • Imax: l'intensità massima del LED, espressa in ampere (A)

Come abbiamo detto, i nostri GPIO forniscono 3,3 V e 20 mA. Il LED ha un'intensità massima di 20 mA (20 mA = 0,020 A) e una tensione di soglia di 1,5 e 1,9 V.

La formula è quindi la seguente:

Rmin = (3.3 - 1.5) / 0.020

Otteniamo quindi una resistenza minima di 90 Ω, che arrotonderemo a 100 Ω. Ci prenderemo un po 'di spazio scegliendo invece una resistenza da 270 Ω (o 330 Ω, valori normalizzati), proteggendoci così da un possibile picco di corrente sul GPIO.

Per trovare il valore di una resistenza, due possibilità:

  • Questo è indicato sulla striscia di carta che tiene insieme i LED.
  • È necessario leggere gli anelli di colore sul resistore per calcolarne il valore. Troverai tutorial e siti online per aiutarti. (100 Ω = marrone-nero-marrone, 270 Ω = rosso-viola-marrone e 330 Ω = arancio-arancio-marrone)

Collega il LED ai GPIO del Raspberry Pi

Ora che sappiamo quale resistenza usare, non ci resta che collegare il tutto al Raspberry Pi.

Per questo prendi due cavi Dupont maschio / femmina, sceglieremo un cavo rosso per l'alimentazione e un cavo nero per il ritorno a terra (è una convenzione).

Collegare il cavo rosso alla porta GPIO 7 e il cavo nero a GPIO 6.

Collega i due cavi alla breadboard separati da poche file. Collega il cavo rosso all'anodo del tuo LED (la gamba allungata o lunga), una gamba del resistore al catodo (l'altra gamba del LED, quindi la gamba corta) e l'altra gamba della resistenza al cavo nero.

Suggerimento: hai problemi a ricordare quale gamba è l'anodo e quale è il catodo? Semplice mnemonico, i feed anodici allungati!

Non è molto chiaro? Niente panico, "un disegnino è meglio di un lungo discorso!"

Il rosso all'anodo, il catodo alla resistenza, la resistenza al nero!

Se vuoi essere sicuro che tutto funzioni correttamente, è possibile un piccolo semplice test. Scollega il cavo rosso da GPIO # 7 e collegalo al # 1. Questo fornisce 3,3 V in modo permanente, se il cablaggio è corretto, il LED sarà acceso :)!

Scrivi il programma per controllare il LED con il lampone

Ora che il nostro circuito è pronto, non ci resta che scrivere il programma per controllare le porte GPIO per accendere e spegnere il LED.

Per questo, useremo il linguaggio di programmazione Python. In questo tutorial rimarremo molto semplici e forniremo solo un esempio di un programma che spiega come usarlo e come funziona.

Quindi questo non è un corso Python. Tuttavia, se vuoi, abbiamo recentemente pubblicato un corso introduttivo su Python che ti insegnerà come usare Python per scrivere i tuoi programmi per i tuoi progetti!

Quindi crea una cartella /home/pi/electronic e un file led.py in quella cartella e scrivi lì il codice seguente:

Nota che i testi dietro # sono commenti usati per spiegare cosa fa il codice, ma non hanno influenza sul programma. Non è necessario copiarlo, ad eccezione delle prime due righe.

#!/usr/bin/env python3
#-- coding: utf-8 --

import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs

GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board)
GPIO.setwarnings(False) #On désactive les messages d'alerte

LED = 7 #Définit le numéro du port GPIO qui alimente la led

GPIO.setup(LED, GPIO.OUT) #Active le contrôle du GPIO

state = GPIO.input(LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint

if state : #Si GPIO allumé
    GPIO.output(LED, GPIO.LOW) #On l’éteint
else : #Sinon
    GPIO.output(LED, GPIO.HIGH) #On l'allume

Fatto ciò, renderemo il programma eseguibile. Per fare ciò, esegui semplicemente il seguente comando:

chmod +x /home/pi/electronic/led.py

Tutto quello che devi fare è eseguire lo script chiamandolo in questo modo:

/home/pi/electronic/led.py

Ogni volta che si esegue lo script, il LED si accenderà se è spento e si spegnerà se è acceso.

E il gioco è fatto, ora conosci le basi per accendere e spegnere un LED con il Raspberry Pi. Tutto quello che devi fare è adattare il codice alle tue esigenze. Per questo, non esitate a consultare il nostro corso su Python!

Tutto quello che devi fare è passare al prossimo tutorial di questa serie, leggere una scheda RFID con il Raspberry Pi!

Condividi
Newsletter
Autore:
Raspberry Pi FR
Unisciti alla comunità Raspberry Pi
Un computer da 35 euro ha già venduto 10 milioni di copie
ACQUISTA IL NUOVO RASPBERRY PI 4
Tutorial correlati
Usa un lettore RFID con Raspberry Pi. Attiva la porta seriale TTL del Raspberry Pi e verifica che funzioni. Creare un cluster Raspberry Pi con Docker Swarm Fai lampeggiare il LED verde integrato del Raspberry Pi. Impara a programmare con Python 3 e Raspberry Pi, corso introduttivo.
Nessun commento
Condividi
Iscriviti alla Newsletter
Iscriviti alla newsletter.
Ti è piaciuto questo articolo ?
Iscriviti e resta informato!