Cerca nel forum:
Acquaportal - Forum e Community

  





Benvenuti sul Forum di AcquaPortal, la più grande community italiana di acquariofilia!
Sul Forum di AcquaPortal puoi discutere con altri appassionati di acquariofilia, tenere un tuo Blog personale, inserire foto e video, chattare, ed aiutarci a creare un grande database con schede di pesci, invertebrati e prodotti di acquariofilia.


Per entrar a far parte della comunità occorre registrarsi.
Per farlo premi su

Registrazione


Al momento della registrazione ti verrà richiesto di accettare il Regolamento che ti consigliamo di leggere attentamente.
Ti consigliamo inoltre di leggere le FAQ per apprendere le funzionalità principali del forum.
Se invece sei un utente registrato e hai dimenticato i tuoi dati di accesso devi effettuare il Recupero dati.




Fai da te marino Per parlare delle tecniche di costruzione artigianale, per presentare le vostre realizzazioni, e per avere informazioni su dove reperire materiale ed attrezzatura risparmiando tempo e denaro.

Rispondi
Condividi Opzioni Visualizzazione
 
Vecchio 08-02-2014, 13:41   #1
Niko79
Guppy
 
Registrato: Nov 2009
Città: Augusta
Acquariofilo: Marino
Messaggi: 273
Foto: 0 Albums: 0
Post "Grazie" / "Mi Piace"
Grazie (Dati): 0
Grazie (Ricev.): 1
Mi piace (Dati): 1
Mi piace (Ricev.): 1
Mentioned: 0 Post(s)
Feedback 0/0%

Annunci Mercatino: 0
Perfetto, dopo che hai creato le due schede inserendo rispettivamente l'interfaccia e l'implementazione della classe, importa la classe e crea l'oggetto plafo sul codice principale ad esempio cosi:

codice:
#include <Wire.h>
#include "RTClib.h"
#include "Plafo.h"

