-
AutorePost
-
5 Giugno 2020 alle 21:00 #9152
oriolo20
Partecipante<di un qualsiasi display> quindi metto tutto in parallelo i vari “numeri” sull uscita della 7441 !!
<visualizzare anche la temperatura>
vorrei mantenere per questo progettino il vintage, quindi solo ora al max come ho scritto la data solo per 5 secondi ogni minuto5 Giugno 2020 alle 22:32 #9154Amilcare
Amministratore del forumSi tutti in parallelo poi attivi di volta in volta la sola cifra da visualizzare
6 Giugno 2020 alle 19:07 #9156Picmicro675
ModeratoreProblematiche che intravedo sono come interfacciare orario di rtc con esp o gps per correzione/sovrappososizione orario che arriva da esp o gps senza perdite di dati. Poi gestione multiplexer.
Il discorso si ripete. Aggiornati come funziona il multiplexing. In effetti si arriva ad accendere (per dispositivi luminosi), rilevare contatti (per dispositivi di contatto) uno alla volta per una determinata riga quando una colonna diventa attiva.
Allora tutti i catodi per una determinata cifra sono in comune, sarà la colonna a determinare quale diventa attiva in un determinato istante. Infine ci sono 6 colonne che sono gestite in maniera che si deve accendere una sola. Negli ultimi schemi questo lo decidono le uscite D2~D7 (tutt’e sei),
Poi per quanto riguarda le linee di informazione, si cita (come nella discussione separata) quali linee si possono impegnare. Dai miei esperimenti, la ESP non è affidabile sulla UART, in special modo con il FW dei comandi AT.
Per questo su questo caso ho previsto che se ne parli in quella discussione.8 Giugno 2020 alle 18:36 #9160oriolo20
Partecipante<Problematiche che intravedo > si confermo tante, e sicuramente superabili.
In procinto dell arrivo dell ormai “famoso ” pcb ho fatte delle semplici prove sempre utilizzando UNO, con il modulo NEO GPS dotato di antenna con attacco SMA, sicuramente migliore rispetto a quello con antenna quasi solidale al modulo.
Funziona sempre, fatto un pò copia e incolla da web e adattato al mio lcd sketch dove ho sempre data e ora perfetti, o quasi solo due ore indietro per fusorario non corretto, come posso ovviare?
Il secondo sketch controllo con conteggio da zero a 9 una nixia utilizzando una 7441.
Posso postare sketch qui come listato o come faccio per magari inviarli come files?8 Giugno 2020 alle 20:15 #9164Amilcare
Amministratore del forumCrea una cartella complessa la carichi sul sito e ne posti il link nel messaggio
10 Giugno 2020 alle 8:55 #917510 Giugno 2020 alle 19:18 #9185oriolo20
Partecipanteal momento eccolo, mi segna solo per non corretto fuso orario due ore indietro…
// Arduino GPS real time clock with NEO-6M GPS module, inserito anche time zone ma mi da errore, in ogni caso tale modulo ripeto quello con attacco antenna sma è un miracolo di tecnologia.#include <TinyGPS++.h> // Include TinyGPS++ library #include <SoftwareSerial.h> // Include software serial library #include <LiquidCrystal.h> // Include LCD library #include <Adafruit_GPS.h> TinyGPSPlus gps; #define S_RX 12 // cambiati per prg oriolo nano Define software serial RX pin #define S_TX 13 // cambiati per prg oriolo nano Define software serial TX pin SoftwareSerial SoftSerial(S_RX, S_TX); // Configure SoftSerial library #define LCD_ADDRESS 0x27 #define LCD_ROWS 4 #define LCD_COLUMNS 20 #define LCD_BACKLIGHT 1 #include <LiquidCrystal_PCF8574.h> LiquidCrystal_PCF8574 lcd(LCD_ADDRESS); // LCD I2 byte last_second; char Time[] = "TIME:00:00:00"; char Date[] = "DATA:00/00/2000"; void setup(void) { SoftSerial.begin(9600); // set up the LCD's number of columns and rows //lcd.begin(16, 4); //lcd.setCursor(0, 0); lcd.begin(LCD_COLUMNS, LCD_ROWS); // backlight turned on lcd.setBacklight(LCD_BACKLIGHT); lcd.print(Time); // Display time lcd.setCursor(0, 2); // cambio riga da 1 a 4 // lcd.print(Date); // Display calendar } void loop() { while (SoftSerial.available() > 0) { if (gps.encode(SoftSerial.read())) { if (gps.time.isValid()) { Time[5] = gps.time.hour() / 10 + 48; Time[6] = gps.time.hour() % 10 + 48; Time[8] = gps.time.minute() / 10 + 48; Time[9] = gps.time.minute() % 10 + 48; Time[11] = gps.time.second() / 10 + 48; Time[12] = gps.time.second() % 10 + 48; } if (gps.date.isValid()) { Date[5] = gps.date.day() / 10 + 48; Date[6] = gps.date.day() % 10 + 48; Date[8] = gps.date.month() / 10 + 48; Date[9] = gps.date.month() % 10 + 48; Date[13] =(gps.date.year() / 10) % 10 + 48; Date[14] = gps.date.year() % 10 + 48; } if(last_second != gps.time.second()) { last_second = gps.time.second(); lcd.setCursor(0, 0); lcd.print(Time); // Display time lcd.setCursor(0, 1); lcd.print(Date); // Display calendar } } } }
10 Giugno 2020 alle 19:35 #9188oriolo20
PartecipanteAnche la RTC 3231 è un altro gioiello, sperimentata per più di un mese, con cambi di temperatura forzata, dai raggi del sole + 30 °C a 10 °C sempre orario perfetto, ho utilizzato anche uscita 1PPS collegato al primo contatore del mio vecchio orologio, precisione nell’arco di 40 giorni – 1 secondo rispetto all’ora esatta.
// semplice test con 7441. andata a buon fine, gestita da UNO conta da 0 -9 con varie frequenze// Primo step per multiplexervoid setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); Serial.begin(9600); } void loop() { for(int i = 0; i < 10; i++) { Serial.println(i); PORTB = i; delay(700); } }
-
AutorePost
- Devi essere connesso per rispondere a questo topic.