Come simulare un semaforo con Arduino Uno. Parte 1

Naviga SWZ: Home Page » Articoli
Articolo del 1526797815
Autore: Fabio Ferraro
Categoria: tech





Creiamo la nostra Libreria

Vediamo come creare e poi gestire una libreria, che useremo nei progetti realizzati per la nostra scheda Arduino, in modo da ottimizzarli riutilizzando la libreria per ogni programmazione, evitando di scrivere codice ridondante e utilizzandone uno perfettamente funzionante (poiché già implementato e compilato in altri listati).


Come simulare un semaforo con Arduino Uno. Parte 1 - immagine 15


Per prima cosa bisogna realizzare due file: il primo consiste nella vera e propria libreria che chiameremo LibreriaFF.h (modificheremo quella presentata nel seguente articolo) mentre il secondo contiene il codice completo di funzioni, procedure, costruttori delle classi ed altro (come da figura sovrastante).

Il listato della LibreriaFF.h è il seguente:

#ifndef LibreriaFF_h
#define LibreriaFF_h
// definiamo la libreria e includiamo la libreria Arduino.h

#include "Arduino.h"

/* dichiariamo degli insiemi che riutilizzeremo per tutti i progressivi listati e
creiamo un tipo Ipositivo, Stringa e Reale che ci serviranno successivamente */

typedef unsigned int Ipositivo;
typedef float Reale;
typedef char Stringa[20];

enum Posizione_Ciclo {INIZIO,FINE,SUCC}; // per eventuali posizioni su vettori e cicli
enum Valore_Booleano {FALSO = 0,VERO}; // utili nel mondo della logica
enum Tipo_Uso {BASSO=0,ALTO=1}; // modo di utilizzo di un interruttore
enum Stati {SOSPESO= -1,PASSIVO=0,ATTIVO}; // modo di utilizzo di un interruttore
enum pin_Modo {uscita=0,ingresso=1};
enum Luce_Semaforo {Rosso,ROSSO,rosso=8,Giallo,GIALLO,giallo=9, Verde,verde,VERDE};




// definiamo le costanti che avranno valori costanti nei nostri sorgenti/sketch

const Ipositivo PIN_LED_Uscita=13; // impostiamo lo standard Pin LED  di Arduino
const Ipositivo Velocita_scambio_Dati=9600;    // per la comunicazione seriale
// dichiariamo i valori interi corrispondenti ai colori dei semafori
const Ipositivo r=8;
const Ipositivo g=9;
const Ipositivo v=10;
//dichiaro una variabile intera che contenga 8, al pin cui collegherò il LED rosso
//stesso discorso per il pin 9 (LED giallo) e il 10 (LED verde)

Tipo_Uso T;
Luce_Semaforo
Colore;
pin_Modo pinm;

// definiamo le procedure e le eventuali funzioni che utilizzeremo nei nostri sketch
void Avvio_Comunicazione_Seriale ();
void Scriviamo_Su_Seriale (Stringa s[]);
void IlluminaPin (Stati T, Ipositivo c);
void Modo(pin_Modo pinm, Ipositivo c);
void Attendi(Ipositivo secondi);

// terminiamo la libreria
#endif



« Precedente     2  3 [4] 5  6     Successiva » ]
Pagine Totali: 6