Vai al contenuto

Utente:Liuk.12/Arduino

Da Wikiversità, l'apprendimento libero.

Sbarra parcheggio ad infrarossi

[modifica]

Questo progetto realizza il circuito di una sbarra per regolare l'entrata/uscita da un parcheggio regolato da un sorvegliante.

Descrizione del progetto

[modifica]

Il sorvegliante del parcheggio ora può comodamente star seduto in cabina ad autorizzare l'entrata e l'uscita dei veicoli con un semplice telecomando! Infatti, questo sistema utilizza i segnali ad infrarossi per far aprire e chiudere la sbarra utilizzando solamente due pulsanti. il primo pulsante (freccia verso l'alto) alza la sbarra del cancello seguita dall'accensione di una luce verde che da il via libera al conducente del veicolo ad entrare. Premendo la freccia verso il basso, invece, la luce verde si spegne e si accende quella rossa con la conseguente chiusura della sbarra.Schema elettrico

Lo schema elettrico è formato da un circuito programmabile basato su Arduino Uno. Di seguito la lista dei componenti:

Componenti utilizzati
Componente Tipo
Diodi led Verde e Rosso
Resistenza
Servomotore 5 V
Ricevitore IR VS1838B
Telecomando IR

Schema di montaggio

[modifica]

Servomotore con ir.png

Codice

[modifica]
include <IRremote.h> //includi libreria per sensore di ricezione IR
include <Servo.h> //includi libreria per servomotore
const int sensore = 7; //pin a cui è collegato il sensore IRrecv ricezione (sensore); //definisci la ricezione del sensore decode_results risultato; //decodifica i dati ottenuti Servo servo; //crea l'oggetto servomotore (richiesto dalla libreria) int x = 90; //angolo del range della sbarra


void setup() {

Serial.begin(9600);              //inizializza la porta seriale
ricezione.enableIRIn();          //abilita il sensore IR a ricevere segnali
ricezione.blink13(true);         //ogni volta che riceve un segnale a 16MHz il led sul pin 13 lampeggia
servo.attach (9);                //pin dove è collegato il servomotore
servo.write (0);                 //valore che indica al servo a che gradi deve posizionarsi inizialmente (0°)
delay (1000);                    //applica un delay per il posizionamento
pinMode (12, OUTPUT);            //pin dove è collegato il led verde
pinMode (11, OUTPUT);            //pin dove è collegato il pin rosso

}

void loop() {

if (ricezione.decode(&risultato)) {        //decodifica il valore ricevuto dal sensore 
 Serial.println(risultato.value, HEX);     //se ricevi un segnale scrivilo nella porta seriale 
 ricezione.resume();                       //se non ricevi alcun segnale torna all'inizio dell'if
if (risultato.value == 0x5EA119E6){        //se il risultato della decodifica del segnale è il codice pre assegnato (corrispondente ad un tasto particolare del telecomando)
 digitalWrite (12, HIGH);                  //accendi il led verde
 digitalWrite (11, LOW);                   //spegni il led rosso
for (int i = 0; i < x; i++){               //definisci il movimento verso l'alto della sbarra
 servo.write (i);                          //esegui il movimento
 delay (40);                               //ritardo per impostare la velocità del servomotore
}
}

if (risultato.value == 0x5EA19966) {       //se il risultato della decodifica del segnale è il codice pre assegnato (corrispondente ad un tasto particolare del telecomando)
 digitalWrite (12, LOW);                   //spegni il led verde
 digitalWrite (11, HIGH);                  //accendi il led rosso
 delay (5000);                             //ritardo utile al sorvegliante per bloccare la discesa della sbarra in caso ci sia un veicolo fermo sotto di essa
 for (int i = x; i >=0; i--){              //definisci il movimento verso il basso della sbarra
 servo.write (i);                          //esegui il movimento
 delay (40); }                             //ritardo per impostare la velocità del servomotore
 } 
}
}

Conclusioni

[modifica]

ricapitolando, questo è tutto il necessario per facilitare la vita al sorvegliante potendo alzare e abbassare la sbarra del parcheggio semplicemente con un telecomando o telefono!



boiler elettrico

[modifica]

Questo progetto mira a creare un impianto completo di riscaldamento elettrico per piccoli ambienti, utilizzando la piattaforma programmabile Arduino. Si ha il completo controllo sulla temperatura ambiente e sull' umidità grazie ad un potenziometro ed uno schermo lcd. E' inoltre dotato di sistemi di sicurezza sulla temperatura dell'acqua interna, in modo da evitare in qualsiasi caso il contatto dell'acqua con l'apparato elettrico.

descrizione del progetto

[modifica]

Questo progetto ricrea un impianto di riscaldamento completamente elettrico, in grado di scaldare l'acqua per i servizi e anche quella a circuito chiuso per i radiatori. Tutto è basato sulla board Arduino Uno e una resistenza solitamente usata per riscaldare gli acquari, opportunamente modificata. Grazie a una sonda riusciamo a misurare la temperatura dell'acqua, che viene riportata sullo schermo lcd (è impostato un limite massimo di 60 gradi, onde evitare il surriscaldamento dell'impianto). Il termostato cablato può essere sistemato in qualsiasi parte della stanza e misura temperatura e umidità relativi a quell'ambiente, una volta impostato il valore di temperatura richiesto il sistema si aziona e rimane in funzione fino al raggiungimento della temperatura impostata.

schema di montaggio

[modifica]

codice

[modifica]

<syntaxhighlight lang="arduino" line="1"> int lucentezza = 0; int incremento = 5;

int ledPin = 9; //Il led è connesso al pin 13 int pulsante = 7; //Il pulsante è connesso al pin 7 int val = 0;

void setup () {

 pinMode (9, OUTPUT); // definisce la porta 9 come porta di output
 pinMode(pulsante, INPUT);  //Il pin del pulsante è un'entrata

} void loop() {

 val = digitalRead(pulsante);  //Lettura del pulsante
 if (val == 1) { //Se il valore del pulsante è 1
   analogWrite (9, lucentezza); // invia alla porta 9 una tensione pari a (5/255) * lucentezza
   lucentezza = lucentezza + incremento; // modifica il valore di lucentezza
   if (lucentezza == 0 || lucentezza == 255) {
     incremento = incremento * -1;
   }
   delay (30); //attende 30 millisecondi prima di ricominciare il ciclo
 }
 else {
   digitalWrite(ledPin, LOW);  //Spegni il led
 }

}




DMX controllo luci

[modifica]

in questo progetto andremo a progettare ed assemblare un mini controller per luci da palco, eventi o discoteche, programmabile in base alle esigenze del cliente.

descrizione del progetto

[modifica]

Il progetto mira a creare un impianto completo in grado di dare la giusta atmosfera in base ai bpm della musica riprodotta (bpm = battiti per minuto). Imposteremo quindi una luce soffusa per musica classica con bassi valori di bpm, mentre con alti valori (da 130 in su) lampi luminosi di luce in modo intermittente.

codice

[modifica]