Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Návrh jednoduchého obvodu.
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Řešení problémů s různými konstrukcemi
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Michal22



Založen: Mar 28, 2012
Příspěvky: 7808
Bydliště: Brno

PříspěvekZaslal: út duben 16 2019, 14:13    Předmět: Návrh jednoduchého obvodu. Citovat

Potřeboval bych následující obvod- pokud je na vstupu log.1, tak je výstup v log.0.
Pokud vstup přejde do log.0, tak výstup ještě zůstane 60s v log.0, poté přijde impuls log.1 v délce 2s, poté zase 60s log.0, zase impuls log.1 v délce 2s.
Tohle by se opakovalo dokud by se na vstupu nezměnil stav zpět na log.0.

Vlastní logické úrovně mohou být jakkoliv prohozené (třeba vstup spouštěný log.1), na tom nesejde. Podstatné je dodržet časy a také ukončení výstupní sekvence při změně stavu vstupu na klidovou hodnotu.
S
Asi by to šlo naroubovat i na jednu 555, ale já takhle ze startu nevím, jak začít.
Umím si představit dvě 555, kdy jedna by počítala těch 60s, druhá dělala puls 2s. Ale možná by to šlo realizovat i s jednou 555?
Nebo je toto výhodnější pomocí nějakého jednočipu?
Díky za návrhy.



555.jpg
 Komentář:
 Velikost:  21.13 kB
 Zobrazeno:  120 krát

555.jpg



_________________
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3268

PříspěvekZaslal: út duben 16 2019, 14:27    Předmět: Citovat

Nasadil bych Picaxe 08M2. Ale asi mě teď ukamenujou Smile

A co když se během prvního měření vrátí vstup do klidu?
Edit: asi se meření 60s hned ukončí a neprovede se ani ten první 2s impuls, že ? Smile


Naposledy upravil Cowley dne út duben 16 2019, 14:49, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
forbidden



Založen: Feb 14, 2005
Příspěvky: 8964
Bydliště: Brno (JN89GF)

PříspěvekZaslal: út duben 16 2019, 14:28    Předmět: Citovat

Asi by to šlo i s jednou zapojenou jako AKO s takto malou střídou. Jak by to bylo moc přesný netuším. Určitě bych ale šel do CMOS verze kvůli možnosti menších kondů a větších odporů. Na tyto časy to bude praktičtější.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Cowley



Založen: Feb 04, 2005
Příspěvky: 3268

PříspěvekZaslal: út duben 16 2019, 14:29    Předmět: Citovat

Anebo 4060 s podporou 4093. Belza má na stránkách měření delších časů.
Vstup odblokuje a zresetuje 4060, ta napočítá do 60s a na výstupu aktivuje klopak ze zbylých hradel na 2s.
Nebo 4017 s podporou 4093.

Podobné zapojení máme v domě. Na dveřích je magnet.kontakt. Jakmile se dveře otevřou, začne měření. Pokud se dveře v určitém čase nedovřou, spustí se přerušovaná akustická signalizace.
Jakmile se dovřou, vše utichne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Michal22



Založen: Mar 28, 2012
Příspěvky: 7808
Bydliště: Brno

PříspěvekZaslal: út duben 16 2019, 14:52    Předmět: Citovat

Cowley- přesně na to stejné to potřebuji já Smile
Na přesnosti zas tak úplně nesejde, jde o to, aby to cca 60s počkalo, než to začne posílat impulzy, které se pak převedou na stávající elektronický zvonek.

_________________
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3268

PříspěvekZaslal: út duben 16 2019, 15:01    Předmět: Citovat

V první verzi byla jenom jedna 555.
Mg.spinac jí vždy nastartoval, pokud se dveře včas zavřely tak nedomeřila a celé zapojení "umřelo".
Jakmile ale domeřila, sepla piezo sirenu.
V druhé verzi byla na výstupu první ještě druhá 555, co pulsovala.
Ve třetí verzi už jsme zůstali u 555 a 40106, který generuje tón do repráčku a celé je to v krabičce z GM (taková na zavěšení s prolisem pro reproduktorek).

A hlavně trimr na nastavení toho prvního času.
Je potřeba ještě chytit toho, co prošel, aby za sebou zavřel. Jinak tě lidí z přízemí rozcupujou Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Michal22



Založen: Mar 28, 2012
Příspěvky: 7808
Bydliště: Brno

PříspěvekZaslal: út duben 16 2019, 15:27    Předmět: Citovat

