Jaký vybrat IO pro jednoduchou úlohu.

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
JosipMoti
Příspěvky: 20
Registrován: 21 bře 2017, 00:00

Jaký vybrat IO pro jednoduchou úlohu.

#1 Příspěvek od JosipMoti »

Ahoj,

nedávno jsem si do auta udělal emulátor CD měniče pro pouštění hudby z telefonu přes AUX a rád bych to vyšperkoval a to tak, že bych chtěl posunutí skladeb v telefonu přepínat zmáčknutím tlačítka na středovém panelu.
Mám telefon s adroidem 6.0 a tam lze jedním a tím samým tlačítkem skladbu zastavit, posunout vpřed nebo zpět tím, že tlačítko spojí na 3,5 jacku prsten pro mikrofon se zemí. Pro stop se zmáčkne 1x, pro skladbu vpřed 2x a pro zpět 3x.
Jak to udělat nejjednodušeji, abych měl na panelu auta 3 tlačítka, kdy každé tlačítko by mělo jedno z výše zmíněných funkcí? Tedy, že tlačítko by vyslalo signál do IO a ten by podle toho jaké se zmáčklo tlačítko udělal 1,2 nebo 3 pulsy.
Možná bych to dokázal udělat pomocí Arduina nano, ale to mi přijde příliš složité, pro takto poměrně jednoduchou úlohu.

Přikládám i obrázek zapojení jak posuv skladeb fungoval na Android do 4.0. U novějších verzí Androidu se odpory vřazené do obvodu používají pro hlasitost a posuv skladem se provádí jak jsem již zmínil pomocí jednoho zkratovacího tlačítka.

Obrázek

PS.: Aplikace do telefonu, které by změnili funkce tlačítek jsem již zkoušel a žádná nefunguje.

Předem děkuji za jakékoli rady

Moti
Uživatelský avatar
EKKAR
Příspěvky: 35012
Registrován: 16 bře 2005, 00:00
Bydliště: Česká Třebová, JN89FW21

#2 Příspěvek od EKKAR »

A jedno tlačítko plus astabilní klopák, kterej by ti podle dýlky zmáčknutí tlačítka poslal potřebnej počet impulsů za sebou by ti nevyhovoval? To bys postavil s CMOS-ovou variantou NE555 nebo s nějakým CMOS digitálním švábem ze série CD4000 - dvě hradla zapojený jako AKO ...

Ono taky záleží na napětí, kterým to na místě můžeš živit a na proudu, kterej budeš moct takovýmu zapojení poskytnout.
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě :mrgreen: :mrgreen: !!!
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#3 Příspěvek od masar »

Hardwarově nejjednodušší je použití nějakého MCU, např. PIC.
Jinak lze kouzlit např. s 4017, posuvným registrem nebo i s tranzistory...
Na obrázku máš jednu z možností.
:wink:
Přílohy
3impulzy.png
(15.08 KiB) Staženo 207 x
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#4 Příspěvek od mtajovsky »

To je úloha jak dělaná pro nějaké 8 nohové ATtiny. Jen vyřešit nějak šikovně napájení.
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#5 Příspěvek od masar »

PICy typu 12F... (nebo i 6-pinové 10F...) by také úspěšně obstály. Jsou i typy se zabudovanou ZD pro napájení vyšším napětím. Ale výstup by mohl tvořit i nějaký optočlen. :wink:
Přílohy
3impulzy2.png
(10.34 KiB) Staženo 228 x
Uživatelský avatar
JosipMoti
Příspěvky: 20
Registrován: 21 bře 2017, 00:00

#6 Příspěvek od JosipMoti »

No pánové,

upřímně jsem čekal ještě nějakou jednodušší variantu :) ale v duchu jsem tento postup čekal.
Aby jste mě lépe pochopili: vše se učím za pochodu, sic mám El. školu, ale na škole jsem se moc nenaučil a teď to doháním jak to jde (bohu díky za ty internety :)) Stejně tak se začínám vyznávat v součástkách - dlouho jsem přemýšlel a hledal co by nahradilo stykač/rele v DPS (optočlen - Masare děkuji).
Sice se začínám učit programovat Arduino, tedy Atmel, ale chtěl jsem se kterémukoli programováni vyhnout. První příklad od Masara byl sice geniální ale stále příliš složitý/komplikovaný pro DPS.
MCU od Atmelu jsem chtěl nechat až jako poslední možnost, ikdyž jde naprogramovat pomocí UNO. Ve staré řídící jednotce chladničky mám Tiny15L, která by šla použít.

