Sei sulla pagina 1di 3

ISTITUTO ISTRUZIONE SECONDARIA SUPERIORE

“Alessandro Volta”
Passaggio dei Picciotti, 1 - 90123 Palermo tel. 0916494211 fax 091474126
web: www.iissvolta.edu.it - e-mail: pais027002@istruzione.it
PEC: pais027002@pec.istruzione.it
C.F. 80016540827

RELAZIONE LABORATORIO DI SISTEMI AUTOMATICI


Nome GIOACCHINO Cognome LO MONACO Classe 4B
TITOLO: Realizzazione di un circuito che piloti un servomotore mediante una fotoresistenza
:

Data consegna: 01 /06 /2023


Voto: Firma:

ELENCO COMPONENTI E STRUMENTI:


1. Breadboard
2. Led
3. Display LCD 16x2
4. Micro servo motore
5. Arduino uno
6. Tre resistenze R1 =4.7kΩ R2=220Ω R3=220Ω
7. Fotoresistore
8. Cavetti di collegamento

DESCRIZIONE DEL CIRCUITO E PROCEDIMENTO


Inizio la prova di laboratorio simulando su “TinKerCad” un montaggio di un circuito che piloti
un servomotore mediante una fotoresistenza, per collegare i 3 dispositivi elettrici seguo un datasheet
ovvero la scheda dei dati di collegamento del singolo dispositivo, per collegare la fotoresistenza ho
bisogno di collegare un piedino all’ingresso della porta A0 di arduino (porta analogica), collego i die
4.7kΩ tra il
piedini della fotoresistenza al gnd e al 5 volt di arduino collegando una resistenza da
piedino della fotoresistenza e il gnd; per collegare il Display LCD 16x2 seguo un preciso
datasheet mentre per collegare il servo motore utilizzo il pin segnale e lo collego alla porta PWM 10
di arduino i restanti 2 pin li collego al gnd e al +5volt di arduino. Collego un LED pin PWM di arduino
che al variare dell’intensità luminosa varierà anche lo stato del LED.
Una volta cablato il circuito inizio la sua programmazione.
SCHEMA ELETTRICO E DI MONTAGGIO

CODICE COMMENTATO

#include <LiquidCrystal.h> // iclude la libreria per il display


#include <Servo.h> // iclude la libreria per il micro servo motore
LiquidCrystal lcd (12, 11,5,4, 3, 2) ; // indica che l’LCD è collegato ai pin 12, 11,5,4, 3, 2 del microcontrollore arduino
Servo servoJG; // permette il comando del servo motore tramite il microcontrollore arduino

int led = 9; // dichiaro la variabile


int fotoresistore = A0; // dichiaro la variabile
int val= 0; // dichiaro la variabile

void setup ()
{
servoJG.attach(10); // servo collegato al pin 10
pinMode (led, OUTPUT); // il LED è impostato come output
pinMode (fotoresistore, INPUT); // la fotoresistenza è impostata come imput

lcd.begin (16,2); //Il comando "lcd.begin(16,2)" in Arduino viene utilizzato per inizializzare un display LCD con una matrice di 16
colonne e 2 righe. Questo comando viene utilizzato in combinazione con il comando "LiquidCrystal lcd(12, 11, 5, 4, 3, 2)" per creare
un'istanza dell'oggetto LCD e specificare i pin a cui il display è collegato.

Serial.begin (9600); //inizializzo la comunicazione seriale e specificare la velocità di trasmissione dei dati, prima di utilizzare altri
comandi per inviare o ricevere informazioni attraverso la porta seriale.
}

void loop ()
{
lcd.setCursor(4, 1); //impostare la posizione del cursore del display LCD
val= analogRead (fotoresistore); // leggere il valore della tensione analogica in ingresso da una fotoresistenza collegata ad uno dei
pin analogici del microcontrollore.
val= map(val, 0, 1023, 255, 0); // convertire un valore numerico da un range di input ad un range di output differente.
analogWrite(led, val); // controllare la luminosità di un LED o la velocità di un motore
lcd.print(val); // viene utilizzato per scrivere il valore della variabile "val" sul display LCD
Serial.println(val); //leggi il valore
servoJG.write(val); //scrivi il valore
delay(15); //ritardo di 15 ms
}

FOTO CIRCUITO MONTATO

CONCLUSIONE
Montando il circuito e scrivendo il codice siamo riusciti a creare un circuito che piloti un servomotore
mediante una fotoresistenza.

Potrebbero piacerti anche