Programozott LED villogó

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
mester1025
Biztosítékgyilkos
Hozzászólások: 52
Csatlakozott: 2011. május 24. kedd, 6:00

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

sziasztok,
olyan kérdésem lenne, hogy:
például egy vagy több Led villogtatását szeretném megoldani, de a honlapon található Led villogtató pl.:
portb.x=1
waitms 2
portb.x=0

ilyesmit függvénnyel meg lehet irni?
mármint gondolom nem ugy csinálják, hogy ha egy led villogtatást szteretnének megoldani, hogy x sorban leirják mit csináljon a led....nem lehetne ezt megoldani egy függvénnyel?
( bascomban probálkoznék ilesmivel :) )
bocs ha kicsit káoszosra sikeredett..
köszi
:D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Azaz?

megoldható, ha a leírófüggvény: színusz, teljes port, cos, tangens, véletlenszám (rnd).
És 1 teljes portot kezelsz :)

Vagy gyártasz saját függvényt a declare function() résszel....
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Egyetlen LED tulajdonsága: ég/kialudt, mennyi időre illetve milyen fénnyel.
több LED esetén: mi a leírófüggvény, ezek mennyire vannak egymástól... Milyen színe legyen (RGB)?

Mondjuk ez jó? :)

http://www.youtube.com/watch?v=cMrm2_bTk0Y
http://www.youtube.com/watch?v=dJGg-SG-auk
http://www.youtube.com/watch?v=f1YNyQqbiF0
http://www.youtube.com/watch?v=l4F8UbM- ... re=related

Az utolsó viszi nálam a pálmát.....
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

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

Szia!
Van 2-féle kispanelem, amelyek LEDes reklámvilágításhoz készültek anno.
M8+ULN2803 meghajtó+kis táp van rajta.
Az egyiken RS232 csati, ezen keresztül lehet a szekvenciális táblát feltölteni ASCII file-ból, a kisebben csak TTL soros van kivezetve, ott kell programozni.(ezen ISP sincs, szóval a működtetőprogram feltöltéséhez
madzagolnod kell, eredetileg előreprogramozott M8 került bele, ezért nincs rajta).
Ha kell, adhatok panelt, programot (már ha megtalálom a teljes leírást).
Ezek SW PWM-et és kapcsolós üzemmódot is tudnak.

http://kepfeltoltes.hu/view/110622/ledv ... es.hu_.jpg

http://kepfeltoltes.hu/view/110622/ledv ... es.hu_.jpg

JAni[/img]
Avatar
mester1025
Biztosítékgyilkos
Hozzászólások: 52
Csatlakozott: 2011. május 24. kedd, 6:00

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

