Infra távirányító
Infra távirányító
Sziasztok!
Abban szeretnék segítséget kérni, hogy Atmega8 soros portjat
hogy lehet programozni? Miként lehet adatot kiküldeni rá?
Hogyan lehet adatokat fogadni? Miket kell beállítani?
Összesen 4 jelet szeretnék továbbítani, relék kapcsolgatására.
Köszönöm RortHer
Abban szeretnék segítséget kérni, hogy Atmega8 soros portjat
hogy lehet programozni? Miként lehet adatot kiküldeni rá?
Hogyan lehet adatokat fogadni? Miket kell beállítani?
Összesen 4 jelet szeretnék továbbítani, relék kapcsolgatására.
Köszönöm RortHer
Soros porton az írás fogadás a Print és Input utasítás.
Lábak kapcsolgatása a 38. fejezet: kezdők problámái (Portx változó).
Elképzelés? Mintaprogi? Esetleg előzetes terv? csak hogy mire kell készülni...
A Bascom könyv első 5-8 fejezetét fussad át, és a mintákat próbáld ki. Abból minden világos lesz (LEDvillogtató, majd LCD illetve sorosport fejezetek....).
Lábak kapcsolgatása a 38. fejezet: kezdők problámái (Portx változó).
Elképzelés? Mintaprogi? Esetleg előzetes terv? csak hogy mire kell készülni...
A Bascom könyv első 5-8 fejezetét fussad át, és a mintákat próbáld ki. Abból minden világos lesz (LEDvillogtató, majd LCD illetve sorosport fejezetek....).
Köszönöm.
Köszönöm a segítséget. Írtam már pár progit atmegara, de még kezdő vagyok. Egyenlőre jó lesz az RC5, de később inkább a soros portot
választom.
Távirányítós lámpa van készülőben
Üdv
választom.
Távirányítós lámpa van készülőben
Üdv
folyt
Hi!
Hosszú idő után folytatom az infra kommunikációt.
(Előző kérdésekben azért írtam a soros megoldásról, mert azt akartam
Összeéselni egy 38Khz-es négyszög jellel és infrán a végeredményt kiküldeni.)
Viszont az RC5 egyszerűbbnek tünt. Elkészült a vevő áramkör, egyenlőre csak egy relét szeretnék kapcsolni vele. De a kommunikáció még nem világos.
Ez került az atmega8-ba:
$regfile = "m8def.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "mcsbyte.lbx"
Config Rc5 = Pind.2
Enable Interrupts
Dim Address As Byte , Command As Byte
Print "Waiting for RC5..."
Do
Getrc5(address , Command)
If Address = 0 Then
If Command = 12 Then
Portd = 8
End If
End If
Loop
End
Ez pedig az attini2313-ba:
$regfile = "2313def.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40
Dim Togbit As Byte , Command As Byte , Address As Byte
Command = 12
Togbit = 0
Address = 0
Do
Waitms 500
Rc5send Togbit , Address , Command
Loop
End
Azt szerettem volna, hogy a távirányító hatására az Atmega8 kapcsolja be a PORTD-t 8-ra (itt van a relé)
Valaki tudna segíteni, hogy mért nem működik?
Hosszú idő után folytatom az infra kommunikációt.
(Előző kérdésekben azért írtam a soros megoldásról, mert azt akartam
Összeéselni egy 38Khz-es négyszög jellel és infrán a végeredményt kiküldeni.)
Viszont az RC5 egyszerűbbnek tünt. Elkészült a vevő áramkör, egyenlőre csak egy relét szeretnék kapcsolni vele. De a kommunikáció még nem világos.
Ez került az atmega8-ba:
$regfile = "m8def.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "mcsbyte.lbx"
Config Rc5 = Pind.2
Enable Interrupts
Dim Address As Byte , Command As Byte
Print "Waiting for RC5..."
Do
Getrc5(address , Command)
If Address = 0 Then
If Command = 12 Then
Portd = 8
End If
End If
Loop
End
Ez pedig az attini2313-ba:
$regfile = "2313def.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40
Dim Togbit As Byte , Command As Byte , Address As Byte
Command = 12
Togbit = 0
Address = 0
Do
Waitms 500
Rc5send Togbit , Address , Command
Loop
End
Azt szerettem volna, hogy a távirányító hatására az Atmega8 kapcsolja be a PORTD-t 8-ra (itt van a relé)
Valaki tudna segíteni, hogy mért nem működik?
bocs egy kicsit közbe vágok de nem akarok uj témát nyitni. Szal haveroméknál láttam hogy a szoba lámpát a TV távirányitójával kapcsolja. A faterja szerezte ezt a cuccot, és kéne egyet csinálni. Keresni egy olyan gombot a Távirányitón amit ritkán használok és alapesetben nem csinál semmit. Ha megnyomnám a gombot akkor venné a csillárban egy infraled és kapcsol egy relét ki be
ennyi lenne a feladat. Tud valaki segiteni? amugy samsung TV ről van szó
ennyi lenne a feladat. Tud valaki segiteni? amugy samsung TV ről van szó
Itt nem tiszta kód megy nálad ki. Ezek a rendszerek csak azt érzékelik, h infrajel jön vagy nem jön. ha jön, akkor 1 mp után a fényerőt fel illetve lefele kezdik szabályozni, attól függően, hogy előtte mi volt.
Itt az INT lábra megy az IR vevő kocka, és timerrel nézed h mennyi ideig van nyomva a távirányító gombja. Persze a lámpát fázishasítással szabályozod, így a nullátmenet figyelést is meg kell oldani a AVR chippel (pl. INT lábon). és ennek megfelelően az utána eltelt idővel begyújtani a tirisztort/triac-ot.
Itt az INT lábra megy az IR vevő kocka, és timerrel nézed h mennyi ideig van nyomva a távirányító gombja. Persze a lámpát fázishasítással szabályozod, így a nullátmenet figyelést is meg kell oldani a AVR chippel (pl. INT lábon). és ennek megfelelően az utána eltelt idővel begyújtani a tirisztort/triac-ot.
hali:)
nekem ennél képes azt printelni bármijen távirányitot probálok hogy address: 255
command: 255
ez mitöl lehet 3 távirányitot teszteltem... amint látjátok int0 án van
az ir led gyári dvdben van benne felhuzo ellenálat rajta.
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40
'Dim A As String * 15
Config Rc5 = Pind.2
Enable Interrupts
Dim Address As Byte , Command As Byte
Do
Reset Portb.4
Getrc5(address , Command)
Print "address:" ; Address
Print "command:" ; Command
If Address = 0 Then
If Command = 12 Then
Set Portb.4
Wait 2
End If
End If
Loop
End
nekem ennél képes azt printelni bármijen távirányitot probálok hogy address: 255
command: 255
ez mitöl lehet 3 távirányitot teszteltem... amint látjátok int0 án van
az ir led gyári dvdben van benne felhuzo ellenálat rajta.
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40
'Dim A As String * 15
Config Rc5 = Pind.2
Enable Interrupts
Dim Address As Byte , Command As Byte
Do
Reset Portb.4
Getrc5(address , Command)
Print "address:" ; Address
Print "command:" ; Command
If Address = 0 Then
If Command = 12 Then
Set Portb.4
Wait 2
End If
End If
Loop
End