Já to potřebuju do práce, principiálně stejně, ale jde o to, že někteří si do dveří vloží předmět, který zabrání zaklapnutí. A dveře jsou potom nezavřené, mohl by jimi někdo vlézt dovnitř.
Takže pokud magnet nesepne, obvod bude periodicky spouštět signalizaci, aby to někoho přinutilo ke dveřím zajít a předmět vytáhnout pryč.

Máš někde nějaké šéma té rozšířené verze?
Ať nemusím vymýšlet vymyšlené?
Díky

_________________
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3268

PříspěvekZaslal: út duben 16 2019, 17:06    Předmět: Citovat

Schéma nemám Sad

Jen si pamatuji na atypické zapojení 555 (bez pinu 7)
Propojené piny 2 a 6 z nich rezistor 100k na plus a také "měřící" kondik na GND.
Z uzlu 2/6 je přes seriový rezistor 180R a diodu 1N4148 vyvedená katoda na svorku, na kterou se připojí magnet.detektor proti GND.
Uzel 4/8 je plus 12V
Pin 5 je 10n proti GND.
Pin 7 je nepoužit
Pin 1 je GND
Pin 3 spouštěl 40106 a ta přes tranzistor budila repro.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
forbidden



Založen: Feb 14, 2005
Příspěvky: 8964
Bydliště: Brno (JN89GF)

PříspěvekZaslal: út duben 16 2019, 17:16    Předmět: Citovat

Jen pro porovnání, nedávno jsem dělal něco hodně podobnýho pro zákoše. Největší jsou na tom pájecí plošky, protože si to chtěl připojovat sám a pak fitry na napájení, protože to je do auta. Smile Je to zalitý v laku kvůli odolnosti.
PIC10F222.



IMG_3283.JPG
 Komentář:
udělátko
 Velikost:  118.98 kB
 Zobrazeno:  100 krát

IMG_3283.JPG


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ZdenekHQ
Administrátor


Založen: Jul 21, 2006
Příspěvky: 25741
Bydliště: skoro Brno

PříspěvekZaslal: út duben 16 2019, 17:29    Předmět: Citovat

Dost se zapomíná na CMOS 4538. Ovšem já, jelikož jsem už pokřivenej procesorama, bych to taky raději nacpal do toho procesoru... Very Happy
_________________
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
petrfilipi



Založen: Sep 13, 2005
Příspěvky: 2634

PříspěvekZaslal: st duben 17 2019, 9:28    Předmět: Citovat

Jasně, malý 6 nebo 8 vývodový PIC, interní oscilátor, krátký prográmek, přerušení po 0,1s a v přerušení počítat buď do 600 nebo do 20.

Petr
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
mluno



Založen: Apr 18, 2011
Příspěvky: 232
Bydliště: Benešov (u Prahy)

PříspěvekZaslal: st duben 17 2019, 12:42    Předmět: Citovat

Já bych použil attiny13 ale to je celkem jedno. Obojí stojí kolem 30 korun a na tak jednoduchý program nebude rozdíl. Ale to jen protože s AVR to umím a s picy ne. Interní oscilátor bohatě vyhoví, případně se dá podle odchylky program zkorigovat.
Použití procesoru má tu výhodu, že lze funkci obvodu lehce upravit, což se u nějaké kombinace monostabilních obvodů nedá (tam se tak maximálně dají upravit časy).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Michal22



Založen: Mar 28, 2012
Příspěvky: 7808
Bydliště: Brno

PříspěvekZaslal: čt červen 27 2019, 11:49    Předmět: Citovat

Ahoj,
v tomto problému jsme se zatím posunul k tomu, že jsem si koupil klon Arduino Nano.
Podařilo se mi rozchodit komunikaci, programy mi jdou nahrávat, dělají, co po nich chci (LED bliká Very Happy), jen teď nevím, jak koncipovat program.

Kdysi jsem programoval v Basicu, Pascalu, později krátká epizoda s jazykem Lua. Nic víc.

Hlavně nevím, jakým způsobem spustit běh programu pomocí vstupu, a taky jak zaimplementovat podmínku toho, aby běh sekvence byl zpožděný o těch 60 sekund.

Dokázal by mi někdo ideově pomoct?
Nejde mi o to, aby za mě někdo naťukal program, ale spíš, abych byl naveden na správný směr.

Díky

_________________
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3268

PříspěvekZaslal: čt červen 27 2019, 16:57    Předmět: Citovat

Třeba nějak takhle Smile
kód:

int vstup = 2;
int vystup = 13;

boolean otevreno = 0;
boolean mereni = 0;