ezekről a sin stb leírófüggvényekről hol tallhatok mintát?..vagy tudnátok egy egyszerű programot mutatni a müködéséről..sajnos egyátalán nem tudok semmit ezekről :(
csak annyit szeretnék elérni, hogy a led villogását ne kelljen igy leirni hogy mennyi ideig 1 majd 0...hanem valami szabályszerűség szerint villogjon.

illetve tudnádtok példát mutatni, hogy tudok saját függvényt irni ez esetben?

köszi
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Amit belinkeltem neked oldalakat, ott van a Bascom minta!
Csak átkel írni saját ízlésed szerint!
Amíg nem tudatod velünk a konkrét elképzelésedet, Addig nem tudunk neked konkrét mintát mutatni!
Mivel nagyon tág határok között lehetne válogatni!
:?:
Avatar
mester1025
Biztosítékgyilkos
Hozzászólások: 52
Csatlakozott: 2011. május 24. kedd, 6:00

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

amit belinkeltél nekem tul bonyolult még :(
konkrét elképzelésnek annyi van, hogy egyetlen vagy több Ledet szeretnék villogtatni...olyan modon, hogy ne kelljen leirni hogy mennyi ideig legyen magas és alacsony szintű a kimenet.
szóval egy egyszerű primitiv dolog lenne...csak nemtudom hogy kell hazsnálni pl Róbi által említett leírófüggvényeket.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

1 Példa 8-as ledsórra 8 lépésben.

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

' LEDpélda.bas

$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 24

Config Portd = Output                                       'LED vezérlő kimenetek
Ledport Alias Portd

Config Timer0 = Timer , Prescale = 64                       'Clock value: 15.625 kHz
On Ovf0 Refresh                                             'Időzítés mgszakítás
Enable Timer0                                               ' enable the timer interrupt
Enable Interrupts

Dim Szamol_w As Byte                                        'Mutató az adat számláláshoz
Dim Ledadat As Byte                                         'Ledsórnak küldöt adat Byte
Dim Total_tabla As Byte
Dim Var As Word                                             'Várakozás adat Ms.

Total_tabla = 8

Do
For Szamol_w = 1 To Total_tabla                             'Ciklus a ledek kapcsolásához
    Ledadat = Lookup(szamol_w , Ledtabla)                   'Beolvassa a LED álapotát
    Ledport = Ledadat                                       'Ki teszi a Portra
    Var = Lookup(szamol_w , Waittabla)                      'Beolvassa a várakozás idejét
    Waitms Var                                              'Késleltetés a láthatóság kedvéért
Next Szamol_w
Loop

End                                                         'end program

Refresh:                                                    'Timer0 INT rutin
'Még nincskész!

Return



' Villogás várakozás tábla Ms-ben
Waittabla:
Data 200 , 150 , 100 , 150 , 200 , 300 , 350 , 400

'Led táblát Binárisan könyebb kezelni!
Ledtabla:
Data &B00001111 , &B11110000 , &B00111100 , &B01100110 , &B00011110 , &B00111100 , &B01111000 , &B11110000

De lehetne még pár elgondolásra megoldást irni!

:D
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2011. június 22. szerda, 14:37-kor.
Avatar
mester1025
Biztosítékgyilkos
Hozzászólások: 52
Csatlakozott: 2011. május 24. kedd, 6:00

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

köszönöm így már érthető..még annyit hogy a refresh után mi hiányzik még?
bocsánat ha hülyeségeket kérdezek.. :oops:
de tényleg szeretném megérteni és megtanulni :P
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Ebben csak előre definiált adatok vannak!
Azt hiszem neked kezdésnek elég lesz megépíteni hozzá a hardvert!
És belőni!

Később, ha mást is akarsz csinálni a várakozást megszakításba kel tenni.
Hogy ne vigye el a proci teljes idejét! Oda lehet valamit kitalálni, hogy az időzítés folyamatos és szép legyen.
:wink:


( Timer0 INT Csak benne maradt az előző példa programból, amit jól megvágtam. :) Majd később fog kelleni.)
:lol:
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2011. június 22. szerda, 13:17-kor.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

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

Szerintem "script"-et nem olyan egyszerű megcsinálni, mivel akkor írnod kell egy interprettert. Tehát azt szeretnéd, hogy a ledállapotokat az általad meghatározott függvény határozza meg (pl. Led1=255*sin(TimeClick)), amit mondjuk soros porton beviszel?
(sok videoeditor prg. tud ilyet, de azok ugye erőművön (-sem nagyon) futnak)
Vagy félreértettem?
JAni
14:17
Avatar
mester1025
Biztosítékgyilkos
Hozzászólások: 52
Csatlakozott: 2011. május 24. kedd, 6:00

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

köszönöm szépen a példát...értem és müüködiiiiiikkkk végre :):):):)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Ötlet a PWM-es fényerő szabályozáshoz:
Az előbb felvetett: (pl. Led1=255*sin(TimeClick)) függvényt előre kiszámítod és eltárolod 1 tömbben. Mivel sokszor lesz rá szükség, így csak bekel olvasni az indexelt értékeket.
Ami jóval gyorsabb, mint a sinusszámítás!
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

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

Csak egy egyszerű példa volt (bele lehet kötni, hogy ált. rad. ban kell megadni stb) a lényeg, amire rá akartam kérdezni, hogy math. kifejezést a programban fixre akar tárolni, vagy univerzálisan, "máshonnan beírt, tetszőleges" script-et akar-e futtatni. Anno 25 éve is volt script egy villogó cuccra (pl. 3DS), ahol megadtad, hogy milyen idővel, milyen függvény szerint változzon a fényerő. De az INTERPRETER dolog volt, manapság JAVA közeli script. (a hülyét kapom, amikor egy project file-ban a obj. benne van, de a script meg kimarad, ami a lényeg)
Tehát egy programban manapság a pupák összekattingatja a dolgot, de egy sorban benne van egy egysoros script, emiatt a project-je közel sem azonos eredményt hoz. Félreértés ne essék, nagyon becsülöm, hogy egy program bármilyen paraméterét bármilyen paraméterrel összefüggésbe lehet hozni. Ebben van sok program előnye. (ha valaki megnéz egy AfterEffects project-et, a gagyi tutorial utan elsőre belefut egy egysoros scripbe, ami bármilyen paramétert-bármilyennel összefüggésbe hoz)
Különben úgy érzem, egy egyszerű LEDvillogtatóbó így születik egy űrsikló project, ami tud KV-t főzni is, a Hold állásától függően.
JAni
De az ilyen hozzárendeléseket ne egy AVR csinálja már...Én is írtam indexelt-indexelt-relative-eltolt ugrási című/helyesbített cuccot, nem kívánom a debug-ot senkinek.
Visszatérve a LEDvillogtatáshoz, ha tetszőleges függvény kell, akkor értelmező kell hozzá! És inentől nem nézzük hulla hülyének az objektumorientált dolgokat, szóval lehet nagyot nézni, hogy mire nem jó egy lineáris nyelv.
Bocs, ha meghaladtam az univerzális programozásra való rámutatást, én úgy értelmeztem a kérdést, az,hogy valaki "villogjon fűrészfogjellel a Port1 egy LED, néha" nevű kívánságot is kellene teljesíteni.
(ami megoldható, megfelelő paraméterezéssel)

(Robi a Tanár , tudja, de már, 3x-ra törik össze az üzenetem....)
Jani... Asszem...Valamikor este...
Válasz küldése