Sterrenhemel

Dit topic is gesloten

Arco

Special Member

Gewoon een IR afstandsbediening, bijv RC5?
Als je de KBC56A van Noritake-Itron nog ergens kunt vinden, daar kun je bijna alles mee... ;). Gebruik ik vaak, kost maar een paar euro...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Op 3 november 2020 12:01:11 schreef Arco:
Gewoon een IR afstandsbediening, bijv RC5?
Als je de KBC56A van Noritake-Itron nog ergens kunt vinden, daar kun je bijna alles mee... ;). Gebruik ik vaak, kost maar een paar euro...

[bijlage]

En wat doe ik aan de 'andere' kant, c.q. de uC? Hoe ontvang en verwerk ik de codes?

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Code voor RC5 is er genoeg te vinden... (zal eens kijken of ik iets heb liggen)
Ontvangst kan met een simpele TSOPxxxx

Die Noritake geeft standaard 128 codes af; ik heb hem uitgebreid naar 4096... ;)
(Het ic erin is een SAA3010, die kan dat standaard. Alleen kwestie van schakelaartjes eraan hangen...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Op 3 november 2020 12:29:56 schreef Bavelt:
En wat doe ik aan de 'andere' kant, c.q. de uC? Hoe ontvang en verwerk ik de codes?

Daar kun je bijv. de TSOP1738 voor gebruiken. Dit gebruik ik ook in mijn robotarm met RC5 voor handbediening.

Als je haar maar goed zit, GROETEN LAMBIEK.
Bavelt

Golden Member

Als ik bij Farnell kijk, dan komen ze met de TSOP58438
Dat is zo ongeveer allemaal hetzelfde?

En wat is de 'tegenhanger' van deze TSOP (dus om eeen signaal te zenden om zelf een AB te maken?)

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

En wat is de 'tegenhanger' van deze TSOP (dus om eeen signaal te zenden om zelf een AB te maken?)

Dat noemen we een IR diode... ;) (aansturen met klein controllertje of een dedicated RC5 ic als bijv. de SAA3000/3010)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Nou, weer wat te doen. Dan ga ik daar maar eens mee testen. Is RC05 een vorm van standaard? M.a.w. hebben de meeste IR-afstandsbediening dat?

Ik had inmiddels een setje besteld met IR-AB en receiver bij TinyTronics.

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

RC-5 is van Philips en gebruikt door veel andere fabrikanten.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Dat wordt dus nog wel wat uitzoeken hoe dat precies werkt. Het uitlezen en herkennen van een ontvangen patroon /vertalen naar een actie...

Fouten zijn het bewijs dat je het probeert..
marcob

Golden Member

Misschien kun je hier info vandaan halen, wel andere Basic variant. Wel extra info over het protocol.

https://www.picbasic.nl/rc5-rc6_transceiver.htm

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Bavelt

Golden Member

