Parallax ColorPAL

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Sziasztok!
Kaptam egy ColorPAL nevű színszenzort, amit a Parallax gyárt. Egy Atmega16-tal szeretném használni, de nem jön össze. A szenzornak soros porton el kell küldeni egy parancsot, hogy milyen módban szeretném használni. A küldést a serout paranccsal csinálom, ez működik szépen, mert a szenzor azt csinálja, amit küldök neki. A szenzor ezután elküldi az értéket ugyan azon a lábon, amire küldtem az adatot. Ennek a beolvasását a serin paranccsal próbáltam megcsinálni. A szenzort két üzemmódban is próbáltam, egyiknél sem kaptam vissza használható információkat. Az egyik módban az adatlap szerint a szenzor 3db 3 jegyű hex számot küld vissza. Így:nnnnnnnnn
Ezt hogy lehetne fogadni úgy, hogy ebből meg tudjam állapítani az RGB kódot?
Próbáltam a másik módot is, itt színenként küldi el az értékeket, itt is 3 jegyű hex-ben. Itt is érdekes számok jöttek.

Adatlap: http://www.parallax.com/Portals/0/Downl ... lorPAL.pdf
Példaprogram Basic Stamp-hez: http://www.parallax.com/Portals/0/Downl ... ograms.zip
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Most nem tudom ezt HW-oldalon, hogyan oldottad meg?
Mert a Sorosvonal az 2 vezetékes, 1-iken folyik az adás, másikon a vétel.
Ami 1 vezetékes soros kommunikációként szóba jöhet az 1-wire busz.
http://avr.tavir.hu/modules.php?name=Co ... age&pid=28
:?: :roll:
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

A serin/serout utasítással ugyan azt a lábat lehet használni küldésre és olvasásra is. Az avr egyik lába közvetlenül össze van kötve a szenzor sig lábával. Hw-ről mást nem tudok mondani. Szerintem ez nem 1 wire lesz, mert azokkal a parancsokkal egyáltalán nem ment a szenzor. Egyébként szerintem elég rosszul van dokumentálva ez a szenzor.:S
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Esetleg az : ECHO OFF
Utasítást próbáltat?
:?:
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Most megpróbáltam, de nem jó. Viszont nem értem, hogy ezzel mit érhettem volna le. Egyébként a szenzorban is egy avr van, gondolom néztétek az adatlap alján a kapcsolást.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ilyen 1 vezetékes módszert még nem használtam csak tapogatódzom!
Még hiba lehetőség lehet a rossz kristály, vagy oszcillátor érték választása esetén nem pontos Baud értéket kapsz?
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

A beállítások szerintem jók, az avr már régóta erről a kristályról megy, és a PC és az avr között jó a soros kommunikáció. Próbáltam több Baud-dal is a szenzor és az avr között, mert az adatlapban csak annyi volt, hogy 2400 és 7200 között bármivel működik. Eddig a 4800-zal kaptam csak számokat, a többi esetén mindenféle hülyeség jött.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Serin, Serout az nem erre való!
HW/SW sorosportként használd!
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

De ugyan arra a lábra lehet sw soros portot beállítani?
Most el kell mennem, este még próbálkozok, majd jelentkezek, hogy mi sült ki a dologból. Köszi az eddig segítséget!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

SW sorosport vagy HW sorosport lehet....

SWsorosport nyitása:

Kód: Egész kijelölése

Open "COMD.1:9600,8,N,1" For Output As #1 
Bár a Serin/Serout is hasonló lehet (azt még nem használtam).
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

agent-g!
A serin/serout-ot próbáltam használni, a súgót is elolvastam, de nem sikerül.

Robert!
A szoftveres soros port segítségével még annyit sem tudok elérni, hogy a szenzor valamit is csináljon.

Egy ismerősöm még Parallax procival se tudja összehozni. Elég érdekes dolog. Ha esetleg valakinek még lenne valami ötlete, kérem ossza meg velem!
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Az az igazság, hogy már én is csak találgatok a kóddal kapcsolatosan.
Ez a Robert által javasolt módszer kódja:

Kód: Egész kijelölése

$regfile = "m16def.dat"
$crystal = 16000000
$baud = 4800

Dim Parancs As String * 12
Parancs = "= G !"

Do
Gosub Palreset
Open "comb.1:4800,8,N,1" For Output As #1
Print #1 , Parancs
Close #1
Waitms 500
Loop

Palreset:
Config Portb.1 = Output
Reset Portb.1
Waitms 60
Set Portb.1
Config Portb.1 = Input
Return


Nekem még az furcsa, hogy 3 jegyű hex szám jön minden színhez, ami már több mint 255. Az ugye maximum 4096 lehet. Ilyen nagy felbontása lenne? Az adatlap ilyet nem említ...
Válasz küldése