#include <LiquidCrystal.h>
#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h> // a basic DS1307 library that returns time as a time_t
int ledPin3 = 8; // pin led lunare
int ledPin = 9; // LED prima fila connessi al pin 9
int ledPin4 = 6; // pin led uv, red, gree, blu
int ledPin2 = 10; // LED seconda fila connessi al pin 10
int analogPin = 2; // potentiometer connected to analog pin A2
int analogPin2 = 1; //secondo potenziometro connesso al pin A1
int val = 0; // variable to store the read value
int val2 = 0; // variabile per il secondo potenziometro
LiquidCrystal LCD(12,11,5,4,3,2);
void setup()
{
Serial.begin(9600); //inizializza la comunicazione seriale tra Arduino e pc per trasferire i dati da 'stampare' sul monitor
pinMode(analogPin, INPUT); // setta il pin come ingresso
pinMode(ledPin, OUTPUT); // sets the pin as output
pinMode(ledPin2, OUTPUT); // output pin 2
pinMode(ledPin3, OUTPUT); // uscita led lunare
LCD.begin (16,2);
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
}
void loop()
{
LCD.setCursor(0,0);
digitalClockDisplay();
delay(1000);
int pinState = analogRead(analogPin);
val = analogRead(analogPin); // read the input pin
Serial.println(100 - pinState / 10); //scrive la percentuale di potenza utilizzata dai led
delay(1); // intervallo di un ms dopo la scrittura
if (val >= 980)
{
digitalWrite (ledPin, HIGH);
}
else
{
analogWrite(ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}
if (val >= 980)
{
digitalWrite (ledPin2, HIGH);
}
else
{
analogWrite(ledPin2, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}
if (val >= 980)
{
digitalWrite (ledPin4, HIGH);
}
if (val <= 979 or val >= 650)
{
analogWrite (ledPin4, val / 4);
}
else
{
analogWrite(ledPin4, val / 4 + 10); //per avere un pò meno potenza nella fila dei led colorati faccio passare un pò meno corrente
//quindi se agli altri arriverà 100 quiverà fatto passare 90 cioè 100-10
}
{
val2 = analogRead(analogPin2);
}
val = analogRead(analogPin);
if (val >= 800)
{
digitalWrite (ledPin3,HIGH);
}
else
{
digitalWrite (ledPin3, LOW);
}
}
void digitalClockDisplay(){
// digital clock display of the time
LCD.print(hour());
printDigits(minute());
printDigits(second());
LCD.print(" ");
LCD.setCursor(0,1);
LCD.print(day());
LCD.print(" ");
LCD.print(month());
LCD.print(" ");
LCD.print(year());
LCD.println();
}
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0
LCD.print(":");
if(digits < 10)
LCD.print('0');
LCD.print(digits);
}
Mancandomi le librerie non posso controllare se compila e se funziona.
Ho semplicemente unito i due sketch e le funzioni setup e loop che devono essere uniche.