unsigned long zacatek;
unsigned long cekacka = 60000; // 60000 je 60s

void setup() {

 Serial.begin(9600);
 
  pinMode (vstup, INPUT);
  pinMode (vystup, OUTPUT);
  digitalWrite(vstup, HIGH);  // nastaveni vstupu na PULL UP
  digitalWrite(vystup, LOW);  // vystup po zapnuti nebude aktivni
 
}

void loop() {

if (digitalRead(vstup) == LOW)  // je vstup aktivni, dvere jsou otevreny
{otevreno = 1;
}

if (digitalRead(vstup) == HIGH)  // neni vstup aktivni, dvere jsou zavreny
{otevreno = 0;
mereni = 0;
}

if ((otevreno == 1) && (mereni == 0))  //  je otevreno a jeste si nezacal stopovat ?
{mereni = 1;                           //  zapis si, ze stopujeme
zacatek = millis();                    //  nastav si do parametru zacatek aktualni systemovy cas
Serial.println("Zacinam merit cekaci dobu");
}

if (otevreno == 1)                      // je stale otevreno ?
{if ((millis() - zacatek) > cekacka)    // a je rozdil aktualniho systemoveho casu a casu v parametru zacatek vetsi nez cekaci doba?
{Serial.println("Nastal cas dat impuls na sirenu");
digitalWrite(vystup, HIGH);              //  sepni vystup
delay(2000);                              // na dve sekundy
digitalWrite(vystup, LOW);                 // vypni vystup
mereni = 0;                                 // nastav, ze budeme merit znovu cekaci dobu
}
}

}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Michal22



Založen: Mar 28, 2012
Příspěvky: 7808
Bydliště: Brno

PříspěvekZaslal: po červenec 01 2019, 13:29    Předmět: Citovat

Tak moc děkuji Cowley (Kaulimu) za prográmek.
Funguje zcela bezchybně.

A protože jsem opravdu lama, zkusím se ptát (moje otázky jsou vyznačeny ////):

citace:
int vstup = 2;
int vystup = 13;
////tohle je inicializace vstupů/výstupů? Co jsme zkoušel nějaké blikání LED, tak ve vzorových programech tyhle řádky nebyly. Jsou nutné, nebo spíš doporučené?////

boolean otevreno = 0;
boolean mereni = 0;
////funkce boolean je pro mě velkou neznámou. Zkoušel jsem nastudovat například na wikipedii, ale pořád to vůbec nechápu.////

unsigned long zacatek;
unsigned long cekacka = 60000; // 60000 je 60s
////k čemu prosím slouží tyto dva řádky?////

void setup() {

Serial.begin(9600);
////Je vždy nutné zadat rychlost sériového portu?////

pinMode (vstup, INPUT);
pinMode (vystup, OUTPUT);
digitalWrite(vstup, HIGH); // nastaveni vstupu na PULL UP
digitalWrite(vystup, LOW); // vystup po zapnuti nebude aktivni

}

void loop() {

if (digitalRead(vstup) == LOW) // je vstup aktivni, dvere jsou otevreny
{otevreno = 1;
}

if (digitalRead(vstup) == HIGH) // neni vstup aktivni, dvere jsou zavreny
{otevreno = 0;
mereni = 0;
}

if ((otevreno == 1) && (mereni == 0)) // je otevreno a jeste si nezacal stopovat ?
{mereni = 1; // zapis si, ze stopujeme
zacatek = millis(); // nastav si do parametru zacatek aktualni systemovy cas
////k čemu složí přesně funkce „millis“ bez číselné hodnoty?Co je zde myšleno systémovým časem?////

Serial.println("Zacinam merit cekaci dobu");
}

if (otevreno == 1) // je stale otevreno ?
{if ((millis() - zacatek) > cekacka) // a je rozdil aktualniho systemoveho casu a casu v parametru zacatek vetsi nez cekaci doba?
{Serial.println("Nastal cas dat impuls na sirenu");
digitalWrite(vystup, HIGH); // sepni vystup
delay(2000); // na dve sekundy
digitalWrite(vystup, LOW); // vypni vystup
mereni = 0; // nastav, ze budeme merit znovu cekaci dobu
}
}

}


A obecně- existuje nějaké ucelené povídání k programování těhle malých potvůrek?
Co jsem zatím procházel, tak mi informace připadnou buď dost rozbité, nekompletní, nebo mi tam zase schází vysvětlení (nejlépe na nějakých příkladech).
Díky za případné nasměrování.

_________________
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Řešení problémů s různými konstrukcemi Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund