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 Servomotore

sm

Il servomotore è particolare, in quanto gira di un angolo (normalmente tra 0 e 180°) in base al segnale che riceve dap programma, infatti oltre ai due cavi di alimentazione possiede anche un terzo cavo, per la trasmissione del segnale.
Per cui può ossere utile per far aprire una serratura, una porta, ecc.; oppure per far girare l'assale delle ruote di un'automabilina o di un robot.
Per cui è molto versatile.
Richiedendo una bassa potenza, può essere alimentato direttamente dal Raspberry; comunque è sempre meglio alimentarlo a 5v con un più potente alimentatore esterno.



Connessione del servomotore sulla BDS

Il connettore relativo al servomotore si inserirà sulo zoccolo (maschio) di SV1. L'alimentazione è esclusivamente a 5v e può essere fornita sia direttamente dal Rasberry sia da un alimentatore esterno (sempre meglio questa seconda soluzione.
Il cavo del servomotore normalmente è marrone per la massa (Gnd), rosso per +5v e giallo per il segnale (P13). Il Gpio per controllare il servomotore è GPIO13.

sv1







Preparazione dell'ambiente virtuale e installazione delle librerie

Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "      " in cui creeremo l'ambiente virtuale (che chiameremo "        "), 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/servom  per spostarsi nella cartella "servom";
python3 -m venv/serv             per creare l'ambiente virtuale "serv ";
source  serv/bin/activate         per attivare l'ambiente virtuale: apparirà (serv) all'inizio della nuova riga;

A questo punto è possibile installare le librerie richieste, quali "RPi.GPIO" oppure "GPIOZERO"; ma cè anche un'altra soluzione, quella di rendere disponibile nell'ambiente virtuale le librerie "di base" installate con Python, digitando il comando "python -m venv --system-site-packages env" (al posto di "env" si può inserire il nome dell'ambiente virtuale preferito.
In questo caso sarà poi sufficiente installare solo le librerie specifiche per i vari sensori, guadagnando in semplicità e risparmio di occupazione di scheda SD o di disco.









Primo programma per il servomotore
Il primo programma illustra semplicemente il funzionamento del servomotore: ruota il perno del motore di 45, 90,150, 180 gradi e poi torna indietro seuendo gli stessi passi.
Il motore è connesso al GPIO13.



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.









Secondo programma per il servomotore
Programma molto simile al precedente, sposta l'albero di circa 12° per ogni passo; arrivato a 180° torna indietro in modo speculare.



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.









Terzo programma per il servomotore
Il terzo programma comincia a mostrare una certa interoperatività con il programmatore: permette di inserire l'angolo con cui si sposta il perno del servomotore.



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.









  Quarto programma per il servomotore
Questo programma usa i due pulsanti touch presente sulla BDS: il pulsante BT1 (GPIO24) ruota di circa 12à gradi ogni volta che viene premuto; quando arriva a 180°, si ferma. Mentre BT2 (GPIO26) fa i passi inversi, tornando indietro fino a 0°.



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.









Quinto programma per il servomotore
L'ultimo programma usa un potenziomentro: girando il suo perno, ruota in modo corrispondente  e proporzionale (sia avanti che indietro) il perno del servomotore.



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