Chi è online

Abbiamo 16 visitatori e nessun utente online

A.D.E.L.E.

 

 

A.D.E.L.E.

 

 

AUTORI: Carriero Vito Cosimo

FOTO: 

../Desktop/cartella%20senza%20titolo/cartella%20senza%20titolo/ADELE.jpg

DESCRIZIONE:

A.D.E.L.E. sta per Assistente Domotica Estensioni Longitudinali Elementari. Ha il compito di coprire superfici esposte ad intemperie nel momento in cui inizia a piovere. Grazie ad un telo impermeabile, infatti, Adele fa si che dei panni stesi ad asciugare non vengano bagnati da una pioggia improvvisa.

INGOMBRO: Dipende dalla superficie da coprire.

PROBLEMA CHE RISOLVE: Copre superfici esposte alla pioggia automaticamente

POSSIBILI UTILIZZI: Può essere utilizzata per evitare che dei panni stesi ad asciugare inizino a bagnarsi o che le teste di invitati in una cena estiva all’aperto vengano disturbate dal brusco e inaspettato arrivo della pioggia.

MATERIALI USATI: 

  • HARDWARE : Due motori stepper, un display LCD, rain sensor, una scheda con microcontrollore (ARDUINO UNO), due cinghie di distribuzione, rotelle con cuscinetti, telo impermeabile
  • SOFTWARE : programma autocompilato con IDE ARDUINO

COSTI: 

MATERIALE

N° PEZZI

COSTO UNITARIO

Stepper

2

10,00

Display LCD

1

10,00

Arduino UNO

1

21,00

Rain sensor

1

8,00

Rotelle con cuscinetti

2

15,00

Telo impermeabile

1 (6x3)m

30,00

Cinghie di distribuzione

2

16,00

Alimentazione elettrica

1

8,00

TOTALE

158,00

 

PREREQUISITI:

Conoscenza del linguaggio di programmazione e funzionamento del microcontrollore

CONOSCENZE:

Andamento delle precipitazioni atmosferiche e funzionamento di un circuito. Linguaggio di programmazione in C++.

COMPETENZE ACQUISITE:

  • problem solving
  • collaborative working (abilità di lavorare in gruppo)
  • creatività

 

FONTI: BIBLIOGRAFIA e SITOGRAFIA

http://forum.arduino.cc/index.php?board=34.0

 

APPENDICE: Codice e Istruzioni di montaggio hardware

Codice

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

#include <Stepper.h>

#define STEPS 100

 

LiquidCrystal_I2C lcd(0x27,16,2);

 

Stepper stepper(STEPS, 8, 10, 9, 11);

//per il corretto funzionamento collegare (avendo il prototipo dal verso della scheda) lo stepper1(SX) in questo modo 4-8   3-9   2-10   1-11 lo stepper2(DX) allo stesso modo

 

 

int pinIngresso = A0; //PIN rain-sensor

int pinLed = 3;      //PIN led

int StepDaEseguire;

int pioggia;

int pioggia_pretest=2;

int soglia_pioggia=40;

boolean piove;

boolean piove_pretest=0;

boolean primo_avvio=1;

void setup()  

{

 Serial.begin(9600);

 schermatainiziale();

}

 

void loop()

{

  //alla prima installazione la tenda deve rimanere chiusa e il montaggio deve avvenire in condizioni atmosferiche diverse dallo stato di pioggia

  Serial.println(piove);

  pioggia=analogRead(pinIngresso);

  piove=0;

  Serial.println(pioggia);

  if (pioggia>soglia_pioggia) piove=1;

  if ((((pioggia_pretest<(pioggia-soglia_pioggia))||(pioggia_pretest>(pioggia+soglia_pioggia)))&&(piove!=piove_pretest))||(primo_avvio))

  {

      primo_avvio=0;

      Serial.println(piove);

      piove_pretest= piove;

      switch(piove)

      {

        case 0:

        {

          Serial.println("apri");

           digitalWrite(pinLed, HIGH);

           delay(100);

           digitalWrite(pinLed, LOW);

           delay(100);

           apriadele();

           stepper.setSpeed(300);

           StepDaEseguire = 7500;

           stepper.step(StepDaEseguire);

           aperto();

           break;

        }

        case 1:

        {  

          Serial.println("chiudi");

           digitalWrite(pinLed, LOW);

           chiudiadele();

           stepper.setSpeed(300);

           StepDaEseguire  = -7500;

           stepper.step(StepDaEseguire);

           chiuso();

           break;

        }

     

      }

pioggia_pretest=pioggia;

  }

  delay(5000);

 

}

