buona sera gente io non ho ancora imparato ad usare il forum di Arduino. vi chiedo un aiutino ho realizzato un orologio a 24 Led 12 per i minuti e 12 per le ore ma non ho trovato sketch dimentiavo ho installato led indirizzabili ed ho acquistato RTC 1307 vi ringrazio anticipatamente a presto
apri un nuovo post.
Ciao Uwe
Potresti usare i led ws2812, che non sono altri che led RGB che si controllano con un solo pib e si possono collegare in cascata...
Gioele2000:
Potresti usare i led ws2812, che non sono altri che led RGB che si controllano con un solo pib e si possono collegare in cascata...
Ma hai letto bene quello che scrive ? ? ?
Perché ...
elettrospillo:
.... dimenticavo ho installato led indirizzabili ....
... cosa pensi stia usando ? ? ?
Guglielmo
>elettrospillo: Ho diviso io il post dal precedente thread dato che si tratta di argomento diverso. Continua quindi qui.
Guglielmo
buona sera a tutti scusatemi se rispondo solo ora avevo problemi a ritrovare questo post ieri cinque minuti prima di andare a lavoro nel turno di notte per caso google mi ha portato qui. Grazie a tutti e per i consigli e granzie Guglielmo per aver sistemato il post. Allora io praticamente voglio creare un orologio che ho già costruito da più di un anno davvero bellisimo con l'unico problema che per quanto ci ho provato a copiare file e cercare in rete file per il mio lavoro non ho trovato nulla che sia completo per il mio lavoretto tutti i file che ho trovato hanno ardware differenti dai miei o se compatibili erano solo giochi di luci mentre io ho bisogno di un semplice orologio che al massimo come giochi di luce metere i secondi che accenderanno non con LED digitali perche avevo fissato è collegato i LED prima di acquistare i LED indirizzabili. L'unica File che sono riuscito ad inserire e quello che sincronizza l'ora tra PC e RTC che ho notato che perde più di dieci minuti al giorno. scusatemi ancora per la mia inesperienza ner aprire post forum ecc
elettrospillo:
buona sera gente io non ho ancora imparato ad usare il forum di Arduino. vi chiedo un aiutino ho realizzato un orologio a 24 Led 12 per i minuti e 12 per le ore ma non ho trovato sketch dimentiavo ho installato led indirizzabili ed ho acquistato RTC 1307 vi ringrazio anticipatamente a presto
UweFederer:
apri un nuovo post.
Ciao Uwe
Ciao Uwe io mi chiamo Giuseppe sto imparando ad usare il forum Grazie del consigio.
Ciao Giuseppe
>elettrospillo ... emmm ... ti prego poi di considerare che, purtroppo qui NON funziona così ...
... qui nessuno scrive software per conto terzi o realizza schemi su ordinazione, ma si aiuta chi viene qui a correggere/ottimizzare il software che lui scrive o gli schemi che lui realizza
Se non hai mai sviluppato su Arduino, puoi cominciare con QUESTO proseguire con QUESTO e/o acquistare qualche buon libro (es. QUESTO) ... dopo di che puoi cominciare a scrivere il tuo programma, metterlo qui (... mi raccomando, sempre racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone </> ... primo a sinistra) e chiedere aiuto sui punti che non ti funzionano o che non capisci.
Guglielmo
Gioele2000:
Potresti usare i led ws2812, che non sono altri che led RGB che si controllano con un solo pib e si possono collegare in cascata...
Ciao Gioele grazie del consiglio io credo di avee tutto quello che mi serve e o anche imparato ad accendere i Led indirizzabili anche se non ho imparato a far fare più lavori contemporaneamente con arduino.
Ciao Giuseppe
gpb01:
>elettrospillo ... emmm ... ti prego poi di considerare che, purtroppo qui NON funziona così ...
... qui nessuno scrive software per conto terzi o realizza schemi su ordinazione, ma si aiuta chi viene qui a correggere/ottimizzare il software che lui scrive o gli schemi che lui realizzaSe non hai mai sviluppato su Arduino, puoi cominciare con QUESTO proseguire con QUESTO e/o acquistare qualche buon libro (es. QUESTO) ... dopo di che puoi cominciare a scrivere il tuo programma, metterlo qui (... mi raccomando, sempre racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone </> ... primo a sinistra) e chiedere aiuto sui punti che non ti funzionano o che non capisci.
Guglielmo
Si Guglielmo capisco infatti immaginavo che stavo sbagliando in qualcosa non ho esperienze con forum. Io ho sviluppato altri progetti ma meno impegnativi e comunque stavo già cercando dei manuali solo che non sapevo quale scegliere grazie per la dritta appena realizzo il mio software vi contatto dinuovo se ho problemi grazie di cuore e scusatemi per la pretesa a presto
Giuseppe
vi chiedo scuse se continuo ad usare male il post e se ho risposto davvero in ritardo tra un po d'impegni a casa e il tempo di realizzare il mio lavoretto con tutto il materiale che ogni volta dovevo aspettare settimane che mi arrivav a casa non ho potuto rispondere prima.
ho trovato lo uno sketch in rete e l'ho modificato per il mio lavoretto e funziona quasi perfettamente con un solo problema da risolvere ed è la lettura dall RTC ogni volta che spengo Arduino l'ora torna al momento che ho caricato lo sketch.
grazie anticipatamente
int DISPLAY_TIME = 100;
#include <Adafruit_NeoPixel.h>
#include <Wire.h>
#include "RTClib.h"
short alarmPin = A0,
ring_1Pin = 6,
#define DS3231_I2C_ADDRESS 0x68
#define SDA 4
#define SCL 5
brightness = 150; //Maximum brightness of 255
RTC_Millis rtc; //defines the DS1307 as "rtc"
Adafruit_NeoPixel ring_1 = Adafruit_NeoPixel(138, ring_1Pin, NEO_GRB + NEO_KHZ800); //sets all the parameters of the ring
void setup() {
Serial.begin(57600); //sets the rate of output of the serial monitor
//rtc.adjust(DateTime(2016, 9, 1, 23, 51, 0));
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //sets the date and time of the RTC
ring_1.begin(); //Starts the Neopixel ring
ring_1.show(); //Initialize all pixels to 'off'
ring_1.setBrightness(brightness); //sets brightness using variable set earlier
}
void loop(){
DateTime now = rtc.now(); //Sets the date and time using the rtc
displayTime(now.second(), now.minute(), now.hour()); //Displays the current time on the neopixel
//
delay(50); //Delays 50 milliseconds
}
void displayTime(short seconds, short minutes, short hours){ //displayTime() is passed the current second, minute, and hour
reset(); //first clears the neopixel
showSeconds(seconds); //Shows the current second on the neopixel
showMinutes(minutes); //Shows the current minute on the neopixel
showHours(hours, minutes); //Shows the current hour on the neopixel
}
void reset(){ //Clears the neopixel
for(int i=0;i<138;i++) ring_1.setPixelColor(i, ring_1.Color(0,0,0)); //Sets all 12 pixels to rgb 0,0,0
ring_1.show(); //displays new neopixel output
}
void showHours(short hours, short minutes){
hours = hours+((minutes>30)? ((hours+1==24)?0:hours+1):hours);
short pixel = hours;
//if(pixel > 12) pixel -= 12;
// if(pixel > 12) pixel -= 12; //if the hour is greater than 12, subtract 12 (ie 13:00 to 1:00)
//setPixels(pixel, 0, 155, 0); //sets the pixel to red
switch(pixel)
{
case 24:
case 0: setPixels(0, 150, 150, 150);setPixels(1, 150, 150, 150);break;
case 25:
case 1: setPixels(2, 150, 150, 150);setPixels(3, 150, 150, 150);break;
case 26:
case 2:setPixels(4, 150, 150, 150);setPixels(5, 150, 150, 150);break;
case 27:
case 3: setPixels(6, 150, 150, 150);setPixels(7, 150, 150, 150);break;
case 28:
case 4: setPixels(8, 150, 150, 150);setPixels(9, 150, 150, 150);break;
case 29:
case 5: setPixels(10, 150, 150, 150);setPixels(11, 150, 150, 150);break;
case 30:
case 6: setPixels(12, 150, 150, 150);setPixels(13, 150, 150, 150);break;
case 31:
case 7: setPixels(14, 150, 150, 150);setPixels(15, 150, 150, 150);break;
case 32:
case 8: setPixels(16, 150, 150, 150);setPixels(17, 150, 150, 150);break;
case 33:
case 9: setPixels(18, 150, 150, 150);setPixels(19, 150, 150, 150);break;
case 34:
case 10: setPixels(20, 150, 150, 150);setPixels(21, 150, 150, 150);break;
case 35:
case 11: setPixels(22, 150, 150, 150);setPixels(23, 150, 150, 150);break;
case 36:
case 12: setPixels(24, 150, 150, 150);setPixels(25, 150, 150, 150);break;
case 37:
case 13: setPixels(26, 150, 150, 150);setPixels(27, 150, 150, 150);break;
case 38:
case 14:setPixels(28, 150, 150, 150);setPixels(29, 150, 150, 150);break;
case 39:
case 15: setPixels(30, 150, 150, 150);setPixels(31, 150, 150, 150);break;
case 40:
case 16: setPixels(32, 150, 150, 150);setPixels(33, 150, 150, 150);break;
case 41:
case 17: setPixels(34, 150, 150, 150);setPixels(35, 150, 150, 150);break;
case 42:
case 18: setPixels(36, 150, 150, 150);setPixels(37, 150, 150, 150);break;
case 43:
case 19: setPixels(38, 150, 150, 150);setPixels(39, 150, 150, 150);break;
case 44:
case 20: setPixels(40, 150, 150, 150);setPixels(41, 150, 150, 150);break;
case 45:
case 21: setPixels(42, 150, 150, 150);setPixels(43, 150, 150, 150);break;
case 46:
case 22: setPixels(44, 150, 150, 150);setPixels(45, 150, 150, 150);break;
case 47:
case 23: setPixels(46, 150, 150, 150);setPixels(47, 150, 150, 150);break;
ring_1.show();
}
}
void showMinutes(float minutes){
short pixel = floor(minutes); //divides the minute by 5 and floor to give the appropriate pixel
setPixels(pixel + 48, 75, 0, 130); //sets the pixel to blue
}
void showSeconds(int seconds){
short pixel = floor(seconds);
switch(seconds)
{
case 0: setPixels(129, 60, 60, 60);break;
case 1: setPixels(130, 60, 60, 60);break;
case 2: setPixels(131, 60, 60, 60);break;
case 3: setPixels(132, 60, 60, 60);break;
case 4: setPixels(127, 60, 60, 60);break;
case 5: setPixels(133, 60, 60, 60);break;
case 6: setPixels(113, 60, 60, 60);break;
case 7: setPixels(114, 60, 60, 60);break;
case 8: setPixels(115, 60, 60, 60);break;
case 9: setPixels(121, 60, 60, 60);break;
case 10: setPixels(122, 60, 60, 60);break;
case 11: setPixels(123, 60, 60, 60);break;
case 12: setPixels(134, 60, 60, 60);break;
case 13: setPixels(130, 60, 60, 60);break;
case 14: setPixels(131, 60, 60, 60);break;
case 15: setPixels(132, 60, 60, 60);break;
case 16: setPixels(135, 60, 60, 60);break;
case 17: setPixels(136, 60, 60, 60);break;
case 18: setPixels(137, 60, 60, 60);break;
case 19: setPixels(108, 60, 60, 60);break;
case 20: setPixels(109, 60, 60, 60);break;
case 21: setPixels(110, 60, 60, 60);break;
case 22: setPixels(111, 60, 60, 60);break;
case 23: setPixels(112, 60, 60, 60);break;
case 24: setPixels(129, 60, 60, 60);break;
case 25: setPixels(124, 60, 60, 60);break;
case 26: setPixels(125, 60, 60, 60);break;
case 27: setPixels(126, 60, 60, 60);break;
case 28: setPixels(127, 60, 60, 60);break;
case 29: setPixels(128, 60, 60, 60);break;
/* MEZZO MINUTO */
case 30: setPixels(119, 60, 60, 60);break;
case 31: setPixels(120, 60, 60, 60);break;
case 32: setPixels(115, 60, 60, 60);break;
case 33: setPixels(116, 60, 60, 60);break;
case 34: setPixels(117, 60, 60, 60);break;
case 35: setPixels(118, 60, 60, 60);break;
case 36: setPixels(113, 60, 60, 60);break;
case 37: setPixels(114, 60, 60, 60);break;
case 38: setPixels(115, 60, 60, 60);break;
case 39: setPixels(116, 60, 60, 60);break;
case 40: setPixels(117, 60, 60, 60);break;
case 41: setPixels(118, 60, 60, 60);break;
case 42: setPixels(134, 60, 60, 60);break;
case 43: setPixels(130, 60, 60, 60);break;
case 44: setPixels(131, 60, 60, 60);break;
case 45: setPixels(132, 60, 60, 60);break;
case 46: setPixels(127, 60, 60, 60);break;
case 47: setPixels(128, 60, 60, 60);break;
case 48: setPixels(119, 60, 60, 60);break;
case 49: setPixels(120, 60, 60, 60);break;
case 50: setPixels(115, 60, 60, 60);break;
case 51: setPixels(121, 60, 60, 60);break;
case 52: setPixels(122, 60, 60, 60);break;
case 53: setPixels(123, 60, 60, 60);break;
case 54: setPixels(129, 60, 60, 60);break;
case 55: setPixels(130, 60, 60, 60);break;
case 56: setPixels(131, 60, 60, 60);break;
case 57: setPixels(132, 60, 60, 60);break;
case 58: setPixels(127, 60, 60, 60);break;
case 59: setPixels(133, 60, 60, 60);break;
}
}
void setPixels(short pixel, short r, short g, short b){ //displays pixels based on pixel # and rgb values passed to it
ring_1.setPixelColor(pixel, ring_1.Color(r,g,b)); //sets pixels
ring_1.show(); //displays new neopixel output
}
Are these changes needed?
- Delete these - I2C comes from A4, A5.
#define SDA 4
#define SCL 5 - Add to setup(), sets up I2C on A4, A5.
Wire.begin();
CrossRoads:
Are these changes needed?
- Delete these - I2C comes from A4, A5.
#define SDA 4
#define SCL 5- Add to setup(), sets up I2C on A4, A5.
Wire.begin();
the problem may be rtc RTC Millis;?
No, il problema è in questa riga :
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //sets the date and time of the RTC
... ovvero, nel setup, ogni volta che parte ti reimposta data/ora alla data/ora di ... compilazione del codice !!!
Una volta regolato l'RTC, se non si prevedono routine per correggere data/ora, biosogna togliere qualsiasi riga che faccia il set, appunto, di data/ora ... tanto c'è la batteria che mantiene l'RTC funzionante
Guglielmo
gpb01:
No, il problema è in questa riga :rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //sets the date and time of the RTC
... ovvero, nel setup, ogni volta che parte ti reimposta data/ora alla data/ora di ... compilazione del codice !!!
Una volta regolato l'RTC, se non si prevedono routine per correggere data/ora, biosogna togliere qualsiasi riga che faccia il set, appunto, di data/ora ... tanto c'è la batteria che mantiene l'RTC funzionante
Guglielmo
grazie Guglielmo ho risolto stavo per ringraziare tutti e mostrarvi dove sbagliavo. si riguardo quella riga leggendo un pò avevo risolto anche quell problema ovvero un dei problemi l'altro problema che mi dava lo avevo quando staccavo alimentazione che non leggeva l'ora dall RTC ma ben si da Arduino ora me ne manca un altro ed è quello di accendere due led con un comando nel senso che ogni ora o mezz'ora si devono accendere due LED
CrossRoads:
Are these changes needed?
- Delete these - I2C comes from A4, A5.
#define SDA 4
#define SCL 5- Add to setup(), sets up I2C on A4, A5.
Wire.begin();
ok I thank you and I have been the occasion sritto "rtc.begin ();" and replaced the word "RTC_Millis rtc"; with "RTC_DS1307 rtc;". Now it's working I hope nothing changes files thanks