Nota
Ciao, benvenuto nella community di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a concorsi e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti subito!
1.3.3 Relè
Introduzione
In questo progetto, impareremo a utilizzare un relè. È uno dei componenti più utilizzati nei sistemi di controllo automatico. Quando la tensione, la corrente, la temperatura, la pressione, ecc., raggiunge, supera o è inferiore al valore prestabilito, il relè collegherà o interromperà il circuito per controllare e proteggere l’apparecchiatura.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
COMPONENTI NEL KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link seguenti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Schema Elettrico
Procedure Sperimentali
Passo 1: Costruisci il circuito.
Passo 2: Apri il file del codice.
cd ~/raphael-kit/c/1.3.3
Passo 3: Compila il codice.
gcc 1.3.3_Relay.c -lwiringPi
Passo 4: Esegui il file eseguibile.
sudo ./a.out
Dopo l’esecuzione del codice, il LED si accenderà. Inoltre, potrai sentire un ticchettio causato dall’apertura del contatto normalmente chiuso e dalla chiusura del contatto normalmente aperto.
Nota
Se il codice non funziona o appare un errore come: "wiringPi.h: No such file or directory", fai riferimento a Installa e Controlla wiringPi.
Codice
#include <wiringPi.h>
#include <stdio.h>
#define RelayPin 0
int main(void){
if(wiringPiSetup() == -1){ //quando l'inizializzazione di wiring fallisce, stampa messaggio a schermo
printf("setup wiringPi failed !");
return 1;
}
pinMode(RelayPin, OUTPUT); //imposta GPIO17(GPIO0) come output
while(1){
// Tick
printf("Relay Open......\n");
digitalWrite(RelayPin, LOW);
delay(1000);
// Tock
printf("......Relay Close\n");
digitalWrite(RelayPin, HIGH);
delay(1000);
}
return 0;
}
Spiegazione del Codice
digitalWrite(RelayPin, LOW);
Imposta la porta I/O a livello basso (0V), così il transistor non viene alimentato e la bobina non è alimentata. Non c’è forza elettromagnetica, quindi il relè si apre e il LED non si accende.
digitalWrite(RelayPin, HIGH);
Imposta la porta I/O a livello alto (5V) per alimentare il transistor. La bobina del relè è alimentata e genera forza elettromagnetica, il relè si chiude e il LED si accende.
Immagine del Fenomeno