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
» Trasformare un collegamento di un dislay LCD in uno con I2C
Da papat Ven Ott 20, 2017 7:57 am

» Stray"\226" in programm
Da papat Ven Ott 20, 2017 7:52 am

» Recensione cuffie che non cadono dalle orecchie: Acorce-705C
Da Poderak Gio Ott 19, 2017 9:30 pm

» Anteprima esclusiva Platinum Edition Farming Simulator 17:
Da Poderak Mar Ott 10, 2017 8:59 pm

» Anteprima esclusiva Pure Farming 18 - Scenario Giapponese
Da Poderak Mar Ott 10, 2017 8:57 pm

» Timer relè con arduino
Da Poderak Dom Ott 08, 2017 4:07 pm

» Recensione di Saal-Digital.it
Da Poderak Dom Ott 08, 2017 3:59 pm

» PROBLEMA SU LIBRERIE
Da papat Sab Set 30, 2017 7:16 am

» Recensione luci e bussola militare
Da Poderak Mar Set 19, 2017 10:45 pm

I postatori più attivi del mese
Poderak
 
papat
 
falcio1515
 


ERRORE LiquidCristal _I2C

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

ERRORE LiquidCristal _I2C

Messaggio Da papat il Dom Set 11, 2016 5:32 pm

in questo sketch ho un errore su  lcd init,puoi aiutarmi?

Codice:
// libraries definition
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
 
 
 
// frequency musical notes
#define NOTE_C6  1047
#define NOTE_C3  131
#define NOTE_G3  196
 
// pins definition
int levelSensorPin = 0;
int moistureSensorPin = 1;
int audioPin = 2;
int soggyLEDPin = 3;
int moistsoilLEDPin = 4;
int drysoilLEDPin = 5;
int pumpLEDPin = 6;
int pumpPin = 7;
 
// variables
int levelSensorValue;       // stores the level sensor values
int moistureSensorValue;    // stores the moisture sensor values
int j = 0;
 
// system messages
const char *string_table[] =
{  
  "     Welcome! =)",
  "   Tank LOW level",
  "      Dry soil",
  "     Moist soil",
  "     Soggy soil",
  "The water pump is on",
  "   ArduinoByMyself",
  "   Watering System",
  "    Please wait!"
};
 
