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í 

Prepínač digitálneho signálu.
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
judeware



Založen: Aug 04, 2009
Příspěvky: 1283
Bydliště: okres Písek

PříspěvekZaslal: pá říjen 20 2023, 19:44    Předmět: Citovat

Tazetel nemá v oblibě I²C. Embarassed

Nádherně by to šlo řešit šesti PCF8574 a signály SCL & SDA sdílet oběma MCU (mají-li aspoň dva vývody typu open collector). Přepínací obvod by byl třeba jen jeden (pro přepínání vstupů A0, A1, A2 jedním, či druhým MCU; PCF8574 reaguje na celkem osm slave adres).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: so říjen 21 2023, 2:50    Předmět: Citovat

danhard napsal(a):
V tom případě si tam dej třeba 4x 74HCT157 Very Happy

4 x 74HCT157 třeba nějak takto.



prepinac13.png
 Komentář:
 Velikost:  124.03 kB
 Zobrazeno:  51 krát

prepinac13.png


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



Založen: Nov 01, 2008
Příspěvky: 4283
Bydliště: Skalica

PříspěvekZaslal: so říjen 21 2023, 7:19    Předmět: Citovat

TO Vladano: Presne tak som to urobil, len som tam použil 74HC257. Ináč keď rád kreslíš ako by si zostavil riadiaci obvod na prepínanie displejov? Ideálne (3sekundy display č.1,) (0,5s impulz do E na zatemnenie)(3sekundy display č.2) a zasa zatemnenie a zasa to isté dokola.
_________________
Prosím EKKARa, aby na moje príspevky nereagoval a do mojich vlákien nepísal. Ďakujem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: ne říjen 22 2023, 2:32    Předmět: Citovat

1. Můj nick v této diskusi není Vladano, ale Valdano podobně jako se bývalý argentinský fotbalista nejmenuje Jorge Vladano, ale Jorge Valdano.

2. Tohle bych řešil špíš Arduinem třeba verzí Nano. Doporučoval bych se to naučit. Není to zas tak složité. Níže je jednoduchý program, který by to zvládl. Použité digitální piny 2 a 3. Pin 2 ovládání E a pin 3 přepínání mezi MCU1 a MCU2.

kód:
#define PIN_ZATEMNENI  2
#define PIN_PREPMCU    3

#define MCU1           LOW
#define MCU2           HIGH
#define TMA            HIGH
#define ZOBRAZ         LOW

#define STAV_TMA       1
#define STAV_MCU       2

int mcu = 0;
int stv = 0;
unsigned long csz = 0;
unsigned long tck = 0;

void setup()
{
  pinMode(PIN_ZATEMNENI, OUTPUT);
  pinMode(PIN_PREPMCU, OUTPUT);
  digitalWrite(PIN_PREPMCU, MCU1);
  digitalWrite(PIN_ZATEMNENI, ZOBRAZ);
  csz = millis();
  mcu = 1;
  stv = STAV_MCU;
};

void loop()
{
  tck = millis();
  switch (stv) {
    case STAV_TMA:
      if (tck - csz > 500) {
        // po uplynuti 500 ms zmenit MCU a zobrazit
        if (mcu == 1) {
          mcu = 2;
          digitalWrite(PIN_PREPMCU, MCU2);
        } else {
          mcu = 1;
          digitalWrite(PIN_PREPMCU, MCU1);
        };
        digitalWrite(PIN_ZATEMNENI, ZOBRAZ);
        csz = tck;
        stv = STAV_MCU;
      };
      break;
    case STAV_MCU:
      if (tck - csz > 3000) {
        // po uplynuti 3000 ms zatemnit
        digitalWrite(PIN_ZATEMNENI, TMA);
        csz = tck;
        stv = STAV_TMA;
      };
      break;
  };
};

3. Řídící obvod bez programování jen velmi hrubým odhadem viz přiložený obrázek, ale nejsem jist nakolik to bude funkční. Spíš bych doporučoval to Arduino Nano, se kterým je to jednodušší.



casovac_500ms_3s.png
 Komentář:
 Velikost:  100.62 kB
 Zobrazeno:  41 krát

casovac_500ms_3s.png


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



Založen: Mar 05, 2007
Příspěvky: 6080
Bydliště: Jesenice u Prahy

PříspěvekZaslal: ne říjen 22 2023, 5:45    Předmět: Citovat

Proboha a proč by jsi Arduinem dělal nějaký přepínač, když tam můžeš naprogramovat celý úkol ? Rolling Eyes

A na displej to vysypeš přes 74HC595, nebo 74HC4094 třemi dráty Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: ne říjen 22 2023, 12:37    Předmět: Citovat

