4x4 matrixtasztatura bemenetre is lehet

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Dani » 2014. augusztus 23. szombat, 9:53

Sziasztok
Van egy áramköröm aminél kifogytam a lábakból (atmega m16), és szeretném a billentyű mátrix lábait másra is használni a programban később, mert amúgy azt csak a menüben használom később már nem. A Getkbd() parancsot használom a menuben ,eddig a program elejére írtam Config Kbd = Portd , Debounce = 10 ,ezt irhatom-e a menurészben Getkbd() parancs élé közvetlenül. A billentyűzet az D porton van .

Köszönettel Dani

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3293
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: kapu48 » 2014. augusztus 23. szombat, 11:45

Lehet!

De rakjál soros áram korlátozó ellenállásokat a tasztatura kimeneteire! (220ohm)

Mert ha valaki hozzá nem értő rosszkór nyomkodja a gombokat?
Zárlatot okozhat és tönkremegy a meghajtó kimeneti áramköre.

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Dani » 2014. augusztus 23. szombat, 13:06

Köszönöm a választ, vannak rajta 680ohnos ellenállások,de a fő kérdés hogy a
"Config Kbd = Portd"
sornak a program elején kell-e lennie vagy bárhol lehet csak megelőzze a
"getkbd "
utasítást ?
Illetve a többi " config " sor is bárhol lehet, csak megelőzze a használatot ebben nem vagyok biztos hogy ez igaz.
Köszi Dani

Avatar
ampervadasz
Bitmanipulátor
Hozzászólások: 119
Csatlakozott: 2008. január 19. szombat, 7:00
Tartózkodási hely: Mátraterenye
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: ampervadasz » 2014. augusztus 23. szombat, 15:26

Szervusz Dani!

Amikor szükségét érzed, akkor kell a config sorokat ebben a feladatban alkalmaznod.

Ha bemenetként szeretnéd figyelni, akkor
"Config Kbd = Portd"
"getkbd "

Viszont ha kimenetként szeretnéd alkalmazni a mátrixot, akkor külön külön kell beállítani az adott port állapotát "input, output".

Ezeket a programodban bárhol és a feladatnak megfelelően bármikor megteheted.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9953
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Robert » 2014. augusztus 23. szombat, 15:37

Vagy még tipp: A getkbd kódot magad használod és a lábállapotokat is magad állítgatod.
Ekkor tuti minden a kezedben van....

De kérdés: I2C buszod nincs? Arra egy PCF8574 és arra a gombmátrix. Felszabadul így 8 lábad a főprocesszoron....
Vagy ha ez az első I2C, akkor a 8 láb helyett 2 megy I2C-nek és a maradék hat szabad....
Vagy több I2C bővítő (MCP23017, PCF8574), esetleg célprocesszor a gombok+LCD kezelésre és I2C-n a központira?

Avatar
ampervadasz
Bitmanipulátor
Hozzászólások: 119
Csatlakozott: 2008. január 19. szombat, 7:00
Tartózkodási hely: Mátraterenye
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: ampervadasz » 2014. augusztus 24. vasárnap, 9:09

Szervusz Dani!

Egyet kell értenem Robert mesterünkkel. Csináltam már hasonló projektet a te variációddal, de azt kell mondanom, hogy nagy odafigyelést igényel mind hardver, mind szoftver szempontjából.
Javaslat. I2C busz. 1db PCF8574 a kimenetnek, egy másik PCF8574 a bemeneteknek. (természetesen más címen). Így kapsz plusz 2db teljes értékű portot. Ezen portokat be tudod állítani input-ra, illetve output-ra (a mátrix miatt). Ezt egy szubrutinnal tudod lekezelni, amikor a PCF8574 megszakítást küld a kontrollernek.
Az egész rendszer 5 vezetékkel csatlakozik a procihoz. (+5V, GND, SDA, SCL, INT).

Valahogy így gondoltam:
http://www.mikrocontroller.net/attachment/42269/board.png

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Dani » 2014. augusztus 24. vasárnap, 20:30

Köszönöm a válaszokat. de már kész van a program csak kellet még egy bemenet. Portbővítőt vetten a Robitól de ahhoz eléggé szét kellene túrnom a programot, meg i2c használatában nincs gyakorlatom még.A tasztatúrát csak alapértékek beállításában használom amit elmentek eepromba utána Goto &H00 ujraindítom a programot és nem használom a tasztaturát a program futása alatt így felszabadul 8 láb.Még az is kérdéses számomra hogy az lcd adat lábait piszkálhatom-e a program közben amikor nem írok ki rá (használhatom-e kimenetnek természetesen egy másik lábbal együtt akár tárolóval)

Avatar
ampervadasz
Bitmanipulátor
Hozzászólások: 119
Csatlakozott: 2008. január 19. szombat, 7:00
Tartózkodási hely: Mátraterenye
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: ampervadasz » 2014. augusztus 24. vasárnap, 21:03

Szervusz Dani!

A "Goto &H00" -át nem tartom valami szerencsésnek! Szerintem a főprogramot Do - LOOP közé építsd fel és szubrutinokkal ugorj ki belőle.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9953
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Robert » 2014. augusztus 24. vasárnap, 21:15

Az LCD kezelhető így, DE:
- csak az adatlábak, az RW és az E nem.

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Dani » 2014. szeptember 1. hétfő, 21:25

Sziasztok Köszönöm a válaszokat.
Mivel a gép amire készül az elektronika nincs nálam és szelep időzítések később fognak kiderülni, a beállítás után eepromba mentem az adatokat és elvileg többet nem használom, és a beállítások után újra szeretném indítani az egész programot amikor is a beállító rész nem fut át ugrom nem foglal változóknak helyet.
Mi a probléma a "Goto &H00" ugrással, miért nem ajánlod a használatát. Ez nem ugyanaz mintha kikapcsolnám a tápot és utána be ? Szerintem törli a változókat minden alaphelyzetbe állít,vagy nem?
Üdv Dani

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9953
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Robert » 2014. szeptember 2. kedd, 2:34

Bootloaderes program esetén nem működik. A bootloader címe változik. Ha _korrekt_ újraindítást akarsz: a Watchdog járjon le és indítsa újra a chipet.

De korrekten nem a chip újraindításával is megoldható a változók módosítása. A chip újraindulása alatt minden láb bemenet. Ez a szelepvezérlők lekezelik? Azaz mintha nem lenne benn a processzor. Lebegnek a vezérlőlábak...

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Dani » 2014. szeptember 2. kedd, 17:53

Szia Robi
A tőled származó 4 relés panelt használom a kimeneteken nem vettem észre hogy induláskor gondot okozna hogy a relépanel bemenetei lebegnek.
Ha a Watchdog jár le akkor is ez a helyzet nem?

Köszi

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9953
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 4x4 matrixtasztatura bemenetre is lehet

HozzászólásSzerző: Robert » 2014. szeptember 2. kedd, 18:47

A relépanel bemeneten LED van. Azt nem hajtod meg ekkor, de gondot nem okoz.
Azonban a Solt melletti rádióadónál, hosszú vezeték esetén simán begyújtana a LED lebegő kimenet esetén... (a térerőből nyert energiával világíthatsz)


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég