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
» Recensione luci e bussola militare
Da Poderak Mar Set 19, 2017 10:45 pm

» Inserire data, ora RTC ds 3231
Da Poderak Gio Set 14, 2017 10:05 pm

» Recensione mouse per ufficio wireless di Amir
Da Poderak Mar Set 12, 2017 10:36 pm

» Attenti alle truffe di Instagram: Falsi profili regalano BUONI fake
Da Poderak Gio Set 07, 2017 9:43 pm

» Recensione cuffie sportive Choetech
Da Poderak Lun Set 04, 2017 10:51 pm

» Bussola militare, luci potenti e per la sopravvivenza
Da Poderak Lun Set 04, 2017 12:30 pm

» Recensione rivista MakersMag.it
Da Poderak Gio Ago 31, 2017 7:48 pm

» Guida in italiano per pilotare il Parrot Swing
Da Poderak Dom Ago 27, 2017 9:06 pm

» Guida in italiano per pilotare il Parrot Mambo
Da Poderak Dom Ago 27, 2017 9:01 pm

I postatori più attivi del mese
Poderak
 
papat
 


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);
  }
  
  

  
}
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4208
Crediti Crediti : 11754
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi 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


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum