Založen: Jan 01, 2023 Příspěvky: 1791 Bydliště: Česká Lípa
Zaslal: ne duben 21 2024, 15:55 Předmět:
Tak ještě zkuste hodnotu updateWithDelays změnit na false viz úprava níže a pokud ani to nepomůže tak už to zřejmě lepší nebude a v takovém případě si hodnotu eventInterval zvyšte na 5000 nebo 10000 a načítání bude probíhat jen jednou za 5 nebo 10 sekund i s tím bliknutím. Případně ještě můžete zkusit snížit rozlišení sensor.setResolution(9) jestli to bude mít nějaký vliv na to mrkání.
Pokud jde o ty odchylky teploty o 2°C. Nejprve jste psal, že starý teploměr co jste dělal cca před dvěma lety ukazuje teplotu o 2°C vyšší a pak jste psal, že s ATmega8 ten příklad ukazuje teplotu o 2°C nižší zatímco s ATmega168 ukazuje správně. To jsou tedy tři varianty a každá z nich zobrazuje teplotu jinak. U tohoto vážně nevím v čem je problém.
if (!cekaniNaKonverzi && (currentTime - previousTime) >= eventInterval) {
previousTime = currentTime;
// nastavit neblokující volání
sensor.setWaitForConversion(false);
// následující volání skončí hned bez čekání a konverze bude probíhat na pozadí
// na dokončení konverze se bude čekat bez blokování viz níže
sensor.requestTemperatures();
// nastavit příznak neblokujícího čekání na dokončení konverze dat senzoru na pozadí
cekaniNaKonverzi = true;
};
if (cekaniNaKonverzi) {
// neblokující dotaz zda konverze dat na pozadí již byla dokončena
if (sensor.isConversionComplete()) {
// konverze dat dokončena
cekaniNaKonverzi = false;
// teprve nyní načíst a zobrazit data
tempC = sensor.getTempC(deviceAddress);
sevseg.setNumberF(tempC, 1);
};
};
Založen: Oct 28, 2007 Příspěvky: 88 Bydliště: Násedlovice
Zaslal: ne duben 21 2024, 16:17 Předmět:
Tak to asi lepší nebude. Chová se to stejně jestli je v updateWithDelays true nebo false.
A co se týká toho dvou stupňového rozdílu mezi A8 a A168, nebylo to myšleno tak ,že A168 ukazuje správnou teplotu a A8 špatnou, o 2°C nižší. Je to jen rozdíl v zobrazené teplotě na displeji při stejném kódu, který byl nahrán do A8 a A168. Který ukazuje správnou teplotu, to teprve zjistím. Teď jsme řešili hlavně to mrkání. Ale jak se ukazuje, nemá to řešení.
Přesto vám Valdano moc děkuji za váš čas a snahu vyřešit můj problém.
PS: Chtěl bych mít vaše znalosti.
Založen: Oct 28, 2007 Příspěvky: 88 Bydliště: Násedlovice
Zaslal: ne duben 21 2024, 16:40 Předmět:
Ano mrká to i při sensor.setResolution(9) i (10) úplně stejně. Ale je i zajímavé, že když jsem nedávno dělal tento teploměr https://www.youtube.com/watch?v=ZvlMptNAw9A&list=PL86H7PGdidG1YxqHJvlHy_KH0ELEokHL7&index=12 a nahrál jsem kód z počítače, tak mi displej blikal a když jsem nahrál kód z notebooku tak už jen jemně mrkal jako to mrká teď. Autorce to neblikalo a použil jsem stejné verze knihoven jako ona. Asi je něco mezi nebem a zemí.
Jelikož si displej obsluhuje TM1637 sám, bude to s ním rozhodně lepší než multiplex přímo z Arduina.
EDIT: mezitím Valdano smazal odkaz na 4-místný displej s řadičem TM1637.
Naposledy upravil Cowley dne ne duben 21 2024, 17:00, celkově upraveno 1 krát.
Založen: Oct 28, 2007 Příspěvky: 88 Bydliště: Násedlovice
Zaslal: ne duben 21 2024, 16:58 Předmět:
Tento displej jsem už použil. Dělal jsem teď kukačky na ESP32 s časem z NTP. S SD karty vložené do DFPlayeru to kuká celou hodinu a gong oznamuje čtvrthodiny.
EDIT: Ano všimnul jsem si smazání.
Založen: Apr 02, 2011 Příspěvky: 18077 Bydliště: Nový Bydžov
Zaslal: ne duben 21 2024, 17:22 Předmět:
Asi by ti pomohlo dělat ovládání displeje v přerušení od časovače. Já měl podobnej problém s piezopískačem, když jsem ho ovládal ve smyčce loop, tak cvrdlikal. Převedení na přerušení to vyřešilo. _________________ Jirka
Založen: Jan 01, 2023 Příspěvky: 1791 Bydliště: Česká Lípa
Zaslal: ne duben 21 2024, 17:40 Předmět:
Ani to nedoporučuji, protože ta knihovna SevSeg není na použití s přerušením vůbec stavěná. Je o tom zmínka tady. Psát kvůli tomu vlastní knihovnu je zbytečné když lze koupit celkem levně ten I2C displej, který to řeší.
Naposledy upravil Valdano dne ne duben 21 2024, 17:43, celkově upraveno 1 krát.
Založen: Jan 01, 2023 Příspěvky: 1791 Bydliště: Česká Lípa
Zaslal: ne duben 21 2024, 17:48 Předmět:
Celeron napsal(a):
Na co knihovna na tak jednoduchou věc jako je změna stavu portů?
SevSeg nemůže použít s přerušením viz už uvedený odkaz a bez toho by si musel napsat vlastní obsluhu těch segmentů, ale klidně sem šoupněte kód, který to vyřeší a je hotovo.
Založen: Jan 01, 2023 Příspěvky: 1791 Bydliště: Česká Lípa
Zaslal: ne duben 21 2024, 17:52 Předmět:
buchar napsal(a):
Takže nedoporučujete knihovnu "SevSeg" na tyto konstrukce vůbec používat. Takže budu muset poslepovat nějaký jiný kód pro moje teploměry.
Dle mého názoru bude řešení s přerušením problematické a já osobně bych do toho nešel. Pokud nechcete číst data tak často a mrknutí třeba jednou za 5 nebo 10s vám nebude vadit tak to neřešte a "SevSeg" vám bude stačit s tím, že prostě jen natáhnete interval toho čtení teploty a občasné mrknutí zkrátka pominete. Pokud se chcete toho mrknutí zbavit jděte do toho displeje s I2C.
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2, 3, 4, 5Další
Strana 4 z 5
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.