Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …
Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a
… více »Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.
Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -
… více »GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.
V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »
představte si čidlo(optickou závoru) přes čidlo profičí kyvadlo hodin cik cak (tam a zpět)
čidlo je umístěno libovolně (nepřesně) na spodu uprostřed dráhy kyvadla
kyvadlo má nestabilní výchylky přes střed (kde je čidlo)
(někdy se vyhoupne výše někdy níž)
přes čidlo jde vždy
chtěl bych udělat akci po průchodu čidla jen na
-->> jen sudý průchody kyvadla případně jen v jednom směru
ano přesně tak akce by byla spuštěna když je kyvadlo na nejvyšší pozici sudé průchody
jen sudý průchody kyvadla případně jen v jednom směruNo a kde je problém?
ano přesně tak akce by byla spuštěna když je kyvadlo na nejvyšší pozici sudé průchodyZměř si periodu té části průchodu, která tě zajímá. V půlce tohoto intervalu je kyvadlo na vrcholu.
čas od průchodu nemám čím měřit
to bude zřejmě ten kód
označit je jako sudé
po sudých udělat akci
psal jsem jestli pro začátečníka by nebyl kousek kódu
#define LAG 5 # jak dlouho trvá maximálně zakrytí senzoru kyvadlem při průchodu
char pass = 0;
loop() {
if(digitalRead(pin)) { # čidlo detekuje kyvadlo
pass++;
if(pass%2) { # sudý průchod
Serial.println("Even pass");
}
delayms(LAG);
}
}
Měření času jsem neimplementoval.
čas od průchodu nemám čím měřit
millis()
int ledPin = 13; // indikace
int CidloZavora =2; // cidlo zavora
int val = 0; // promena
int pocitadlo = 0;
int stavPinu = 0;
int PredchoziStavPinu = 0;
void setup() {
pinMode(ledPin, OUTPUT); // vystupni pin deklarace
pinMode(CidloZavora, INPUT); // vstupni pin
}
void loop(){
val = digitalRead(CidloZavora); // cti vstupni pin
if (val == HIGH) { //zjisti jestli ji HIGH
digitalWrite(ledPin, HIGH); // rozsvit LED
stavPinu = 1;
}
else {
digitalWrite(ledPin, LOW); //zhasni LED
stavPinu = 0;
}
if(stavPinu != PredchoziStavPinu){
if(stavPinu == 1){
pocitadlo = pocitadlo + 1;
if(pass%2) { # sudý průchod
a tady nejak rozlisit jsetli je to sudé
// tady prijde akce
}
}
PredchoziStavPinu = stavPinu;
delay(250);
}
a tady nejak rozlisit jsetli je to sudéTo přece rozlišuješ tím, že počet průchodů modulíš dvěma.
tak nejak by to šlo ??
int ledPin = 13; // indikace
int CidloZavora =2; // cidlo zavora
int val = 0; // promena
int pocitadlo = 0;
int stavPinu = 0;
int PredchoziStavPinu = 0;
int pass = 0;
void setup() {
pinMode(ledPin, OUTPUT); // vystupni pin deklarace
pinMode(CidloZavora, INPUT); // vstupni pin
}
void loop(){
val = digitalRead(CidloZavora); // cti vstupni pin
if (val == HIGH) { //zjisti jestli ji HIGH
digitalWrite(ledPin, HIGH); // rozsvit LED
stavPinu = 1;
}
else {
digitalWrite(ledPin, LOW); //zhasni LED
stavPinu = 0;
}
if(stavPinu != PredchoziStavPinu){
if(stavPinu == 1){
pocitadlo = pocitadlo + 1;
if(pocitadlo%2) { # sudý průchod
Serial.println("Even pass");
// tady prijde ta akce
}
}
}
PredchoziStavPinu = stavPinu;
delay(250);
}
nerozumím co je odsazeníŽe jednotlivé podvětve nebo smyčky předchází mezery nebo tabulátory (všimni si, jak vypadá můj kód). Mnohem líp se to čte.
tak nejak by to šlo ??No asi jo, já tady nemám Arduino s fotozávorou a kyvadlem. To si musíš vyzkoušet ty, jestli ti to jde…
Jendo dík moc
nevěděl jsem že sudé zjistím dělením if(pocitadlo%2)
no dneska už kývat nebudu ,jedině v posteli
Vyzkoušeno.
Pro moje potřeby to funguje.
Je znaménko pro liché cykly ?
if(!(pass%2))nebo
if(pass%2==0)Tedy až na to, že je (IMO) v celé této diskusi zaměněn význam slov lichá a sudá. Takže tomu raději nebudu říkat ani sudá, ani lichá, je to prostě ten opačný průchod...
Je znaménko pro liché cykly ?(počet+1)%2
Neexistuje ani pre parne a ani pre neparne, ty to totizto LOGICKY musis vyjadrit. Neviem, ako je zapis v tomto jazyku, ale jednoducho si pohladaj negovanie toho vyssieho vyrazu. Nieco ako
if!(pocitadlo%2)
alebo pridas vetvu k tomu, nieco na styl if - else , ale to si pozri v priprucke ako je zapis.
Syntax si pozri a aj kopec veci okolo toho tuna: http://wiring.org.co/reference/
Na papíru, v Karlu nebo javě?Arduino se defaultně programuje v C+.
Na papíru, v Karlu nebo javě?
Exaktní řešení Vašeho problému se jmenuje Kalmanův filter. Ale je to vyšší dívčí z teorie řízení.
Zjednodušeně řečeno: napíšete rovnici výchylky toho kyvadla ( α(t)=sin(ω t)+φ ), jejíž parametry/stavy ω a φ), které modifikujete podle toho co naměříte (= signál čidla). Změna těchto parametrů je úměrná tomu jak moc se Vaše aktuální měření se strefilo do okamžiku kdy jste očekával průchod čidlem podle této rovnice. K dispozici máte dva inženýské knoflíky (K,L)- váhy, kterými regulujete, jak moc má měření na dva stávající parametry vliv. Tyto váhy určují míru toho jak moc věříte měření versus jak moc je vaše rovnice spolehlivá sama o sobě jako samostatný prediktor (= bez aktualizace parametrů pomocí měření).
Výstupem rovnice je pak úhel alfa, který pro ± π/2 dává očekávaný vrchol (=nejvyšší pozice kyvadla). Musíte tedy napsat inverzní funkci f:α → t, ta vám pak pro α= +π/2 dá čas t ve kterém spustíte akci.
Algoritmus má tedy dva kroky
Samostatnou kapitolou je pak start celého algoritmu, kdy by se jen několik měření nedělala žádná akce ale jen se aktualizoval model, tak aby se dosáhlo počátečního nastavení parametrů.
Oprava: Odstavec "Výstupem rovnice je pak úhel alfa,který ...." prosím ignorujte. Žádnou inverzní funkci není potřeba vytvářet. Chyba vznikla už v definici rovnice kyvadla. Správně je totiž α(t) = sin(ω t + φ) a tedy pro okamžik akce stačí řešit vztah ω t + φ = π/2 pro neznámé t. Podobně lze napočíst i predikci času dalšího průchodu kyvadla čidlem. ω t + φ = φcidla.
Tiskni
Sdílej: