Vojtěch Vosáhlo
Vytvořené odpovědi
-
AutorPříspěvky
-
Vojtěch VosáhloÚčastník
To ano, a sledovat je můžu např pře 17track. Spíš mi šlo o to jestli jde nějak zjistit poloha v ČR. Např celnice/lokální pošta… Pokud vím tak by tohle mělo fungovat u EMS ale ani to mi nejde 🙁 Asi si holt počkám
Vojtěch VosáhloÚčastníkMimochodem T&T české pošty.
Vojtěch VosáhloÚčastníkPředpokládám že máte klon s CH340. Zkuste omrknout toto: http://www.instructables.com/id/Arduino-Nano-CH340/
Vojtěch VosáhloÚčastníkK počítání rezistoru určitě doporučuju nějaký kalkulátor online. Jinak by to bylo asi hodně počtů. Např: http://www.petervis.com/GCSE_Design_and_Technology_Electronic_Products/transistor_base_resistor_calculator/transistor_base_resistor_calculator.html
Vše co to chce by jste měl mít v datasheetu tranzistoru. Pokud vím tak s úbytkem napětí se nepočítá. Taková zažitá věc je dávat rezistory 10k, to většinou funguje ale lepší je to propočítat. Ten R2 je podle využití pullup nebo pulldown. Zajišťuje aby byla např báze tranzistoru vždy v nějakém stavu a nejen „floating“. Tzn tento rezisto dostává na pin pozitivní napětí nebo zemi i pokud mikrokontolér na pin nic nepouští. U avr může být tento rezistor nahrazen nastavením stavu pinu místo INPUT na INPUT_PULLUP. Většinou je ale lepší řešit to extérně.
Vojtěch VosáhloÚčastníkChce to vědět jaký proud bude tranzistor/fet spínat. To je základ. Pro menší proudy a napětí se dá použít menší tranzistor, např BD140 a nebo další řady. Ty dokáží spínat až 1,5A. Varianta pro vyšší proud a napětí jsou darlingtonovy tranzistory, např TIP120 spínající až 5A. Poté pro ještě větší zátěže se dá použít FET. U led si tedy zjistěte proud a napětí, poté se dá počítat.
Vojtěch VosáhloÚčastníkEDIT: Není to foreach ale jen FOR, omlouvám se. Doporučuju inspirovat se třeba tady: https://www.arduino.cc/en/Tutorial/ForLoopIteration
Vojtěch VosáhloÚčastníkŠlo by to zkrátit na pár řádek pomocí foreach a někde bitshiftováním ale foreach by mělo stačit. Doporučuju zkouknout si nějaké ukázky. Na večer můžu přidat i kód.
Vojtěch VosáhloÚčastníkKód mi přijde správně a zapojení taky, jen bych dal rezistory trochu větší 1k/4k7/10k nebo další. Funguje pin pokud přes něj např. blikáte ledku? Předpokládám že magnetický spínač je ok. Jediná reálnější možnost je že je pin poškozený nebo něco na desce… Zkuste tu ledku a uvidíme.
Vojtěch VosáhloÚčastníkRozhodně by se šiklo info o vašem programu a I2C čipu displeje.
Vojtěch VosáhloÚčastníkAno, je to 10k.
Vojtěch VosáhloÚčastníkDobrý den,
hlavně nezoufat. To co jste odpálil je schottkyho dioda která by podle schémata arduina měla vybírat zdroj napětí. Jsou tu dvě možnosti, můžete diodu vyměnit (ta na origo. arduinech je MBR0520 a dá se sehnat třeba na GME) a budete mít vystaráno. Další možnost je prostě jí odpájet. Pokud by jste jí odpájel a nechal piny nespojené, znamenalo by to, že nebude moct být napájené z USB. Pokud ale spojíte oba kontakty kde byla dioda, bude fungovat vše v normálu, jen si musíte dávat velký pozor abyste neměl zapojené arduino do USB a zároveň extérního napájení. To by vám nevykouzlilo hezký den.Vojtěch VosáhloÚčastníkAsi bych vzal něco jako starý konektor z IDE kabelů, ale je to blízko dupontu tak nevím jak vám to sedne… Nový konektor jsem nepoužíval, jen ten z IDE kabelu a ten drží na fest. Z nabídky eshopů asi něco takového https://www.gme.cz/konektor-pfl26
Vojtěch VosáhloÚčastníkUdělejte si 2 proměnné – tlacitko a tlacitkoOld
A do smyčky pro lcd to pusťte pouze pokud se liší. Tzn.if(tlacitko != tlacitkoOld){ //něco se ukáže na lcd tlacitkoOld = tlacitko; }
Do tlacitko zapisujete jaké tlačítko bylo stisknuto a tlacitkoOld by mělo stačit inicializovat jako nulu, samozřejmě podle toho jak získáváte názvy tlačítek, takocý typ proměnné to bude. Taky kdyby jste měl na ovladači tlačítko 0 tak se musí tlacitkoOld nastavit na -1. Hodně štěstí
Vojtěch VosáhloÚčastníkDo setupu přidáte znovu toto: `pinMode(d1, INPUT);
pinMode(prehravaciPin2, OUTPUT);
digitalWrite(prehravaciPin2, HIGH);attachInterrupt(1, detekce2, FALLING);
`
místo těch názvů si buď dosaďte piny a interrupty nebo si vytvořte proměnné jako je to v původním kódu.
Pak jen vytvoříte funkci detekce2 (kopii detekce) a pozměníte piny které se nastavují.
Snad pomůžu…
Vojtěch VosáhloÚčastníkJasně, asi by se to dalo udělat nejlépe přes odebrání a zase přidání přerušení. `void detekce(){
digitalWrite(prehravaciPin, LOW);
delay(100);
digitalWrite(prehravaciPin, HIGH);
detachInterrupt(0); // odebereme preruseni aby se nam nevyvolalo pokud by se něco hýblo pred senzorem
delay(60000); //pauza na x vterin, cas po ktery je senzor vyrazen
attachInterrupt(0, detekce, FALLING); // opet preruseni zprovoznime}`
Kdyby bylo potřeba arduino používat i v době vyřazení, daly by se počítat cykly procesoru ale to je další téma…
-
AutorPříspěvky