Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Come realizzare un impianto antincendio con Arduino - v1.0
Da papat Ieri a 11:47 am

» Sketch per realizzare un semplice semaforo con Arduino
Da Poderak Dom Feb 26, 2017 6:27 pm

» problemi con stazione meteo e schema arduino
Da Poderak Dom Feb 26, 2017 6:23 pm

» Ethernet Shiel compatibile non pinga
Da Poderak Mer Feb 22, 2017 10:03 am

» FUNZIONE I2C
Da papat Dom Feb 19, 2017 6:21 pm

» Come controllare motori DC con L298N e Arduino
Da Poderak Mer Feb 15, 2017 2:14 pm

» Recensione mini drone Aukey - Video
Da Poderak Sab Feb 11, 2017 7:05 pm

» Recensione gamepad Xbox per PC EasySMX - Video recensione
Da Poderak Sab Feb 11, 2017 7:03 pm

» Lampada tech Aukey LT-T6 - Video recensione
Da Poderak Sab Feb 11, 2017 7:02 pm

I postatori più attivi del mese
Poderak
 
papat
 
Mrskizzo
 
SistemaL
 
Charade
 

Realizzare sirena v4.0 con potenziometro, clacson e display LCD - Arduino

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Realizzare sirena v4.0 con potenziometro, clacson e display LCD - Arduino

Messaggio Da Poderak il Ven Nov 13, 2015 5:13 pm


Il progetto è costituito da un display LCD 16x2, un pulsante per il clacson, un potenziometro per impostare la sirena e ovviamente i suoi relativi led per l'illuminazione. Per quanto riguarda il circuito, essendo "molto concentrato" di fili, vi verrà mostrando come realizzarlo man mano, componente dopo componente. In seguito avremo:
- Come montare il display LCD in Arduino:
Se volete potete consultare anche questo schema per capire come montare il vostro display:

Per quanto riguarda il resto (led, altoparlante, clacson), potete seguire il seguente tutorial in cui viene spiegato come montare il circuito mancante e il software:

La sirena v4.0 è un'evoluzione della sirena v3.0! Per quanto riguarda il software rimane praticamente uguale (con qualche risoluzione a bug) ma viene integrato per fare in modo che ci sia un display LCD a mostrarci tutte le relative modalità. In seguito viene mostrato il codice utilizzato per la sirena v4.0 (dovete semplicemente adattare i PIN con quelli che avete impostato voi nel vostro circuito).
Codice:

/* Titolo: Sirena Arduino v4.0
 * Autore: Poderak
 * Sito: www.youtube.com/MartinoLutero
 */
#include <LiquidCrystal.h>
int tono=7; //Sostituire con PIN dell'altoparlante
int puls=6; //Sostituire con PIN pulsante del clacson
int ledg=10; //Sostituire con PIN del led blu
int ledr=8; //Sostituire con PIN del led rosso
int ledb=9; //Sostituire con PIN led bianco (abbagliante)
int val=0;
int potl=A0; //Sostituire con PIN del potenziometro
int pot=0;
int ciclo=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Sostituire se hai usato altri PIN rispetto allo schema

void setup() {
  pinMode(ledg, OUTPUT);
  pinMode(ledr, OUTPUT);
  pinMode(ledb, OUTPUT);
  pinMode(tono, OUTPUT);
  pinMode(potl, INPUT);
  pinMode(puls, INPUT);
  Serial.begin(9600);
  lcd.begin(16, 2);  
  lcd.print("");
}

void loop() {
  val = digitalRead(puls);
  pot = analogRead(potl);
  

  if (val==0) {
  lcd.setCursor(1,0);
  lcd.print("Modalita' n.:     ");  
   if(pot>=0&&pot<=310) {
  lcd.setCursor(0, 1);  
  lcd.print("1 - Sirena off  ");
  noTone(tono);
  digitalWrite(ledg, LOW);
  digitalWrite(ledr, LOW);
  digitalWrite(ledb, LOW);
  }
  
  if(pot>=311&&pot<=500) {
  lcd.setCursor(0,1);
  lcd.print("2 - Solo luci   ");
    noTone(tono);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(200);
  digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
    delay(200);
  digitalWrite(ledb, LOW);
  }  
  
   if(pot>=501&&pot<=700)
  {
    lcd.setCursor(0,1);
  lcd.print("3 - Luci e suono");
  tone(tono, 550, 800);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(800);
  noTone(tono);
  tone(tono, 750, 800);
  digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
  delay(800);
  noTone(tono);
  digitalWrite(ledb, LOW);
  }

  if(pot>=701&&pot<=960)
  {
        lcd.setCursor(0,1);
  lcd.print("4 - Velocita' x2");
  tone(tono, 550, 200);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(200);
  noTone(tono);
  tone(tono, 750, 200);
  digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
  delay(200);
  noTone(tono);
  digitalWrite(ledb, LOW);  
  }
  
  if(pot>=961&&pot<=1023)
  {
  lcd.setCursor(0,1);
  lcd.print("5 - Automatico  ");
    digitalWrite(ledb, LOW);
  for (ciclo=0; ciclo<=3; ciclo++) {
  tone(tono, 550, 800);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(350);
  noTone(tono);
  tone(tono, 750, 800);
  digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
  delay(350);
  noTone(tono);
  }
  
  digitalWrite(ledb, HIGH);
  tone(tono, 150);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(350);
   digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
  delay(350);
  digitalWrite(ledb, LOW);
  }
  
  }
  
  
  if (val==1) {
  lcd.setCursor(1,0);
  lcd.print("Modalita' n.: *");
  tone(tono, 150);
  digitalWrite(ledb, HIGH);
  digitalWrite(ledg, HIGH);
  digitalWrite(ledr, LOW);
  delay(200);
   digitalWrite(ledg, LOW);
  digitalWrite(ledr, HIGH);
  delay(200);
  }
  
  

  
}

Poderak
♔ Amministratore

Messaggi Messaggi : 4136
Crediti Crediti : 11626
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permesso di questo forum:
Non puoi rispondere agli argomenti in questo forum