Řešení s 74HC595 nebo 74HC4094 a třemi dráty to už nechávám na někom jiném kdo bude ochoten Kutilmilovi také napsat hotový příklad pro Arduino. Kutilmil jak už sám psal to naprogramovat neumí a tudíž je potřeba to napsat kompletní tj. pouhé náznaky pro něj zřejmě budou nedostačují. Ono je vůbec otázkou jestli půjde do jakéhokoli řešení přes Arduino apod. nebo jestli spíš raději nepoužije ten dříve uvedený bastl jen s několika obvody bez programování.

Podle toho co Kutilmil psal už ten přepínač udělal z obvodů 74HC257, akorát mu chybí to řízení a k tomu je jednodušší Arduino Nano než složit to z obvodů.

Jako náhrada toho přepínače s tím, že by byly zachovány 74HC573, které dle dříve uvedeného Kutilmil už má zapojeny k těm segmentovkám by se dalo použít Arduino Mega 2560, které má dostatek digitálních pinů, aby se to všechno dalo zrealizovat jen přes Arduino. Rozložení pinů na desce Arduina viz přiložený obrázek. Níže je zdroják pro Arduino Mega 2560.

Doba zatemnění i přepínání mezi MCU1 a MCU2 je uvedena na začátku zdrojáku jako definice DOBA_ZATEMNENI a DOBA_PREPMCU přičemž čas je v ms. Pokud by byla potřeba změna některého z pevně definovaných časů při ladění pak stačí změnit hodnotu v definici a znovu přeložit a naprogramovat Arduino. Toto je minimalistická verze, která předpokládá, že se časy odladí napevno.

Pokud by bylo potřeba udělat časy nastavitelné za chodu Arduina dalo by se to řešit dvěma potenciometry zapojenými na dva Analogové vstupy Arduina a pak by se daly časy zatemnění i přepínání mezi MCU1 a MCU2 plynule měnit za chodu v určitém předdefinovaném rozmezí, ale taková potřeba nebyla definována tj. zatím předpokládám výše zmíněné použití pevně definovaných časů.

kód:
#define STAV_TMA       1
#define STAV_MCU       2
#define DOBA_ZATEMNENI 500
#define DOBA_PREPMCU   3000

int i = 0;
int mcu = 0;
int stv = 0;
int zobr = 0;
unsigned long csz = 0;
unsigned long tck = 0;

void setup()
{
  // 39 digitalnich pinu pro vstupy a vystupy prepinace
  // z toho
  // 13 (3 az 15) pro vystupy prepinace na displej
  // 13 (22 az 34) pro vstupy prepinace z MCU1
  // 13 (35 az 47) pro vstupy prepinace z MCU2
  for (i=3; i<16; i++) pinMode(i, OUTPUT);
  // pinMode(i, INPUT) pro piny 22 az 47 neni potreba volat,
  // protoze digitalni vstupy to maji jiz implicitne nastaveno
  csz = millis();
  mcu = 1;
  zobr = 1;
  stv = STAV_MCU;
};

void loop()
{
  tck = millis();
  switch (stv) {
    case STAV_TMA:
      if (tck - csz > DOBA_ZATEMNENI) {
        // po uplynuti DOBA_ZATEMNENI v ms zobrazit
        if (mcu == 1) {
          mcu = 2;
        } else {
          mcu = 1;
        };
        zobr = 1;
        csz = tck;
        stv = STAV_MCU;
      };
      break;
    case STAV_MCU:
      if (tck - csz > DOBA_PREPMCU) {
        // po uplynuti DOBA_PREPMCU v ms zatemneni
        zobr = 0;
        csz = tck;
        stv = STAV_TMA;
      };
      break;
  };
  if (zobr == 0) {
    // zatemneno
    for (i=3; i<16; i++) digitalWrite(i, LOW);
  } else {
    // zobrazeno
    if (mcu == 1) {
      // 13 (3 az 15) pro vystupy prepinace na displej
      // 13 (22 az 34) pro vstupy prepinace z MCU1
      for (i=3; i<16; i++) digitalWrite(i, digitalRead(i + 19));
    } else {
      // 13 (3 az 15) pro vystupy prepinace na displej
      // 13 (35 az 47) pro vstupy prepinace z MCU2
      for (i=3; i<16; i++) digitalWrite(i, digitalRead(i + 32));
    };
  };
};



Arduino_Mega_2560_pinout.jpg
 Komentář:
Rozložení pinů na desce Arduino Mega 2560
 Velikost:  149.62 kB
 Zobrazeno:  23 krát

Arduino_Mega_2560_pinout.jpg




Naposledy upravil Valdano dne ne říjen 22 2023, 13:18, celkově upraveno 3 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
danhard



