Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Amazon
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Meglio Android o iOS? Video spiegazione
Da Admin Ieri alle 9:52 pm

» Primo gameplay Platinum Edition - Farming Simulator 2017
Da Admin Ieri alle 9:47 pm

» Errore sketch braccio robotico
Da papat Mer Nov 15, 2017 3:39 pm

» Miglior smartphone sotto i €150 - 2017
Da Admin Sab Nov 11, 2017 10:50 am

» Miglior smartphone sotto i €100 - 2017
Da Admin Ven Nov 10, 2017 10:10 pm

» Recensione protettore RFID
Da Entop Dom Ott 29, 2017 10:01 pm

» Presentati al forum
Da Entop Dom Ott 29, 2017 9:40 pm

» Formato delle recensioni Amazon consigliato
Da Admin Dom Ott 29, 2017 4:12 pm

» Come localizzare in diretta i propri contatti di Whatsapp
Da Admin Sab Ott 28, 2017 9:35 pm

I postatori più attivi del mese
Admin
 
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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
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