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 problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara & 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!

Gonfiando il Punto

Ora costruiamo un circuito che permetta al pulsante di controllare la dimensione del punto. Quando premiamo il pulsante, il punto diventerà rapidamente più grande; quando rilasciamo il pulsante, il punto si ridurrà gradualmente, facendolo sembrare un palloncino che si gonfia.

../_images/dot_size.png

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

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

Nome

COMPONENTI IN QUESTO KIT

LINK

Kit Raphael

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

Pulsante

ACQUISTA

Collegamento

../_images/button_pressed.png

Sketch

import processing.io.*;
int buttonPin = 18;

float diameter;

void setup() {
    size(200, 200);
    frameRate(64); //imposta il frame rate
    GPIO.pinMode(buttonPin, GPIO.INPUT_PULLUP);
    diameter = width*0.5;
}

void draw() {
    if (GPIO.digitalRead(buttonPin)==GPIO.LOW) {
        if(diameter<width*0.8) {diameter=diameter+5;}
    } else {
        if(diameter>=width*0.2) {diameter--;}
    }
    background(192, 16, 18);
    ellipse(width/2, height/2,diameter, diameter);
}

Come funziona?

Questo progetto utilizza la funzione di input rispetto ai precedenti 2 progetti che utilizzavano la funzione di output del GPIO.

La funzione GPIO.pinMode() viene utilizzata per impostare buttonPin in modalità input pull-up, che fa sì che il pin riceva automaticamente un segnale alto in stato predefinito.

Successivamente, utilizziamo la funzione GPIO.digitalRead() per leggere il valore di buttonPin. Quando il valore è LOW, significa che il pulsante è premuto, a quel punto la dimensione del punto aumenta di 5; se il pulsante viene rilasciato, la dimensione del punto diminuisce di 1.