La luce è un fattore importante nella crescita delle piante, poiché rappresenta una fonte di energia per la fotosintesi. La fotosintesi è il processo attraverso il quale le piante producono energia dai nutrienti e dalla luce solare.
Le piante hanno bisogno di un certo numero di ore di luce al giorno per crescere correttamente. In genere, le piante necessitano di almeno 8-12 ore di luce al giorno durante la fase vegetativa e di 12-16 ore di luce al giorno durante la fase di fioritura.
Con una attività di Tinkering e coding possiamo imparare a far crescere una pianta dentro un labirinto verticale e cercare di capire in ogni istante dove si trova.
Il sensore HC-SR04 è un dispositivo a ultrasuoni che può essere utilizzato con Arduino per misurare la distanza da un oggetto. Questo sensore funziona emettendo una serie di impulsi ad alta frequenza, che vengono poi riflessi dall’oggetto e rilevati dal sensore.
Per utilizzare il sensore HC-SR04 con Arduino, è necessario collegarlo alla scheda utilizzando i pin appropriati. In particolare, il sensore richiede quattro connessioni: due per l’alimentazione e due per la trasmissione e la ricezione degli impulsi ad ultrasuoni.
Una volta collegato il sensore, è possibile programmare Arduino per gestire le letture della distanza. Il processo di lettura della distanza dal sensore HC-SR04 è relativamente semplice e prevede i seguenti passaggi:
- Inizializzare il sensore e stabilire le connessioni di trasmissione e ricezione degli impulsi ad ultrasuoni.
- Generare un impulso di trigger che viene inviato al sensore per avviare la trasmissione degli impulsi ad ultrasuoni.
- Misurare il tempo impiegato dagli impulsi ad ultrasuoni per raggiungere l’oggetto e ritornare al sensore. Questo tempo può essere calcolato utilizzando una funzione specifica di Arduino.
- Calcolare la distanza dall’oggetto in base al tempo impiegato dagli impulsi ad ultrasuoni. La formula per il calcolo della distanza è la seguente: distanza = tempo x velocità del suono / 2, dove la velocità del suono è di circa 340 m/s.
- Ripetere il processo di lettura della distanza ad intervalli regolari per monitorare i cambiamenti nella posizione dell’oggetto.
Ecco un esempio di codice per Arduino da provare per usare il sensore:
const int triggerPin = 9;
const int echoPin = 10;
void setup() {
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
Il codice inizializza i pin di trigger e echo del sensore HC-SR04 e definisce una funzione setup() che viene eseguita una volta all’avvio della scheda Arduino. La funzione loop() viene eseguita continuamente e si occupa di leggere la distanza dall’oggetto utilizzando il sensore e di visualizzarla sulla seriale.
La lettura della distanza avviene nei seguenti passaggi:
- Si imposta il pin di trigger a basso e si attendono due microsecondi.
- Si imposta il pin di trigger ad alto per 10 microsecondi.
- Si imposta il pin di trigger a basso.
- Si legge la durata dell’impulso di eco utilizzando la funzione pulseIn().
- Si calcola la distanza in centimetri utilizzando la formula menzionata nel testo precedente.
- Si visualizza la distanza sulla seriale.
Il codice include anche un ritardo di 500 millisecondi alla fine del loop() per rallentare la lettura della distanza e evitare di sovraccaricare il sensore HC–SR04.