Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS






 




Pagina principale per Raspberry



Informazioni di base




La basetta sperimentale (BDS)


Applicazioni



Librerie e programmi
  • La gestione delle librerie

  • Programmi applicativi
    • Protocollo_I2C
    • I2C_BME280
    • I2C_BME680
    • I2C_ Display_LCD_1602
    • I2C_Display_SSD1306
    • I2C_SGP30-SGP40
    • SPI_RFID_RC522
    • One-wire_18B20
    • DHT11/DHT22
    • Motore_elettrico
    • Servomotore
    • Motore a passo
    • Encoder_Joystick
    • Pulsanti/piccoli_sensori
    • Led
    • Telecamera_OpenCV
    • Gestione_immagini
    • Ingressi_Analogici
    • Display: LCD1602
    • Display: SSD1306 Oled
    • Display: ST7735
    • Ingressi analogici
    • Programmi vari














 








 
















Raspberry PI 3/4/5
Programmi  per VL53L0X

vl53


Il sensore VL53L0X è un sensore di distanza laser a 940 nm laser VCSEL.Il modulo ha un funzionamento simile ad una fotocellua, il corpo ha un piccolo Emettitore Laser ed un Ricevitore. Viene emesso un impulso luminoso e misurato il tempo di ritorno della luce. Questo permette di calcolare la distanza tra il sensore e l’oggetto.

I principali campi di utilizzo sono:
– Rilevamento utente per personal computer / laptop / tablet e IoT (risparmio energetico)

– Robotica (rilevamento ostacoli)

– Riconoscimento gestuale 1D.

– Autofocus laser assistito. Migliora e accelera le prestazioni del sistema di messa a fuoco automatica della fotocamera, specialmente in scene difficili (livelli di scarsa luminosità, basso contrasto), o modalità video in rapido movimento.

Intervallo di misura: 20 – 200 mm.
Per comunicare utilizza il protocollo i2c.




Come inserire il multiplexer sulla BDS

Il sensore VL53L0X, come molti altri moduli I2C, utilizza il connettore I2C2.
Attenzione a connetterlo in modo corretto.
Per evitare malfunzionamenti, evitare di inserire i jumper J17 e J18.


54


La creazione dell'ambiente virtuale e l'inserimento delle librerie necessarie

Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "multiplexer" in cui creeremo l'ambiente virtuale (che chiameremo "multi"), le librerie necessarie e i programmi.
Nota: naturalmente i nomi dati alle sottocartelle possono essere variati a piacere. Postulando che si siano create le cartelle indicate, si può iniziare con la programmazione.
Aprire un terminale (la quarta icona in alto a destra) term e digitare quanto segue:
cd Desktop/Projects/vl53L0X   per spostarsi nella cartella "vl53L0X";
python3 -m venv 53                     per creare l'ambiente virtuale "53 ";
source 53 /bin/activate                per attivare l'ambiente virtuale: apparirà (53) all'inizio della nuova riga.
A questo punto, si possono salvare all'interno dell'ampbiente virtuale la libreria necessaria, con il comando:
"pip3 install adafruit-circuitpython-vl53l0x"

Il comando "sudo i2cdetect -y 1 permette di verificare se il sensore è stato riconosciuto e il codice che gli è stato attribuito, per esempio 0x29.








L'attivazione dell'interfaccia I2C sul Raspberry

Quando si usa per la prima volta una  periferica che richiede  l'interfaccia I2C, deve essere attivata:
  • Apri il terminale del tuo Raspberry Pi (o collegati via SSH).
  • Digita il comando e premi Invio:
    sudo raspi-config
  • Usa i tasti freccia per scendere e seleziona Interface Options (o Interfacing Options) e premi Invio.
  • Seleziona la voce I2C e premi Invio.
  • Alla richiesta di abilitare l'interfaccia I2C, seleziona Yes (Sì) e conferma.
  • Se ti viene chiesto se caricare automaticamente il modulo I2C al boot, seleziona ancora Yes.
  • Premi Finish per uscire e riavvia il sistema per rendere effettive le modifiche digitando:
    sudo reboot.
L'informazione viene memorizzata permanentemente nella memoria del Raspberry, e sarà attiva fino a quando non si intervenga per annullare questa opzione.







Il primo programma: misurazione della distanza
Questo programma permette di visualizzare la distanza tra il sensore e l'oggetto.
Poiché il sensore lavora in un intervallo tra 20 e 200 mm, quando la lettura è fupori di questi parametri, restituisce un messaggio "Out of range!" sul terminale del Raspberry.

5a



Clicca qui per scaricare il programma in formato ".zip"
Clicca qui per visualizzare il programma in formato testo.

Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella  "Desktop/Projects/ssd280"
e lanciarlo con il seguente comando: "python bme280ssd.py"

Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie.







Il secondo programma: misurazione della distanza  con segnali
Il secondo programma è una conseguenza del primo: semplicemente sono aggiunti un led (LED4, GPIO12) e un buzzer (DG1, GPIO19). Il primo aumenta la sua luminosità al ridurre la distanza; il secondo, allo stesso modo, aumenta la frequenza del suono.
L'immagine sulla destra riporta questi dati.

5b

Clicca qui per scaricare il programma in formato ".zip"
Clicca qui per visualizzare il programma in formato testo.

Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella  "Desktop/Projects/ssd280"
e lanciarlo con il seguente comando: "python bme280ssd.py"

Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie.









Per contatti: etdiy@centroanahata.it