/* Funzione schermata iniziale */

      void schermatainiziale()

      {

        pinMode(A4,INPUT);

        lcd.init();

        lcd.backlight();

        lcd.begin(16, 2);

        lcd.clear();

           delay(500);

        lcd.setCursor(1, 0);

        lcd.print(" BENVENUTO IN ");

           delay(2000);

        lcd.clear();

        lcd.setCursor(0, 0);

        lcd.print("   A.D.E.L.E. ");

           delay(5000);

        lcd.clear();

        lcd.setCursor(0, 0);

        lcd.print("   IN QUESTO");

        lcd.setCursor(0, 1);

        lcd.print("    MOMENTO");

           delay(3000);

        lcd.clear();

        lcd.setCursor(0, 0);

        lcd.print("    FUORI...");

           delay(4000);

        lcd.clear();

      }

/*Funzione chiusura A.D.E.L.E.*/

void chiudiadele ()

{

  Serial.println("chiudi adele");

  pinMode(A4,INPUT);

lcd.init();

  lcd.clear();

  lcd.backlight();

  lcd.setCursor(1, 0);

  lcd.print("  STA PIOVENDO");

     delay(2000);

  lcd.clear();

  lcd.setCursor(1, 0);

  lcd.print(" STO APRENDO");

  lcd.setCursor(0,1);

  lcd.print("    LA TENDA");

}

/*chiuso*/

void chiuso()

{

   pinMode(A4,INPUT);

   lcd.init();

   lcd.backlight();

   delay(500);

  lcd.clear();

  lcd.setCursor(1, 0);

  lcd.print("    APERTO");

  delay(2000);

}

 

 

/*Funzione apertura A.D.E.L.E.*/

void apriadele()

{

  Serial.println("apri adele");

 pinMode(A4,INPUT);

lcd.init();

  lcd.clear();

  lcd.backlight();

 lcd.setCursor(1, 0);

 lcd.print("   NON STA");

 lcd.setCursor(0, 1);

 lcd.print("    PIOVENDO");

    delay(2000);

 lcd.clear();

 lcd.setCursor(1, 0);

 lcd.print(" STO CHIUDENDO");

 lcd.setCursor(0,1);

 lcd.print("    LA TENDA");

    delay(2000);

 }

 

 /*aperto*/

 void aperto()

 {

  pinMode(A4,INPUT);

lcd.init();

  lcd.clear();

  lcd.backlight();

     delay(500);

  lcd.setCursor(1, 0);

  lcd.print("    CHIUSO");

     delay(2000);

 }

Istruzioni Hardware

La copertura va montata in maniera tale che i motori possano lavorare grazie alle cinghie di distribuzione in direzione longitudinale. Pertanto i motori devono essere posizionati in corrispondenza delle rotelle con i cuscinetti sui quali andranno messe le cinghie. Ai pin 8,9,10,11 vanno collegate le shield dei motori e al pin A0 il jumper del rain-sensor. Infine il display va collegato e alimentato grazie ai pin A4 e A5 dell’Arduino. Il telo va fatto aderire da un’estremità sulle cinghie e sull’altra estremità su un’asta fissa che lo tenga fermo.

 

Copyright © 2019 comakinglab. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Learn more

I understand
@Progetto di "officina didattica creativa" Liceo Scientifico "Vincenzo Lilla" di Oria(BR) Docente: Prof. Domenico APRILE

Please publish modules in offcanvas position.