// objects definition
RTC_DS1307 RTC;
LiquidCrystal_I2C lcd(0x27,20,4);
 
 
void setup(){
  // serial initialization
  Serial.begin(9600);
 
  // LCD initialization
  lcd.init();         
  lcd.backlight();     // with Backlight
  lcd.clear();         // clearscreen
 
  // Wire initialization
  Wire.begin();
 
  // RTC initialization
  RTC.begin();
  if (!RTC.isrunning()){
    // date and time adjust as the PC computer date and time
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
 
  // Arduino pins initalization
  pinMode(audioPin, OUTPUT);
  pinMode(soggyLEDPin, OUTPUT);
  pinMode(moistsoilLEDPin,OUTPUT);
  pinMode(drysoilLEDPin,OUTPUT);
  pinMode(pumpLEDPin,OUTPUT);
  pinMode(pumpPin,OUTPUT);
 
  // LCD initial messages
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(string_table[6]);
  lcd.setCursor(0,1);
  lcd.print(string_table[7]);
  lcd.setCursor(0,3);
  lcd.print(string_table[0]);
  // initialization delay
  delay(5000);
}
 
 
void loop(){
 
 
  // RTC parameters definition
  DateTime myRTC = RTC.now();
  int H = myRTC.hour();
  int M = myRTC.minute();
  int S = myRTC.second();
 
  // call Clock Function
  //RightHour();
 
  // reads the sensors
  levelSensorValue = analogRead(levelSensorPin);
  moistureSensorValue = analogRead(moistureSensorPin);
 
  // if low water level: plays the low level alarm
  if(levelSensorValue > 600){
    // system messages
    lcd.clear();
    RightHour();
    lcd.setCursor(0,3);
    lcd.print(string_table[1]);
    // plays the alarm sound
    for(int i=0;i<2;i++){
      tone(audioPin, NOTE_G3, 200);
      delay(200);
      tone(audioPin, NOTE_C3, 200);
      delay(200);
      noTone(audioPin);
    }
  }
 
  // check the moisture range
  if(moistureSensorValue >= 700){
    // in case of dry soil:
    // system messages
    lcd.clear();
    RightHour();
    lcd.setCursor(0,3);
    lcd.print(string_table[2]);
    // lights up the correct LED
    digitalWrite(drysoilLEDPin,HIGH);
    digitalWrite(moistsoilLEDPin,LOW);
    digitalWrite(soggyLEDPin,LOW);
    // plays the alarm sound
    tone(audioPin, NOTE_C6, 100);
    delay(250);
    noTone(audioPin);
  }
  if((moistureSensorValue < 700) && (moistureSensorValue >= 300)){
    // in case of moist soil:
    // system messages
    lcd.clear();
    RightHour();
    lcd.setCursor(0,3);
    lcd.print(string_table[3]);
    // lights up the correct LED
    digitalWrite(drysoilLEDPin,LOW);
    digitalWrite(moistsoilLEDPin,HIGH);
    digitalWrite(soggyLEDPin,LOW);
    delay(250);
  }
  if(moistureSensorValue < 300){
    // in case of soggy soil:
    // system messages
    lcd.clear();
    RightHour();
    lcd.setCursor(0,3);
    lcd.print(string_table[4]);
    // lights up the correct LED
    digitalWrite(drysoilLEDPin,LOW);
    digitalWrite(moistsoilLEDPin,LOW);
    digitalWrite(soggyLEDPin,HIGH);
    delay(100);
  }
 
  // if the soil is dry and if it is the right time: turn on the pump for 1 minute
  if((H == 16) && (M == 50) && (S == 00)){
    while(moistureSensorValue >= 700){
      // system messages
      lcd.clear();
      RightHour();
      lcd.setCursor(0,1);
      lcd.print(string_table[8]);
      lcd.setCursor(0,3);
      lcd.print(string_table[5]);
      // turn the pump on
      digitalWrite(pumpPin,HIGH);
      digitalWrite(pumpLEDPin,HIGH);
      delay(10000);
      // if the soil is not moist so far
      // reads the moisture sensor once more
      moistureSensorValue = analogRead(moistureSensorPin);
    }
    // turn the pump off
    digitalWrite(pumpPin,LOW);
    digitalWrite(pumpLEDPin,LOW);
  }
 
}
 
// Real Time Clock Function
void RightHour()
{
  DateTime Now = RTC.now();
  String clock_date = "  Date: ";
  String clock_hour = "   Time: ";
 
  int _day = Now.day();
  int _month = Now.month();
  int _year = Now.year();
 
  clock_date += fixZero(_day);
  clock_date += "/";
  clock_date += fixZero(_month);
  clock_date += "/";
  clock_date += _year;
 
  int _hour = Now.hour();
  int _minute = Now.minute();
  int _second = Now.second();
 
  clock_hour += fixZero(_hour);
  clock_hour += ":";
  clock_hour += fixZero(_minute);
  clock_hour += ":";
  clock_hour += fixZero(_second);
 
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(clock_date);
  lcd.setCursor(0, 1);
  lcd.print(clock_hour);
 
  delay(500);
}
 
 
String fixZero(int i)
{
  String ret;
  if (i < 10) ret += "0";
  ret += i;
  return ret;
}
avatar
papat
Maker

Messaggi Messaggi : 180
Crediti Crediti : 274
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: ERRORE LiquidCristal _I2C

Messaggio Da Poderak il Dom Set 11, 2016 9:25 pm

Ciao, ricorda di inserire il codice nel TAG code:
Codice:
[code][/code]

Non ho ben capito il problema. Che cosa ti dice Ciao!?
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4216
Crediti Crediti : 11770
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

Re: ERRORE LiquidCristal _I2C

Messaggio Da papat il Dom Set 11, 2016 9:38 pm

si ferma su lcd init la inea rosa nello sckecth,poi liquidCristal_I2c i seguito adesso non lo ricordo
avatar
papat
Maker

Messaggi Messaggi : 180
Crediti Crediti : 274
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: ERRORE LiquidCristal _I2C

Messaggio Da papat il Dom Set 11, 2016 9:43 pm

whitin this context
avatar
papat
Maker

Messaggi Messaggi : 180
Crediti Crediti : 274
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: ERRORE LiquidCristal _I2C

Messaggio Da Poderak il Lun Set 12, 2016 2:20 pm

Ho visto che la parentesi del loop non si chiude Ciao!
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4216
Crediti Crediti : 11770
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

Re: ERRORE LiquidCristal _I2C

Messaggio Da papat il Lun Set 12, 2016 3:37 pm

ho risolto era la libreria liquidCrystal_I2c che non era quella giusta.Ciao Grazie
avatar
papat
Maker

Messaggi Messaggi : 180
Crediti Crediti : 274
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedi il profilo dell'utente

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