Apertura barriera automatica tramite codice

Tesine 2015-18

Scritto da Fabio Giannetti

Giannetti Fabio - Classe 5A-IPAI -  Esame di Stato: 2016-2017
Apertura barriera automatica tramite codice
Applicazione con Arduino e tastierino 4x4

Questa applicazione realizzata con Arduino Uno, un tastierino 4*4 ed un Servomotore, tramite l'immissione di un codice personalizzabile, è in grado di simulare l'apertura di una barriera automatica.

 

Foto circuito

 

Hardware
In figura 1 è riportato lo schema elettrico del sistema realizzato con Fritzing

 schema esame due rimp schema esame rimp

aArduino Uno (Sistema di sviluppo programmabile)
bTastierino 4x4
cServomotore

d) Display LCD 16x2 I²C

 

 

aArduino Uno

 ita Arduino è un sistema open source che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali dell'elettronica e della programmazione. È composto da una scheda hardware per l'assemblaggio del prototipo. Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte I/O, un regolatore di tensione e un'interfaccia USB che permette la comunicazione con il computer. A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (Linux, Apple Macintosh e Windows). Questo software permette di scrivere programmi (sketch ) con un linguaggio semplice e intuitivo derivato da C/C++ chiamato Wiring (cablare, collegare con cavi). In commercio esistono diversi modelli, in tabella sono riportate le specipiche tecniche di Arduino Uno.

ingl  Arduino is an open source system that allows rapid prototyping and fast learning of the fundamentals of electronics and programming. It consists of a hardware board for assembling the prototype. This is based on a circuit board that integrates a microcontroller with pins connected to the I / O ports, a voltage regulator, and a USB interface that allows communication with the computer. This hardware is complemented by a multi-platform integrated development environment (IDE) (Linux, Apple Macintosh, and Windows). This software allows you to write sketches with a simple and intuitive language derived from C / C ++ called Wiring (cabling, wiring).

arduino uno

bTastierino 4x4 a matrice

keypad2

Questo modulo viene comunemente usato come input nei progetti. Dispone di 16 tasti collegati tra loro in parallelo, posizionati appunto, 4 ad ogni riga per 4 colonne. I tasti di ogni riga e colonna, sono connessi tramite i pin esterni. I pin da Y1 a Y4 per controllare le righe, mentre quelli da X1 a X4 per le colonne.

Keypad schematic2

 

 

cServomotore

I servomotori, si presentano come piccoli contenitori di materiale plastico da cui fuoriesce un perno in grado di ruotare in un angolo compreso tra 0 e 180° mantenendo stabilmente la posizione raggiunta. Per ottenere la rotazione del perno è utilizzato un motore a corrente continua e un meccanismo di demoltiplica che consente di aumentare la coppia in fase di rotazione.   La rotazione del motore è effettuata tramite un circuito di controllo interno in grado di rilevare l'angolo di rotazione raggiunto dal perno tramite un potenziometro resistivo e bloccare il motore sul punto desiderato.

Servo Breakdown

Struttura interna di un Servomotore.

I Servomotori sono concepiti per essere pilotati nel modo più semplice possibile, eseguendo la movimentazione senza l'ausilio di circuiterie troppo complesse o l'uso di sistemi a microprocessore.  Un servomotore dispone solitamente di soli tre fili attestati ad un connettore femmina per pin strip a passo 2.54mm.
Due di questi fili sono riservati all'alimentazione in corrente continua. Il positivo è di colore rosso, il negativo di colore nero, il terzo filo, normalmente di colore bianco, è riservato per il controllo del posizionamento. Il colore di questi fili potrebbe variare a secondo della casa costruttrice.

Tramite il filo del controllo è necessario applicare un segnale impulsivo o PWM (Pulse Wave Modulation) le cui caratteristiche sono "quasi" univoche per qualsiasi servomotore disponibile in commercio. Per essere sicuri di riuscire a pilotare qualsiasi servomotore il nostro circuito di pilotaggio dovrà essere in grado di trasmettere al servomotore circa 50 impulsi positivi al secondo (uno ogni 20 ms) di durata variabile.
 

d) Display LCD 16x2 I²C

T2eC16hcE9s4Pvm88BRwdBRwnhg 60 35

L’integrazione di un display LCD favorisce notevolmente l’interattività di questa applicazione, permettendo all’utilizzatore di poter leggere in tempo reale, se il codice da esso immesso, sia corretto o errato. 

Questi display hanno un piccolo problema, quando vengono connessi ad un microcontrollore (come Arduino per esempio), questi display richiedono praticamente moltissimi PIN di connessione occupando praticamente quasi tutti gli I/O disponibili e lasciando al multiprocessore poche uscite per eventuali altri dispositivi e sensori. Questo problema è stato ovviato grazie alla comunicazione su bus I2C.

Il display LCD1602 ha infatti un microchip integrato che gestisce questa tipologia di comunicazione e quindi tutti le informazioni di entrata e di uscita si limitano a solo due PIN (esclusa l’alimentazione).  I2C è un tipo di serial bus realizzato dalla Philips, che utilizza due linee bidirezionali chiamate SDA (Serial Data Line) e SCL (Serial Clock Line), entrambe devono essere collegate tramite resistenze pulled-up. I voltaggi di utilizzo sono quelli standard come 5V e 3.3V.

 

Programma

 

 programma232

Fonti:

Dispensa scolastica
www.adrirobot.it
www.w
iki.sunfounder.cc
www.meccanismocomplesso.org

 

Applicazione con Arduino