-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
válasz
Scooter86101 #13313 üzenetére
Tudnátok ajánlani bevált 5V-os boost és buck konvertert meg 18650-es akksit Aliról a kollégának?
-
válasz
Scooter86101 #13313 üzenetére
-
válasz
Scooter86101 #13309 üzenetére
Teljesen kizárt.
Ezt magadnak kell megoldanod.
-
válasz
Scooter86101 #13302 üzenetére
Ha minden igaz ennek működnie kell. Tesztelni nem tudtam, mert nincs nálam a hardver.
#include <TM1638.h>
TM1638 module(9, 8, 7);
byte display[8];
char cadena[20];
int alarma,contador,time1;
#define MILED 13
#define PIN_SOUND 12
//#define RETRASO 597
#define RETRASO 97
char fcontador;
void setup()
{
pinMode(MILED, OUTPUT);
pinMode(PIN_SOUND, OUTPUT);
digitalWrite(MILED, LOW);
module.setupDisplay(1,7);
module.setDisplayToString("L.u.L.u.",0,0);
delay(1500);
module.setDisplayToString("--------",0,0);
display[2]=0;
alarma=60;
}
void loop()
{
byte keys;
int z;
keys = module.getButtons();
switch(keys)
{
case 1:
if(fcontador==0)
{display[0]++; if(display[0]>2) display[0]=0;}
break;
case 2:
if(fcontador==0)
{display[1]++; if(display[1]>9) display[1]=0;}
break;
case 4:
if(fcontador==0)
{display[2]++; if(display[2]>5) display[2]=0;}
break;
case 8:
if(fcontador==0)
{display[3]++; if(display[3]>9) display[3]=0;}
break;
case 16:
fcontador=0;
contador=alarma;
digitalWrite(MILED, LOW);
module.setLEDs(16);
break;
case 128:
time1=RETRASO;
fcontador=1;
contador=alarma;
digitalWrite(MILED, LOW);
module.setLEDs(128);
break;
}
if(fcontador==0 && keys>0)
{
alarma=display[0]*600+display[1]*60+display[2]*10+display[3];
//sprintf(cadena,"%04d%04d",alarma,contador);
sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
module.setDisplayToString(cadena,0,0);
delay(200);
}
time1--;
// {if(display[2]>5) display[2]=0;}
if(fcontador==1 && time1<=0)
{
module.setLEDs(0);
time1=RETRASO;
contador--;
//sprintf(cadena,"%04d%04d",alarma,contador);
sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
module.setDisplayToString(cadena,0,0);
if(contador<1)
{
fcontador=0;
for(z=0;z<10;z++)
{
//sprintf(cadena,"%04d0000",alarma);
sprintf(cadena, "%01d%01d%01d%01d0000", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
delay(500);
//sprintf(cadena,"%04d ",alarma);
sprintf(cadena, "%01d%01d%01d%01d ", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
delay(500);
}
//sprintf(cadena,"%04d----",alarma);
sprintf(cadena, "%01d%01d%01d%01d----", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
digitalWrite(MILED,HIGH);
for(z=0;z<300;z++)
{
digitalWrite(PIN_SOUND, HIGH);
delay(10);
digitalWrite(PIN_SOUND, LOW);
delay(10);
}
}
}
delay(1);
} -
válasz
Scooter86101 #13296 üzenetére
Tudom, percben adod meg és másodpercben írja ki. De legalább nem ír hülyeséget.
Most van időm, megnézem rendesen. -
válasz
Scooter86101 #13289 üzenetére
Ezt Te már módosítottad? Az idő beállítás részben már át van írva perc/másodpercre, csak a többi rész nincs hozzá igazítva.
Most épp telefonról vagyok, a leggyorsabb módosítás amit innen tudok javasolni ez lenne:
A 68. sort írd át erre:alarma=display[0]*600+display[1]*60+display[2]*10+display[3];
Akkor perc/másodpercben adod meg az időt, de másodpercben fog visszaszámlálni.
-
lmaresz
aktív tag
válasz
Scooter86101 #13289 üzenetére
Szia!
Szerintem rosszul értelmezed a kiírást, ugyanis a kijelzőkre másodpercben van kiírva a hátralévő idő, nem perc:másodperc formátumban. Tehát teljesen normális, hogy 101...100...99 a kijelzőn lévő szám. -
válasz
Scooter86101 #13271 üzenetére
Szia! Én szívesen segítek benne, ha tudok, feltéve, hogy nem fizetsz érte, mert az hirdetésnek minősülne, ami ugyebár a szakmai topikokban tiltott...
-
válasz
Scooter86101 #13138 üzenetére
Hát nincsen benne semmi hókusz-pókusz, annyi a munka, hogy egy dátumról el kell döntened, hogy téli vagy nyári idő. Ezek pontosan definiált időpontok, ill. még le kell tárolni, hogy az átállás megtörtént-e. Ha van RAM az RTC-ben akkor le lehet tárolni ott is, vagy a nano EEPROM-jában. A tuti az volna, ha az RTC tudná triggerelni a nanot, mikor átlépi a határt, és akkor rögtön meg is változtatod az időszámítást, és visszaírod az RTC-be. Ha az RTC-d nem tud ilyet, akkor marad a periodikus lekérdezés. Vagy az RTC-ben UTC-t tárolsz, és kiolvasáskor konvertálsz, de ha jól értettem, te nem ezt szeretnéd.
-
válasz
Scooter86101 #13132 üzenetére
Kódom nincs, sajnos csak fapados megoldásra van ötletem, de azzal gondolom nem vagy kisegítve.
-
válasz
Scooter86101 #13130 üzenetére
Klasszikus arduino alatt a sima uno/nano/etc-t érted?
-
mprrpm
tag
válasz
Scooter86101 #12325 üzenetére
Ne pötyögj tessék:
const char* const mainevnap[][31] = {
/*január*/ {"Fruzsina", "Ábel", "Benjámin, Genovéva", "Leóna, Titusz", "Simon", "Boldizsár", "Attila, Ramóna", "Gyöngyvér", "Marcell", "Melánia", "Ágota", "Ernő", "Veronika", "Bódog", "Lóránd, Lóránt", "Gusztáv", "Antal, Antónia", "Piroska", "Márió, Sára", "Fábián, Sebestyén", "Ágnes", "Artúr, Vince", "Rajmund, Zelma", "Timót", "Pál", "Paula, Vanda", "Angelika", "Karola, Károly", "Adél", "Martina", "Gerda, Marcella"},
/*február*/ {"Ignác", "Aida, Karolina", "Balázs", "Csenge, Ráhel", "Ágota, Ingrid", "Dóra, Dorottya", "Rómeó, Tódor", "Aranka", "Abigél, Alex", "Elvira", "Bertold, Marietta", "Lídia, Lívia", "Ella, Linda", "Bálint, Valentin", "Georgina, Kolos", "Julianna, Lilla", "Donát", "Bernadett", "Zsuzsanna", "Aladár, Álmos", "Eleonóra", "Gerzson", "Alfréd", "Mátyás", "Géza", "Edina", "Ákos, Bátor", "Elemér"},
/*március*/ {"Albin", "Lujza", "Kornélia", "Kázmér", "Adorján, Adrián", "Inez, Leonóra", "Tamás", "Zoltán", "Fanni, Franciska", "Ildikó", "Szilárd", "Gergely", "Ajtony, Krisztián", "Matild", "Kristóf", "Henrietta", "Gertrúd, Patrik", "Ede, Sándor", "Bánk, József", "Klaudia", "Benedek", "Beáta, Izolda", "Emőke", "Gábor, Karina", "Irén, Írisz", "Emánuel", "Hajnalka", "Gedeon, Johanna", "Auguszta", "Zalán", "Árpád"},
/*április*/ {"Hugó", "Áron", "Buda, Richárd", "Izidor", "Vince", "Bíborka, Vilmos", "Herman", "Dénes", "Erhard", "Zsolt", "Leó, Szaniszló", "Gyula", "Ida", "Tibor", "Anasztázia, Tas", "Csongor", "Rudolf", "Andrea, Ilma", "Emma", "Tivadar", "Konrád", "Csilla, Noémi", "Béla", "György", "Márk", "Ervin", "Zita", "Valéria", "Péter", "Katalin, Kitti"},
/*május*/ {"Fülöp, Jakab", "Zsigmond", "Irma, Tímea", "Flórián, Mónika", "Adrián, Györgyi", "Frida, Ivett", "Gizella", "Mihály", "Gergely", "Ármin, Pálma", "Ferenc", "Pongrác", "Imola, Szervác", "Bonifác", "Szonja, Zsófia", "Botond, Mózes", "Paszkál", "Alexandra, Erik", "Ivó, Milán", "Bernát, Felícia", "Konstantin", "Júlia, Rita", "Dezső", "Eliza, Eszter", "Orbán", "Evelin, Fülöp", "Hella", "Csanád, Emil", "Magdolna", "Janka, Zsanett", "Angéla"},
/*júnuis*/ {"Tünde", "Anita, Kármen", "Klotild", "Bulcsú", "Fatime", "Cintia, Norbert", "Róbert", "Medárd", "Félix", "Gréta, Margit", "Barnabás", "Villő", "Anett, Antal", "Vazul", "Jolán, Vid", "Jusztin", "Alida, Laura", "Arnold, Levente", "Gyárfás", "Rafael", "Alajos, Leila", "Paulina", "Zoltán", "Iván", "Vilmos", "János, Pál", "László", "Irén, Levente", "Péter, Pál", "Pál"},
/*július*/ {"Annamária, Tihamér", "Ottó", "Kornél, Soma", "Ulrik", "Emese, Sarolta", "Csaba", "Apollónia", "Ellák", "Lukrécia", "Amália", "Lili, Nóra", "Dalma, Izabella", "Jenő", "Örs, Stella", "Henrik, Roland", "Valter", "Elek, Endre", "Frigyes", "Emília", "Illés", "Dániel, Daniella", "Magdolna", "Lenke", "Kincső, Kinga", "Jakab, Kristóf", "Anikó, Anna", "Liliána, Olga", "Szabolcs", "Flóra, Márta", "Judit, Xénia", "Oszkár"},
/*augusztus*/ {"Boglárka", "Lehel", "Hermina", "Dominika, Dominik, Domonkos", "Krisztina", "Berta, Bettina", "Ibolya", "László", "Emőd", "Lőrinc", "Tiborc, Zsuzsanna", "Klára", "Ipoly", "Marcell", "Mária", "Ábrahám", "Jácint", "Ilona", "Huba", "István", "Hajna, Sámuel", "Menyhért, Mirjam", "Bence", "Bertalan", "Lajos, Patrícia", "Izsó", "Gáspár", "Ágoston", "Beatrix, Erna", "Rózsa, Letti", "Bella, Erika"},
/*szeptember*/ {"Egon, Egyed", "Dorina, Rebeka", "Hilda", "Rozália", "Lőrinc, Viktor", "Zakariás", "Regina", "Adrienn, Mária", "Ádám", "Hunor, Nikolett", "Teodóra", "Mária", "Kornél", "Roxána, Szeréna", "Enikő, Melitta", "Edit", "Zsófia", "Diána", "Vilhelmina", "Friderika", "Máté, Mirella", "Móric", "Tekla", "Gellért, Mercédesz", "Eufrozina, Kende", "Jusztina, Pál", "Adalbert", "Vencel", "Mihály", "Jeromos"},
/*október*/ {"Malvin", "Petra", "Helga", "Ferenc", "Aurél", "Brúnó, Renáta", "Amália", "Koppány", "Dénes", "Gedeon", "Brigitta", "Miksa", "Ede, Kálmán", "Helén", "Teréz", "Gál", "Hedvig", "Lukács", "Nándor", "Vendel", "Orsolya", "Előd", "Gyöngyi", "Salamon", "Bianka, Blanka", "Dömötör", "Szabina", "Simon, Szimonetta", "Nárcisz", "Alfonz", "Farkas"},
/*november*/ {"Marianna", "Achilles", "Győző", "Károly", "Imre", "Lénárd", "Rezső", "Zsombor", "Tivadar", "Réka", "Márton", "Jónás, Renátó", "Szilvia", "Aliz", "Albert, Lipót", "Ödön", "Gergely, Hortenzia", "Jenő", "Erzsébet, Elizabet", "Jolán", "Olivér", "Cecília", "Kelemen, Klementina", "Emma", "Katalin", "Virág", "Virgil", "Stefánia", "Taksony", "Andor, András"},
/*december*/ {"Elza", "Melinda, Vivien", "Ferenc, Olívia", "Barbara, Borbála", "Vilma", "Miklós", "Ambrus", "Mária", "Natália", "Judit", "Árpád", "Gabriella", "Luca, Otília", "Szilárda", "Valér", "Aletta, Etelka", "Lázár, Olimpia", "Auguszta", "Viola", "Teofil", "Tamás", "Zénó", "Viktória", "Ádám, Éva", "Eugénia", "István", "János", "Kamilla", "Tamara, Tamás", "Dávid", "Szilveszter"},
};Többibe is tudok segíteni.
-
PeterPH
senior tag
válasz
Scooter86101 #12325 üzenetére
Ha a LedControl libraryt használod, akkor a LedControl.h-ban kell módosítanod a karaktertáblát.
De itt jegyezném meg, hogy a 7 szegmenses kijelző alapvetően alkalmatlan a megcélzott feladatra, lévén a karaktereknek csak egy igencsak korlátozott része jeleníthető meg felismerhetően rajta. Nem véletlenül vannak kihagyva a ledcontrol-ban is karakterek (illetve space-szel helyettesítve).8-Digit Seven Segment Display with MAX7219
LedControl a Arduino library for the MAX7221 and MAX7219
An Arduino library for MAX7219 and MAX7221 Led display drivers -
Gergosz2
veterán
válasz
Scooter86101 #10000 üzenetére
Ennyi infóból kevés lesz debuggolni. DS3231-et használok, szerintem 1 év alatt szed össze 10 sec hibát.
Szokásos kérdések: hogy kötötted be, mire, milyen kód fut stb...
-
zka67
őstag
válasz
Scooter86101 #10000 üzenetére
Szia, a 32768Hz es kvarc mindkét lába és a GND közé tegyél 5-10 pF-os kondikat. Nekem ez havi 4-5 mp-es eltérésre csökkentette.
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
- Honor Magic7 Lite 512GB, Kártyafüggetlen, 1 Év Garanciával
- Honor 400 lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Prodesk 600G4 SFF - i5-8500, 16GB DDR4, 512GB NVMe SSD, ATI R5 430 2GB eladó!
- Bomba ár! Lenovo ThinkPad T490 - i5-8GEN I 16GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- Akciós Windows 10 pro + Office 2019 professional plus csomag AZONNALI SZÁLLÍTÁS
- AKCIÓ! Épített KomPhone R5 4500 16GB RAM 240GB SSD RX 6500 XT 4GB GAMER PC termékbeszámítással
- AKCIÓ! Google Pixel 9 Pro 5G 128GB 16GB mobiltelefon garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest