Nota

Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci 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 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 esclusive.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e omaggi: Partecipa a omaggi e promozioni durante le festività.

👉 Pronto per esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

Punto Lampeggiante

In questo progetto, disegneremo un punto su Processing, che lampeggia in sincronia con il LED. Per favore, costruisci il circuito come mostrato nello schema ed esegui lo sketch.

../_images/blinking_dot.png ../_images/clickable_dot_on.png

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

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

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Raphael

337

Raphael Kit

Puoi anche acquistarli separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK DI ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

LED

ACQUISTA

Cablatura

../_images/image492.png

Sketch

import processing.io.*;
int ledPin = 17;
boolean state = true;

void setup() {
    size(100, 100);
    frameRate(2); //imposta la frequenza dei fotogrammi
    GPIO.pinMode(ledPin, GPIO.OUTPUT); //imposta ledPin su modalità output
}

void draw() {
    state = !state;
    if (state==true) {
        GPIO.digitalWrite(ledPin, GPIO.LOW); //led acceso
        fill(255, 0, 0); //imposta il colore del led acceso
    } else {
        GPIO.digitalWrite(ledPin, GPIO.HIGH); //led spento
        fill(155); //imposta il colore del led spento
    }
    ellipse(width/2, height/2, width*0.75, height*0.75);
}

Come funziona?

All’inizio dello sketch, è necessario includere la libreria GPIO di Processing con import processing.io.*;, indispensabile per gli esperimenti con i circuiti.

La frequenza dei fotogrammi è la frequenza con cui appaiono i fotogrammi sulla scheda, espressa in hertz (Hz). In altre parole, è anche la frequenza con cui viene chiamata la funzione draw(). In setup(), impostando la frequenza dei fotogrammi a 2, la funzione draw() verrà chiamata ogni 0,5s.

Ogni chiamata alla funzione draw() inverte il valore di state e lo valuta. Se il valore è true, il LED si accende e il pennello viene riempito di rosso; altrimenti, il LED si spegne e il pennello viene riempito di grigio.

Dopo aver completato la valutazione, viene utilizzata la funzione ellipse() per disegnare un cerchio. È importante notare che width e height sono variabili di sistema utilizzate per memorizzare la larghezza e l’altezza della finestra di visualizzazione.

Ci sono altri due punti da considerare. Quando si utilizzano i GPIO, è necessario usare la funzione GPIO.pinMode() per impostare lo stato INPUT/OUTPUT del pin, e successivamente utilizzare la funzione GPIO.digitalWrite() per assegnare un valore (HIGH/LOW) al pin.

Nota

Cerca di evitare di usare delay() in draw() perché potrebbe influenzare l’aggiornamento della finestra di visualizzazione.