Infrarood - Raw Codes - Hoe uitzenden met Arduino?

Goeiedag,

ik heb met de Arduino-IRremote-Master library een code ontvangen.. Nu, iedere maal ik druk op dezelfde knop van een infrarood afstandbediening verandert er een klein beetje timing..

Nu heb ik reeds AL die codes in een excel gezet, met =LEFT(), =MID() en =RIGHT() de codes juist kunnen zetten..

Dit deed ik om een gemiddelde te maken van de timing.. nu heb ik de gemiddeldes..

Van dit (80 maal):

m4350 s4550 m450 s1750 m450 s1800 m450 s1750 m450 s650 m450 s700 m450 s650 m450 s650 m500 s650 m450 s1750 m450 s1750 m450 s1750 m450 s700 m450 s650 m500 s600 m450 s700 m450 s650 m500 s650 m450 s1750 m450 s650 m450 s700 m400 s700 m450 s650 m500 s650 m450 s650 m450 s1750 m500 s650 m450 s1750 m450 s1750 m450 s1750 m450 s1800 m400 s1800 m450 s1750 m450

heb ik dit kunnen maken (gemiddelde):

4349 4547 468 1745 471 1743 465 1746 467 648 466 657 464 652 466 654 467 655 464 1742 465 1743 465 1749 462 660 461 652 467 655 463 658 462

Nu vraag ik me af hoe ik nu die raw ir data kan uitsturen met arduino? :D

Alleszins bedankt,

Niels

als iemand de excel wilt, vraag het maar!

Wat je nu eigenlijk precies wil doen is mij niet helemaal duidelijk… Als je de afstand bediening indrukt dan krijg je een IR reeks binnen die vertaald wordt naar een code. Dan kan je toch ook omgekeerd een code terugsturen wat dan weer vertaald wordt naar een IR code? via irsend()…

Bedankt voor je reply!

Ja, maar iedere keer ik op de aan/uit knop duw en die codes in de Seriële monitor bekijk krijg ik andere codes.. en ik las op een forum:

You should take multiple reading of the signal, then average their values to remove little bias error. Be sure your emitter and receiver use the same light wavelength and to work at 38KHz (you are transmitting modulating at 38KHz. If your emitter does modulation for you, then you should not use IRremote).

Ik heb de codes dankzij de library terug kunnen uitsturen, maar dit werkt maar 50% van de tijd.. Dus dacht ik dat er een soort kleine error opzat..

Daarmee wou ik de gemiddelden uitrekenen..

Bedankt, Niels

Nou ik weet niet welke lib je gebruikt, maar ik heb ooit een project gedaan met zo'n library en geen enkele probleem. Is de batterij wel goed? En niet zeggen dat het een nieuwe was in de verpakking want zou ik zeker een nieuwe halen. Of die afstandsbediening is gewoon rolt. De frequentie behoort vast te zijn. Bij een repeat daarin tegen krijg je een andere code......

Als je de sketch IRrecvDump.ino gebruikt die als 'example' file bij de IRremote library wordt geleverd dan krijg je toch een resultaat waarin wordt gemeld welk type code gebruikt is.

NEC, Sony , RC5. RC6 , Panasonic, LG of JVC Aan de hand daarvan kun je bepalen hoe de code die je moet zenden eruit ziet. Met deze lijst van 'raw' waarden kun je weinig beginnen als je verder niet weet welke codering gebruikt is. Het is niet eens duidelijk waar die s en m voor staan die voor die getallen staan.

Dus even aangeven welk demo programma je gebruikt hebt of anders de code van je sketch even toevoegen. Misschien dat dan het een en ander duidelijk wordt.

er staat niet voor niets een s en een m voor. dat is dus hoog en laag signaal. dat moet je natuurlijk wel bijhouden.

maak er in excel maar eens een grafiek van. dan krijg je een soort blokgolf. dan zie je vanzelf wel wat een 1 is en wat een 0 is, dat is wat anders dan een hoog en laag. zoek maar eens op RC5 code op het net.

cartoonist: Als je de sketch IRrecvDump.ino gebruikt die als 'example' file bij de IRremote library wordt geleverd dan krijg je toch een resultaat waarin wordt gemeld welk type code gebruikt is.

NEC, Sony , RC5. RC6 , Panasonic, LG of JVC Aan de hand daarvan kun je bepalen hoe de code die je moet zenden eruit ziet. Met deze lijst van 'raw' waarden kun je weinig beginnen als je verder niet weet welke codering gebruikt is. Het is niet eens duidelijk waar die s en m voor staan die voor die getallen staan.

Dus even aangeven welk demo programma je gebruikt hebt of anders de code van je sketch even toevoegen. Misschien dat dan het een en ander duidelijk wordt.

Bedankt voor de interesse en reacties!!

Dit heb ik juist gedaan..

om een voorbeeld te geven:

ik druk iedere maal op dezelfde toets en dit is drie maal de uitkomst: (heb dit wel verkort gewoon om een idee te geven)

Raw (68): -6874 8950 -4400 600 -550 600 -1600 550 -1650 550

Raw (68): 3562 4500 -4450 550 -1650 550 -1650 600 -1650 550

Raw (68): 6616 4500 -4450 550 -1650 550 -1700 550 -1650 550

De afstandsbediening werkt perfect op de tv.. (samsung) De tweede "smart"-afstandsbediening voor dezelfde tv geeft dezelfde verschillende codes.. Het is mij ook gelukt de tv met arduino te bedienen mbv de IRrecord - sketch.. Dit werkt alleen niet elke keer.. Dus dacht ik dat ik met de gemiddeldes iets kon doen.. Nu weet ik alleen niet hoe ik mijn opgenomen gemiddelden door arduino kan laten uitvoeren?

Bedankt!

Niels

Bij de IRremote library zit een 'example' sketch IRtest2.ino

Daarin zit een array die er zo uit ziet:

// This is the raw data corresponding to NEC 0x12345678
unsigned int sendbuf[] = { /* NEC format */
  9000, 4500,
  560, 560, 560, 560, 560, 560, 560, 1690, /* 1 */
  560, 560, 560, 560, 560, 1690, 560, 560, /* 2 */
  560, 560, 560, 560, 560, 1690, 560, 1690, /* 3 */
  560, 560, 560, 1690, 560, 560, 560, 560, /* 4 */
  560, 560, 560, 1690, 560, 560, 560, 1690, /* 5 */
  560, 560, 560, 1690, 560, 1690, 560, 560, /* 6 */
  560, 560, 560, 1690, 560, 1690, 560, 1690, /* 7 */
  560, 1690, 560, 560, 560, 560, 560, 560, /* 8 */
  560};

Als je daar je eigen waarden voor invult kun je die uitzenden.