Het eerste experiment is al mislukt.. :(

De remote control en moduultje zijn vanmorgen aangekomen. Ik heb het aangesloten op een simpele Arduino sketch om het te testen.
Het ledje op de print ging branden, maar de Sensor, een CHQ1838 werd gloeiend heet, vergezeld van een naar luchtje...

Ik vrees dat die nu is overleden. Het verwarrende is dat op diverse internetsites de aansluitingen (+, - en S) anders zijn.

Ik heb gekeken naar de pinlayout van de CHQ1838 en dat zou dan niet corresponderen met de aansluitingen op het printje...(+ en - omgedraaid)

Ik begrijp dat de CHQ1838 een 38 khz spec heeft. Moet ik dan ook een equivalent kopen die óók 38Khz is? (omdat anders de Remote en de sensor elkaar niet begrijpen?)

DE TSOP31238-VIS is 38Khz en verkrijbaar bij de plaatselijke electronica zaak.

Of mag het wellicht iedere TSOP zijn?

Fouten zijn het bewijs dat je het probeert..
Lambiek

Special Member

Op 4 november 2020 15:12:11 schreef Bavelt:
Het eerste experiment is al mislukt.. :(

Koop gewoon een RC5 afstandsbediening en een TSOP1738. Dan hoef je dat ding alleen maar uit te lezen.

Als je dit eens doorleest kun je zien hoe ik het gedaan heb.

https://www.circuitsonline.net/artikelen/view/58

https://www.circuitsonline.net/downloads/robotarm.zip

Als je haar maar goed zit, GROETEN LAMBIEK.
Bavelt

Golden Member

De TSOP1738 heeft 'mijn zaak niet. wel de TSOP1736, maar dat is weer een andere frequentie (36Khz)...

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

36, 38 en 40kHz TSOP's worden vaak door elkaar gebruikt, het werkt wel.
Alleen het bereik krimpt een stuk in. (zie de grafieken in de datasheets)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Net wat Arco zegt, dat ding doet het op 36, 38 en 40KHz. :)

Als je haar maar goed zit, GROETEN LAMBIEK.
Bavelt

Golden Member

Ok, een TSOP1736 zou dan ook gewoon werken begrijp ik.
Dan haal ik die wel op.

Wel 'grappig' dat het ding is doorgebrand. Het ledje knipperde wel wel bij verzenden van een signaal. Als de + en - zijn omgedraaid, zou die in feite ook niet moeten hebben kunnen werken.

Maar ala

Fouten zijn het bewijs dat je het probeert..
Lambiek

Special Member

Op 4 november 2020 15:55:32 schreef Bavelt:
Wel 'grappig' dat het ding is doorgebrand. Het ledje knipperde wel wel bij verzenden van een signaal. Als de + en - zijn omgedraaid, zou die in feite ook niet moeten hebben kunnen werken.

Zo moet je de TSOP aansluiten.

Als je haar maar goed zit, GROETEN LAMBIEK.
Bavelt

Golden Member

Zo moet je de TSOP aansluiten

Ik zie dat je een pull-up weerstand gebruikt voor de output (Waarschijnlijk open collector?)

Met een klein delertje: 330/10K. Waarom is deze? Om het niveau van de output lager dan 5V te krijgen?

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Inmiddels werkt de TSOP1736 die ik haalde gewoon met een simpele Arduino sketch. De IR-code wordt uitgeprint op de serial monitor (PC). Ik zie dat je een 5 karakter-string krijgt per toets. Wanneer je de toets vasthoudt wordt het FFFFF.

Wat zou het beste zijn om deze code in te lezen? gebruik maken van een interrupt op de Poort waar de pulsen binnenkomen?

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Kan op diverse manieren: IOC, CCP, Timer, pollen,...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Op 4 november 2020 17:51:49 schreef Bavelt:
Met een klein delertje: 330/10K. Waarom is deze?

Dat is geen delertje. De 10K is een pull-up en de 330E beperkt de stroom voor de TSOP, staat zo in de datasheet.

Om het niveau van de output lager dan 5V te krijgen?

Nee, de IR zender / afstandsbediening stuurt pulsjes naar de TSOP. De uitgang van de TSOP is in rust hoog en als deze data ontvangt van de zender wordt de uitgang pulserend laag.

Hier heb je een voorbeeld:

Hier verstuur ik 14 pakketjes met een frequentie van 38KHz.

Hier zie je twee maal wat er in zo'n pakketje zit.

En dit is het signaal op de TSOP. Als je goed kijkt kun je zien dat het signaal geïnverteerd is.

Dit is trouwens voor een IR lichtsluis, werkt erg goed en is razend snel.

Als je haar maar goed zit, GROETEN LAMBIEK.
Bavelt

Golden Member

Kan op diverse manieren: IOC, CCP, Timer, pollen,...

Ben er vanavond mee bezig geweest, maar blijkt toch wel lastig.
Het PicBasic programma uit de curus wijkt sterk af (met uitzoeken of het RC05/06 etc is van wat ik wil, eigenlijk alleen de ontvangen code op een LCD tonen.

Het programma met de LCD (HD44780) heb ik al.
M.a.w. als ik de string binnen heb, dan ben ik er.

Heb je wellicht nog een voorbeeldje voorhanden in MikroBasic mbt IR-ontvangst waar ik mee verder kan?

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Zo'n Chinees geval zal bijna zeker geen RC5/6 zijn, maar iets wat ze zelf hebben bedacht...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Op 4 november 2020 23:54:28 schreef Arco:
Zo'n Chinees geval zal bijna zeker geen RC5/6 zijn, maar iets wat ze zelf hebben bedacht...

Ik kocht hem weliswaar in Nederland, maar dat zegt idd niks. Het ding kan zomaar uit CHina komen, waar zoveel vandaan komt.. ;(

Er komt in ieder geval wel een string aan bij indrukken vn een knop (getest met Arduino). Hou je de knop ingedrukt, dan verschijnen allemaal 'F' -en.

Mijn idee is om de codes 'in te leen', waardoor ik ze kan gebruiken om de sterrenhemel aan te sturen (helderheid, aan/uit, etc).

Ik heb een keer geoefend met interrupts (inlezen string van Bluetooth device).

Nu dacht ik (wellicht niet slim of handig) een interrupt te gebruiken voor de Poort die aan de output van de TSOP1736 hangt.
En daarmee te string te 'herleiden'..

Of kan ik dat handiger doen?

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Op 4 november 2020 15:24:46 schreef Lambiek:
[...]
Koop gewoon een RC5 afstandsbediening en een TSOP1738. Dan hoef je dat ding alleen maar uit te lezen.

Als je dit eens doorleest kun je zien hoe ik het gedaan heb.

https://www.circuitsonline.net/artikelen/view/58

https://www.circuitsonline.net/downloads/robotarm.zip

Ik heb het nog niet door. in onderstaande code:

pic basic code:

;---------------------------------
; PROGRAMMA UITLEZEN IR COMMANDO.
;---------------------------------

start:                                        


Print At 1,1,"COMMANDO"                ; Zet commando op het display
Repeat                                 ; herhaal 
rc5_commando = RC5In                   ; Lees ir ingang
Until rc5_commando <> 255              ; Waarde 0 t/m 255 
Print At 1,10,Dec rc5_commando , "  "  ; Zet waarde op display
GoTo start                                    

en

pic basic code:



Declare RC5In_Pin PORTB.0              ; ir ontvanger op poort B.0

Dan krijg je toch alleen maar een 0 of 1 binnen op RC5_in?
Hoe kan die waarde dan 255 worden?

Ik heb de routine omgezet naar MikroBasic: (PORTA.4 = de TSOP)

pic basic code:

While True
  
 While PORTA.4 <> 255
   LCD_Out(1, 1, "Commando: " )
   Rc5_commando = PORTA.4
   ByteToStr(Rc5_commando, Str_1)
   LCD_Out(2, 1, Str_1)
 Wend

Wend

Maar op welke knop ik op de AB druk, er komt steevast "0" als karakter op het scherm.

Ik doe iets verkeerd... :?

Fouten zijn het bewijs dat je het probeert..

Dit topic is gesloten