Založen: Mar 05, 2007
Příspěvky: 6080
Bydliště: Jesenice u Prahy

PříspěvekZaslal: ne říjen 22 2023, 13:16    Předmět: Citovat

Valdano napsal(a):
Jako kompletní náhrada toho přepínače by se dalo použít Arduino Mega 2560, které má dostatek digitálních pinů, aby se to všechno dalo zrealizovat jen přes Arduino.

Opakuji, že je to hovadina, jelikož to Arduino může dělat celou tu funkci a není potřeba nic přepínat.
Ale to kutimil neřekl, co přesně chce realizovat a s čím Rolling Eyes
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: ne říjen 22 2023, 13:33    Předmět: Citovat

Hned na první stránce v tomto tématu je od Kutilmila obrázek viz níže. V něm je jasně zakresleno, že tam má 6 kusů segmentovek a také už tam má připojeno 6 x 74HC573 a také tam má dva MCU, ale ty podle mého názoru on neprogramoval, protože jak už tu sám uvedl tohle on prostě neumí obecně. Zatím podle zadání chce řešit jen ten obdélník mezi tím a nic jiného. Neřeším tady, že to jde jinak. To už bylo zmíněno v předchozí častí diskuse, ale Kutilmil to prostře zatím jinak řešit nechce, a to beru jako základ. Když to jinak nechce tak jsem tu uvedl možnosti jak by to šlo řešit s tím co už tam má a nerozváděl jsem tu možnosti jak to celé včetně těch 74HC573 zahodit a udělat jinak.

Samozřejmě, že existují jiné možnosti, ale ty prostě nejsou aktuální, protože podle toho co zatím Kutilmil napsal je aktuální to řešení s přepínáním 13-ti výstupů na 6x74HC573 z 2x13 vstupů ze dvou MCU a nic jiného a z toho jsem vycházel u toho příkladu s Arduinem Mega 2560. Teprve pokud Kutilmil uvede, že to řešení chce změnit na jiné konkrétní tak to bude aktuální, ale jinak to nemá smysl, protože jak už jsem psal třeba Kutilmil ani vůbec nestojí o kompletní řešení přes jakýkoli procesor, který bude potřeba programovat vzhledem k tomu, že je to pro něj asi více méně "nesrozumitelný blackbox".

Takže možná to bylo stejně zbytečné uvádět tu jakýkoli příklad a Arduinem jelikož Kutilmil spíš asi preferuje řešení se samostatnými obvody, aby se vyhnul jakékoli potřebě cokoli programovat. Řešení bez nutnosti cokoli programovat jsem tady už nakreslil jednak přepínač s obvody 4 x 74HCT157 a poté co zde Kutilmil uvedl, že už si postavil obdobný přepínač z obvodů 74HC257 a ptal se na obvod bez programování pro již zmíněné řízení časování tak jsem zde doplnil schéma s obvodem 555, 74112 a 74164 jako doplněk k tomu přepínači, který už si sám postavil. Pokud to Kutilmilovi takto vyhovuje a preferuje raději řešení s obvody bez programování tak to je jeho věc.

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



Založen: Mar 05, 2007
Příspěvky: 6080
Bydliště: Jesenice u Prahy

PříspěvekZaslal: ne říjen 22 2023, 14:27    Předmět: Citovat

kutilmil napsal(a):
Jedná sa o 2 kusy stopiek.

Valdano, to jsi takovej amatér, že bys neuměl dát do Arduina 2 kusy stopiek ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: ne říjen 22 2023, 14:56    Předmět: Citovat

Samozřejmě, že uměl, ale schválně to nechávám na vás. Já už jsem tu dal možnosti, které aktuálně považuji za relevantní a zatím jsem za to sklidil jen kritiku. No tak když umíte tak hezky kritizovat tak tu také přiložte trochu víc ruku k dílu a napište kompletní příklad pro Arduino pro tento účel vy sám. To jistě zvládnete a nebo ne? Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
EKKAR



Založen: Mar 16, 2005
Příspěvky: 31855
Bydliště: Česká Třebová, JN89FW21

PříspěvekZaslal: ne říjen 22 2023, 15:41    Předmět: Citovat