RTC_DS1307 RTC;
Plafo plafo;//Plafoniera
Sul metodo setup configura i canali ad esempio cosi:
codice:
void setup () {
//Configurazione plafoniera
//Channel,startHour,startMinute,endHour,endMinute,fadeLen,maxPWM,pin
  plafo.setChannel(blue,18,0,4,0,30,180,7);//Dalle 18.00 alle 4.00, alba/tramonto 30 minuti, pwm massimo 180, pin 7  
  plafo.setChannel(white,18,15,3,45,75,180,5);//Dalle 18.15 alle 3.45, alba/tramonto 75 minuti
  plafo.setChannel(uv,19,30,2,30,0,HIGH,22);//Dalle 19.30 alle 2.30, accensione immediata, pin 22 (digitale)
  plafo.setChannel(moon,4,10,7,0,0,HIGH,23);//Dalle 4.10 alle 7.00

Serial.begin(57600);
Wire.begin();
RTC.begin();
....
sul ciclo loop esegui quindi il metodo perform dell'oggetto plafo passando l'ora ottenuta con l'RTC:
codice:
void loop () {
DateTime now = RTC.now();

plafo.perform(now.hour(), now.minute(), now.second());
...
__________________
IO USERO' ACQUA DEL NOSTRO MARE
IO USERO' SABBIA DEL NOSTRO MARE
Niko79 non è in linea   Rispondi quotando
Vecchio 08-02-2014, 17:35   #2
Barclay
Guppy
 
L'avatar di Barclay
 
Registrato: Jul 2010
Città: potenza
Acquariofilo: Marino
Età : 53
Messaggi: 120
Foto: 0 Albums: 0
Post "Grazie" / "Mi Piace"
Grazie (Dati): 0
Grazie (Ricev.): 0
Mi piace (Dati): 1
Mi piace (Ricev.): 0
Mentioned: 0 Post(s)
Feedback 0/50%

Annunci Mercatino: 0
Ho fatto così:
codice:
#include "Plafo.h"
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

Plafo plafo;

void setup(void) {
  
  Serial.begin(57600);
  Wire.begin();
  RTC.begin();
  
  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
 
 
  //Channel,startHour,startMinute,endHour,endMinute,fadeLen,maxPWM,pin
  plafo.setChannel(blue,18,0,4,0,30,180,7);//Dalle 18.00 alle 4.00, alba/tramonto 30 minuti, pwm massimo 180, pin 7  
  plafo.setChannel(white,18,15,3,45,75,180,5);//Dalle 18.15 alle 3.45, alba/tramonto 75 minuti
  plafo.setChannel(uv,19,30,2,30,0,HIGH,22);//Dalle 19.30 alle 2.30, accensione immediata, pin 22 (digitale)
  plafo.setChannel(moon,4,10,7,0,0,HIGH,23);//Dalle 4.10 alle 7.00
}

void loop(void) {
  
  DateTime now = RTC.now();
 
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
 
    Serial.print(" since 1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
 
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
 
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
 
    Serial.println();
    delay(1000);

  
  
  //Sostituire "hour","minute", "second" con le variabili dichiarate sul vostro progetto, che contengono rispettivamente l'ora, i minuti e i secondi correnti.
  plafo.perform(8,0,0);

}
ma mi da una sfilza di errori...
il formato orario che inserisco a fine codice è corretto?
Scusa, ma come puoi immaginare sono proprio ai primordi.
------------------------------------------------------------------------
Ecco gli errori

codice:
Plafo\plafo.cpp.o: In function `Plafo::elapsedTimeToSecond(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:91: multiple definition of `Plafo::elapsedTimeToSecond(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:91: first defined here
c:/programmi/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
Plafo\plafo.cpp.o: In function `Plafo::performChannel(void*, unsigned char, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:49: multiple definition of `Plafo::performChannel(void*, unsigned char, unsigned char, unsigned char)'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:49: first defined here
Plafo\plafo.cpp.o: In function `Plafo::perform(unsigned char, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:37: multiple definition of `Plafo::perform(unsigned char, unsigned char, unsigned char)'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:37: first defined here
Plafo\plafo.cpp.o: In function `Plafo::elapsedTimeToSecond(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:91: multiple definition of `lastSecond'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:91: first defined here
Plafo\plafo.cpp.o: In function `Plafo::elapsedTimeToSecond(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:91: multiple definition of `channels'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:91: first defined here
Plafo\plafo.cpp.o: In function `Plafo::setChannel(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char, unsigned char)':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:24: multiple definition of `Plafo::setChannel(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char, unsigned char)'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:24: first defined here
Plafo\plafo.cpp.o: In function `Plafo':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:14: multiple definition of `Plafo::Plafo()'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:14: first defined here
Plafo\plafo.cpp.o: In function `Plafo':
C:\Programmi\Arduino\libraries\Plafo/plafo.cpp:14: multiple definition of `Plafo::Plafo()'
plafo.cpp.o:C:\DOCUME~1\Piero\IMPOST~1\Temp\build8057541304359831578.tmp/plafo.cpp:14: first defined here

Ultima modifica di Barclay; 08-02-2014 alle ore 17:37. Motivo: Unione post automatica
Barclay non è in linea   Rispondi quotando
Vecchio 08-02-2014, 17:46   #3
Niko79
Guppy
 
Registrato: Nov 2009
Città: Augusta
Acquariofilo: Marino
Messaggi: 273
Foto: 0 Albums: 0
Post "Grazie" / "Mi Piace"
Grazie (Dati): 0
Grazie (Ricev.): 1
Mi piace (Dati): 1
Mi piace (Ricev.): 1
Mentioned: 0 Post(s)
Feedback 0/0%

Annunci Mercatino: 0
Perche hai modificato il metodo perform cosi:
plafo.perform(8,0,0);
Devi lasciare come ti ho suggerito, inviando l'orario sempre aggiornato del RTC.
Hai inserito le due schede con l'interfaccia e l'implementazione della classe plafo ?
Dal messaggio di errore sembrerebbe che hai creato la classe da qualche altra parte.
__________________
IO USERO' ACQUA DEL NOSTRO MARE
IO USERO' SABBIA DEL NOSTRO MARE
Niko79 non è in linea   Rispondi quotando
Vecchio 08-02-2014, 23:35   #4
Barclay
Guppy
 
L'avatar di Barclay
 
Registrato: Jul 2010
Città: potenza
Acquariofilo: Marino
Età : 53
Messaggi: 120
Foto: 0 Albums: 0
Post "Grazie" / "Mi Piace"
Grazie (Dati): 0
Grazie (Ricev.): 0
Mi piace (Dati): 1
Mi piace (Ricev.): 0
Mentioned: 0 Post(s)
Feedback 0/50%

Annunci Mercatino: 0
allora non ho capito, credevo di dover impostare un orario e sostituire hour, minute, second.

Lasciando come dici mi da questo:


Barclay non è in linea   Rispondi quotando
Rispondi

Tag
aggiornata , aquarduino , base , gestione , libreria , plafoniera , reload

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smile sono attive
Il codice IMG è attivo
il codice HTML è disattivato

Vai a



















Tutti gli orari sono GMT +2. Attualmente sono le 06:09. Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal Feedback Buttons provided by Advanced Post Thanks / Like v3.5.0 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.2.5 Patch Level 2 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl
Page generated in 0,18496 seconds with 14 queries