Ale poslední návrh od Masara je absolutně nejednodušší, sic se budu muset naučit programovat PIC a šlo by to udělat i s Atmelem, ale aspoň důvod se to naučit.

Každopádně musím smeknout před Vašimi znalostmi a hlavně Masarovými (doufám, že se ostatní neurazí).

Děkuji

Moti
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#7 Příspěvek od masar »

To uznání si možná zasloužím spíše za snahu pomoci, než za znalosti, lidí znalejších než já je tu hodně a mnoho z mých znalostí pochází od nich.
Vidím, že tě zaujalo programování PIC, tak jen dotoho, já jsem v tom také začátečník (asi věčný) a tak se s vlastním výtvorem nepochlubím. Hlavně nezapomeň na "debouncing". Jinak ale musím říci, že pro úvod do programování PIC je to pěkná úloha.
:wink:
Uživatelský avatar
silas15
Příspěvky: 90
Registrován: 09 úno 2013, 00:00

#8 Příspěvek od silas15 »

to:JosipMoti
mtajovsky to napsal možná pro tebe nejjednodušeji. Pokud máš čím naprogramovat attiny85 (45, atp.) (arduino) tak to bude asi nejjednodušší s tím, že můžeš použít zapojení s optočlenem.
Uživatelský avatar
PC-maniak
Příspěvky: 952
Registrován: 11 čer 2006, 00:00
Bydliště: Plzen-Jih

#9 Příspěvek od PC-maniak »

Taky se priklanim k pouziti maleho mcu .. budes to mit nejednodusi .. s napsanim programu klidne pomuzu .. + do budoucich aktualizacich .. neni problem prepsat jednotlive ukony zas na novo ... jen to napajeni
Tomáš
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#10 Příspěvek od masar »

Pokud by se ti nechtělo programovat, tak můžeš použít můj výtvor. Platí pro výše uvedené schema s PIC10F206 a 3 impulzy vyšle za 1s, střída 50/50.
:wink:
Přílohy
3impulzy.HEX
(481 bajtů) Staženo 210 x
Uživatelský avatar
JosipMoti
Příspěvky: 20
Registrován: 21 bře 2017, 00:00

#11 Příspěvek od JosipMoti »

Omlouvám se, že dostatečně včas neodpovídám na vaše nápady, řešil jsem více věcí najednou, ale taky jsem zkoušel vaše tipy.

Vhledem k tomu, že můj volný čas začíná ubývat geometrickou řadou kvůli práci, tak jsem přeci jen upustil od učení se programování PICu - rád bych si onu věc do auta zprovoznil v dohledné době :)
Za jeden večer jsem si naprogramoval anrduino nano na výše zmíněné pokyny, a vzhledem k tomu, že Atmel čipy se dají naprogramovat pomocí Arduina (ještě ale nevím jak :)) tak jsem zvolil tuto časově schůdnější cestu.
Ale i přes to bych rád využil tvojí nabídky MASARe na HEX, ale ta prodleva mezi stisky je moc velká, musí být v rozmení 0,3 - 0,5 s.
Další věc co jsem zjistil je, že optočleny v normální cenové relaci vždy na "spínací straně" obsahují nějaký odpor což je pro tuto aplikaci nevyužitelné (max odpor může být do 65 ohm). Proto se přikláním spíše k normálnímu jazýčkovému relé.

to Masar: pokud by se ti chtělo to znovu naprogramovat, tak bych tvojí nabídku rád využil.

Děkuji Vám všem za odpovědi a rád si přečtu i další. A o finální výsledek mého počínání se rád podělím, jen doufám, že to bude co nejdříve.
Den má prostě málo hodin :)
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#12 Příspěvek od masar »

JosipMoti píše:... ale ta prodleva mezi stisky je moc velká, musí být v rozmení 0,3 - 0,5 s...
Prodleva je 0,2s, stejně jako délka impulzu, viz obrázek. Lze ji měnit prakticky libovolně změnou jedné konstanty v programu, jen znát požadavky.
Pokud jde o ten optočlen, nevím, jak jsi došel k odporu 65Ω. Rozhodující je přece saturační napětí v sepnutém stavu. Také lze v případě potřeby použít MOSFET s Rdson hluboko pod 1Ω. Záleží na způsobu propojení s ovládaným zařízením.
Je zřejmé, že čas pro přenesení pulzů má být co nejkratší, ale na druhé straně musí být zařízení schopné na krátké impulzy reagovat. Když zadáš požadované časy, hex pošlu obratem. :wink:
Přílohy
asování.png
(43.87 KiB) Staženo 214 x
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“