Tim BCD prepinacem budes nastavovat casy pro vsechny vystupy stejne?
Nestalo by za to kdyz uz se s tim budes jebat, udelat to propojeni pomoci sbernice rovnou, nahravat casy jednoduse z karty nebo notasu po uartu a misto tech prepinacu tam dat treba displej 4x40 kde bys primo videl nastavene casy pro jednotlive vystupy? Cela vec by dostala za stejne prachy uplne jiny level, moc prace navic to neda a ze zkusenosti vim, ze se ti k tomu uz nasledne nebude chtit vracet, pripadne ta predelavka a nasledne testovani da pomalu stejne tolik prace jako napsat a vyrobit to cele znovu.
Založen: Mar 19, 2011 Příspěvky: 1951 Bydliště: Jižní Čechy Dačicko
Zaslal: ne listopad 14 2021, 11:49 Předmět:
Ahoj.
Nějak se nám tady pletou dva projekty a tak to dám na pravou míru
To co dělám teď je opravdu jenom seqencer, kde potřebuju následující:
po vstupním impulzu odpálí 20 pozic v nastaveným stejným čase, Pro to mi přišlo použití 2 ks BCD přepínačů ideální. Můžu nastavit 0,1-9,9 sec. Nemusím to připojovat k PC a je to použitelný přímo na místě. Ještě jsem vymyslel, že pokud se nastaví 0,0 tak to bude fungovat v režimu STEB BY STEP- to znamená, že při vstupním pulzu odpálí pozici 1, při dalším pozici 2 atd. ( toto je však jenom funkce navíc). Jak jsem psal k tomuto se dají používat pyrotechnický odhořívací zpožďovače, ale ty se občas "ustřelí".
Ten programovatelnej systém, chci taky udělat, páč ten od číňana neumí třeba odpal více pozic ve stejnej čas (pokud je to na různých modulech)
Tady mám vizi následující:
Jeden MASTER modul s displejem kde se bude moct programovat autonomě, i třeba přes PC nebo jak to má číňan z flešky.
Potom samostatný odpalovací moduly a tady bych zase použil 2 ks BCD přepínačů, ale tentokrát pro nastavení adresy modulu. Master bude s podřízenejma spojenej sběrnicí a můžu tak dosáhnout až 2000 odpalovacích pozic. Pokud použiju v sestavě více modulů se stejnou adresou pojedou synchronně.
Tady se potom můžu vyřádit, třeba na masteru kontrolovat zapojení palníku na modulech atd.
Toto je však běh na delší trať, neboť jsem zatím nikdy nedělal s MCU a fleškou, taky dobře rozmyslet tu komunikaci, zvážit jak jsi psal zda to bude pálit on-line nebo každý modul o mastera dostane propozice a pojede potom sám. Je toho hodně.
Taky mě napadlo, udělat ty seqencery tak, aby byly použitelný i v programovatelným systému, ale to jsem zavrhnul.
Pokud to udelas propojene po datove sbernici rovnou, muze to fungovat bez problemu v obou rezimech. Vzdy je jednodussi udrzovat po sw i hw strance jedno univerzalni zarizeni nez dve ruzna, o tom ze jich pak budes muset vyrobit dvojnasobne mnozsvi nemluve. Programovatelny muze fungovat v hloupem rezimu, opacne to ale nepude.
ne, my to chápeme. Podívej, taková myšlenka pro inspiraci, jak by to taky mohlo být, pokud bys chtěl: Můžeme tu dokola řešit jednotlivosti a různě o tom všem mluvit na fóru, od toho ostatně to fórum je, nic proti. A nebo třeba taky můžeme(š) založit projekt/y na GitHubu, nainstalovat Git klienta (nebo nějaký jiný SVN), vnést základní představu o projektu (třeba jako úvodní požadavky, todo list, nějaké úvodní schéma... atd atd, prostě to co už máš, a to, co z toho chceš), (případně) rozdat přístupy, a mohlo by se tak na tom podílet víc lidí a dělat každý něco, i když je každý někde jinde. A nebo můžeme (bychom pak mohli) jen nahlížet na vývoj projektu na Gitu a dílčí věci konzultovat tady a posílat ti přes fórum, mailem… To už by bylo všechno jen na tobě… Jen bych moc neočekával, že to budou chtít lidi mastit v Bascomu, ale ani to nemusí vadit - věřím tomu, že i Bascom umí zavolat (a při kompilaci připojit) nějakou vnější rutinu v C, ASM (a v podstatě by se dalo říci, že jestli ne, tak ten překladač ani nestojí za to).
Vždycky se najde někdo, kdo rád pomůže - tím spíš, že tohle je zajímavý projekt, ani příliš složitý, ani tak jednoduchý, že by to byla úplná blbost k ničemu… Mě osobně se na tom celém líbí, že to spojuje lidi - každý se rád podívá na ohňostroj, každý rád na chvíli zapomene na všední starosti při nevšedních chvílích, a tak… spousta radosti, a takový ohňostroj a chvíle můžou třeba taky někomu spojit osudy, vždycky je vše o lásce
No, osobne bych sw zarizeni na odpalovani vybusnin vic lidi delat urcite nenechal a nejspis bych to psal z bezpecnostnich duvodu radeji v asm kde je asi nejlepsi kontrola nad vyslednym kodem, ale avr zrovna moc valny asm pro rucni psani nema, takze se nedivim ze se do toho nehrnes.
Je to na něm. No, to nemá, je to Load-Store architektura, a popravdě AVR ASM ani do hloubky neznám (ale nebál bych se)… spíš přilinkovat knihovny, však víš. Ale bylo by dobrý tam někde najít, jestli to ten Bascom vůbec umí:
Edit: No, tak je to asi vyřešený… Každej slušnej kompilátor má jako svou druhou součást linker, kterej umí připojit vnější objektové soubory (tj. standardně předkompilované knihovny) - ne tak Bascom, ten umí jen knihovnu v ASM, a nebo už předkompilovanou, ale jen sebou samým ($lib, $external)
Založen: Mar 19, 2011 Příspěvky: 1951 Bydliště: Jižní Čechy Dačicko
Zaslal: ne listopad 14 2021, 15:10 Předmět:
V ASM bych to asi nedal, nebo by mi to trvalo hrozně dlouho. Pokud se začnu učit C, tak je to opět od začátku a bude mi to trvat dlouho. Věřím, že když zařízení dostatečně otestuju, tak by mělo chodit jak má i v bascomu.
Tady mám zatím nástřel kodu (zatím pro MEGA32) a je to inverzní, protože na vývojový desce mám LEDky pevně zapojený na +, tak musím danej PIN nastavovat při odpalu na 0.
portd.2 = 1 'nastavení vnějšího přerušení
Config Int0 = Falling
Enable Int0
On Int0 pal
Enable Interrupts 'povolení přerušení
dim X as byte 'deklarace proměnných
dim pocet as word
dim odpal as word
dim cas as byte
dim sek as byte
dim des as byte
pocet = 0
odpal = 0
x =1
Do 'nekonečná smyčka, kde bude kontrola palníků, AKU atd.
loop
konec:
end
pal: 'obsluha vnějšího přerušení
waitms 20 ' prodleva pro kontrolu zda jde skutečně o žádané přerušení
if pind.2 = 0 then
des = Not pinb 'výpočet času mezi odpaly
sek = des And &H0F
Shift des , Right , 4
sek = sek * 10
cas= sek + des
Enable Compare1a 'povolení časovače
On Compare1a Tim
disable INT0
end if 'zakázání nějšího přerušení
return
Tim: 'obsluha přerušení od časovače
if odpal = 0 then
reset porta.0
else
portA=&B11111111
end if
if pocet = cas then
select case x
case 1: reset porta.1
case 2: reset porta.2
case 3: reset porta.3
case 4: reset porta.4
case 5: reset porta.5
case 6: reset porta.6
case 7: reset porta.7
case 8: goto konec
end select
incr x
pocet = 0
end if
incr odpal
incr pocet
return
Naposledy upravil scorpions-cz dne ne listopad 14 2021, 16:00, celkově upraveno 2 krát.
Můžeš exportovat program (Tools - Export to RTF nebo Export to HTML), pak se to zobrazí v barvách a formátováno, ale proč. Kdo se tím bude chtít zabývat v bascomu, stačí když si to jen jako text vloží přes ctrlC/V a naformátované se mu to zobrazí.
Založen: Sep 28, 2005 Příspěvky: 1376 Bydliště: ZČ + JM
Zaslal: ne listopad 14 2021, 16:01 Předmět:
Použij aliasy a konstanty, zpřehlední se ti to (např. vystup3 alias porta.5 a const vybuch = 0, const spidal = 1)
Čas asi nemusíš ani nějak složitě přepočítávat, stačí, když přerušení jednou za řekněme 10ms inkrementuje proměnnou (word ti přeteče za deset minut)
Zamysli se nad ošetřením vstupu pomocí debounce v hlavní smyčce namísto přerušení _________________ Kampaň, účelovka, nepodepsal, Palermo, ODS, Kalousek, je líp a jsou na to čísla, nastudujte si to.
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.