Tam v podstatě není potřeba nic jinýho, než diodama ve výstupech oddělený hradla libovolný logiky, který lze zapojit jako logickou úrovní zablokovatelnej opakovač/invertor úrovně. Hradlo NAND má na svým výstupu log.1 vždycky, když má aspoň na jednom vstupu log.0, zatímco když je na tom vstupu log.1, výstup invertuje stav dalšího vstupu, takže když vezmu dvouvstupový hradlo a na jeden vstup přivedu podle potřeby volitelnou logickou úroveň a na druhej jeden funkční bit toho přenášenýho signálu, dokážu volbou mezi log.0 a log.1 na ovládacím vstupu ovlivnit, jestli mi budou tím hradlem impulsy = změny logickejch úrovní procházet, nebo jestli se hradlo zablokuje v jedný výstupní úrovni. Stejně tak když vezmu hradla s trojstavovým výstupem = přivedením ovládací úrovně na příslušnej vstup zablokuju všecky výstupy ve stavu vysoký imprdelance a když budu mít takhle paralelně ke sběrnici připojenejch X budičů, můžu si ovládáním vybírat ty, který data ze svejch vstupů pustí dál a který se bloknou. Na to nepotřebuju žádný programování MCU ...
_________________
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...

A kutilmile - TY MNĚ TAKY Mr. Green Mr. Green !!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
danhard



Založen: Mar 05, 2007
Příspěvky: 6080
Bydliště: Jesenice u Prahy

PříspěvekZaslal: ne říjen 22 2023, 16:02    Předmět: Citovat

Především je zapotřebí nakopat kutimila do zadku, že to dělá tak uboze a snižuje tím úroveň tohoto fóra Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Valdano



Založen: Jan 01, 2023
Příspěvky: 1697
Bydliště: Česká Lípa

PříspěvekZaslal: ne říjen 22 2023, 16:09    Předmět: Citovat

Kutilmil, jak už tady psal výše, si přepínač už sám postavil ze 4 kusů 74HC257. Jeden kus 74HC257 je multiplexer s třístavovými výstupy a v podstatě nahrazuje 4 dvojice hradlových vstupů s ovládáním přepínání na 4 výstupy. 4 kusy 74HC257 je celkem 2 x 16 vstupů na 1 x 16 výstupů a z toho Kutilmil využil 2 x 13 vstupů na 1 x 13 výstupů. Takže to samotné přepínání už má Kutilmil v podstatě vyřešeno.

Akorát ještě chtěl navíc doplnit to řízení časování a tak jsem mu tady výše doplnil schéma s obvodem 555, 74112 a 74164 jako doplněk k tomu přepínači, který už si sám postavil.

To co jsem tady psal ohledně Arduina jsem uvedl navíc a původně spíš k tomu časování a samozřejmě uznávám, že ten další zdroják pro přepínání co jsem tu pak ještě přidal byl v podstatě úplně zbytečný, ale když už tu je tak ho mazat nebudu, ale nic dalšího k tomu už také nebudu psát i když se tady danhard snažil provokovat. Very Happy

Jinak pokud jde o to řešení, které si zvolil Kutilmil tak to zkrátka beru tak, že někdo má raději řešení s různými obvody bez programování než aby cokoli programoval což je v duchu tohoto serveru a sekce Poradna není nijak vyhrazena jen pro řešení s programováním. U tohoto řešení jde v podstatě o elektro bastlení což by na tomto serveru neměl být problém.


Naposledy upravil Valdano dne ne říjen 22 2023, 16:19, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
EKKAR



Založen: Mar 16, 2005
Příspěvky: 31855
Bydliště: Česká Třebová, JN89FW21

PříspěvekZaslal: ne říjen 22 2023, 16:17    Předmět: Citovat

danhard napsal(a):
Především je zapotřebí ...
PŠŠŠŠT, to se tady nesmí vykřikovat tak nahlas !!!! Mr. Green Mr. Green Mr. Green Mr. Green Mr. Green
_________________
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...

A kutilmile - TY MNĚ TAKY Mr. Green Mr. Green !!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
kutilmil



Založen: Nov 01, 2008
Příspěvky: 4283
Bydliště: Skalica

PříspěvekZaslal: ne říjen 22 2023, 19:34    Předmět: Citovat

Dík Valdano a prepáč mi skomolenie mena. No ohľadom programovania: Je to ako píšeš. Ja by som rád naprogramoval nový kontroler a bolo by všetko vyriešené ale jednoducho nikdy som do programovania neprenikol a neviem to. Jediné čo viem naprogramovať a trúfnem si povedať že tam viem všetko je siemens LOGO!
Čo sa týka riadiacej dosky: Než si mi odpísal tak som spravil to čo posielam. Je v nej naviac zakomponované aj ovládanie pomocou 12V a reset stopiek. Neviem či to je zrozumiteľné. Keď tak kukni.



eb schema.pdf
 Komentář:

Stáhnout
 Soubor:  eb schema.pdf
 Velikost:  105.92 kB
 Staženo:  50 krát


_________________
Prosím EKKARa, aby na moje príspevky nereagoval a do mojich vlákien nepísal. Ďakujem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 3 z 4

 
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.18 sekund