EEVblog

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ค. 2024
  • How to capture and reverse engineer an infrared IR code and use an Arduino or other microcontroller to replay the command.
    Oscilloscope and logic analyser capture, coding, troubleshooting, tounge angle, it's all here.
    In this instance Dave captures the NEC (Japanese) code from his Canon video camera remote control on the digital oscilloscope, figures out all the bits and encoding, and writes an Arduino library to replay the code back, and verifies it with his Saleae Logic logic analyser.
    Previous simple hack video: • EEVblog #505 - IR Lear...
    CODE: gist.github.com/EEVblog/6206934
    Forum: www.eevblog.com/forum/blog/eev...
    EEVblog Main Web Site:
    www.eevblog.com
    EEVblog Amazon Store:
    astore.amazon.com/eevblogstore-20
    Donations:
    www.eevblog.com/donations/
    Projects:
    www.eevblog.com/projects/
    Electronics Info Wiki:
    www.eevblog.com/wiki/
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 289

  • @unebonnevie
    @unebonnevie 8 ปีที่แล้ว +23

    Btw, just to be clear for folks, the 26ms that you divided by in your IRcarrier() function is THE PERIOD of the 38Khz. Freq = 1/Period, which means Period = 1/Freq = 1/38Khz = 0.0000263157 sec = 0.0263157msec = 26.3157usec, which is roughly 26usec.
    So, your code wanted 9000usec of 38Khz carrier freq means that "how many periods of 26usecs do I need to generate?", which means 9000usec/26usec = 346 periods, that is, 346 iterations of the loop in your IRcarrier() function.
    That's how the 38Khz carrier frequency is generated with an I/O pin.

    • @haideralikhan5947
      @haideralikhan5947 ปีที่แล้ว

      Thanks a lot. That's the only part I didn't understood

  • @GuardedDragon
    @GuardedDragon 9 ปีที่แล้ว +55

    "The old fashioned way" : A digital oscilloscope. :D

    • @debasish2205
      @debasish2205 3 ปีที่แล้ว

      I understand your concern, his perception is relativistic

  • @carlarrowsmith
    @carlarrowsmith 8 ปีที่แล้ว +7

    Brilliant, explained so well and in just the right level of detail. Thanks Dave!

  • @kf7tkj
    @kf7tkj 10 ปีที่แล้ว +1

    Dave thank you for this video, I just got my first oscilloscope and this made my day for another semi beginner! The protocol explanation was great it helps me put what I have learned about protocols into real world examples! Thanks again!

  • @StephenArsenault
    @StephenArsenault 3 ปีที่แล้ว +1

    David - it’s an older video but I found it really useful! I’ve been recording a custom protocol used on original Macintosh keyboards (pre ADB) and plan to do an Arduino implementation. Your segment about using the Arduino and pitfalls to be mindful of confirmed the best practices I was anticipating - thank you!

  • @Vorsteven
    @Vorsteven 10 ปีที่แล้ว

    Thanks Dave! You managed to put so many different topics into a simple project like this and kept it easy enough for starters to follow. Great Video, I really enjoyed it :)

  • @benwolfe1301
    @benwolfe1301 ปีที่แล้ว

    Thanks for this video Dave! Your code is much more elegant and easier to understand than any of the IR libraries online. I was able to modify it to duplicate a Sony AV remote and it worked!

  • @msaad42
    @msaad42 4 ปีที่แล้ว

    Again got help from here after so many years, thanks Dave , you are a legend.

  • @ShopperPlug
    @ShopperPlug ปีที่แล้ว

    Excellent explanation, thanks for showing how things actually work by theory using the oscilloscope.

  • @sagaertj
    @sagaertj 10 ปีที่แล้ว +57

    If you don't have a digital scope, just connect the output of a photo diode to your line input of your pc's audio card and record the data.

    • @daver2355
      @daver2355 10 ปีที่แล้ว +1

      thats a great idea!!

    • @macguionbajo
      @macguionbajo 9 ปีที่แล้ว +11

      Dave R Good idea indeed but there's a limitation. The standard audio cards are made to sample from around 20Hz to 20000 Hz. That's not enough to see the actual carrier frequency, but its totally good enough to decode each button code. I just made this a couple of days ago, and I was able to decode every single button :D. Btw I used a free software that plots the mic input and lets you visualize interesting stuff like frequency gains.

    • @Inspironator
      @Inspironator 7 ปีที่แล้ว +1

      What was the name of that free software you used, please?

    • @Chriva
      @Chriva 7 ปีที่แล้ว +1

      There are soundcards capable of 24 bit @ 192khz. That ought to be enough for things like this :)

    • @marlonmartins82
      @marlonmartins82 7 ปีที่แล้ว +6

      I just did this, as my receivers did not make a proper capture of the signal. using a standard sound card was able to clearly see the codes with a simple ir receiver (2 pin on mic input). my air conditioner had a 36-bit code, so I made a few modifications to the code posted here, adjusted the initial timings (assumed a 38khz carrier) and bam! working fine! captured the output to match the original remote, and from there I refined the timings. (i did not have an oscilloscope). an arduino pro mini 3.3v did the job perfectly

  • @87knox
    @87knox 10 ปีที่แล้ว

    Amen to that. This channel is really getting good with all the how-tos as opposed to teardowns, mailbags, and rants (not that those aren't appreciated).

  • @plecto1234
    @plecto1234 10 ปีที่แล้ว +1

    I recently made a remote control and IR receiver for dimming six leds individually. Used a timer to create the carrier signal and used the UART with a baud rate of 2400 to send the information, worked liked a charm :D Each transfer consisted of four bytes, the first and last byte are address bytes, I hardly get any bit error :)

  • @cbranalli
    @cbranalli 9 ปีที่แล้ว +6

    great work Dave.
    i'm an electrical engineer who has been out of the technical loop for 25 years.
    your videos are perfect for bringing somebody like me up to date.

  • @TheBananaPlug
    @TheBananaPlug 10 ปีที่แล้ว +1

    This is exactly how a fundamentals video should be done. Well played Dave, a great combination of theory, practical and how to salvage stuff from everyday consumer junk. I dont have enough thumbs to put up.

  • @VintageLabSilvioPinheiro
    @VintageLabSilvioPinheiro 10 ปีที่แล้ว

    Dear Dave Master,
    Thank you for sharing your vast knowledge with us so enthusiastic and smart.

  • @foldi001
    @foldi001 10 ปีที่แล้ว

    Hello Dave,
    a great video!!
    For me it was always something mystical, when I read of decoded protocols. Thanks for your explanations.

  • @TheBadFred
    @TheBadFred 10 ปีที่แล้ว

    Great video! I like the fact that you use the arduino platform, because it is easier to write code for than the usual development systems from AVR or Microchip.

  • @johnnyboy2000
    @johnnyboy2000 6 ปีที่แล้ว

    That's a great job done. I had been trying to do this in software on an ESP8266. Thanks to your informative video, especially the debug part, I am able to send IR from the ESP8266 and ultimately anywhere in the world!

  • @MikeSims70
    @MikeSims70 4 ปีที่แล้ว

    By far one of the best explanations of IR signaling I've ever seen or read ... I definitely understand it 50% better than I did before watching the video ... but I am still uncertain how this knowledge can be applied to different protocols such as Sanyo, Sony etc. I'm going to power up the scope and see what I can figure out. Thank you for once again producing a quality electronic tutorial.

  • @kevincozens6837
    @kevincozens6837 10 ปีที่แล้ว

    Thanks for the video, Dave. My cable TV provider is going all digital so I need to use an external digital decoder box to be able to pick up all the old channels. I've been wanting to make a device that can send the IR codes to the external box. This video has certainly helped me to work out how to decode the IR signals sent by the remote.

  • @NiranjanaMurthyC
    @NiranjanaMurthyC 9 ปีที่แล้ว

    Really impressive, informative with full clarity. Thank you.

  • @EngineeringVignettes
    @EngineeringVignettes 10 ปีที่แล้ว

    A good little bit on reverse engineering. I like the fact that you pointed out something that not many newcomers (to programming) catch; the fact that subroutine calls do not take zero time to execute, especially when they have to change registers or interface to the real world... usually not a big deal, unless you are writing tight timing loops, and then it really matters. Good job.

  • @elboa8
    @elboa8 10 ปีที่แล้ว

    Really makes a nice change from teardowns. Nce job. Thanks Dave.

  • @PA3CSX
    @PA3CSX 2 ปีที่แล้ว

    Thanks Dave!
    i used your code to make a AC ON/OFF control for the Dometic HB2500 Airco. As far as i known no replacement remote controls are available for this Dometic HB2500 so i am making my own to help out a neighbour. He was told to buy a new Airco for his RV when his remote control broke down.
    Greetings from the low lands :-)

  • @MrRoyzalis
    @MrRoyzalis 10 ปีที่แล้ว +2

    It's easy to throw a video onto TH-cam. Not as much when you take the extra time to make the video concise yet meaty - like this video; well done.

  • @CryptoWorld2
    @CryptoWorld2 4 ปีที่แล้ว

    Always great videos...ive watched you even before i started engineering and you're the real deal!

  • @frollard
    @frollard 10 ปีที่แล้ว

    I ran into this style problem (the timing of a carrier frequency) when driving led strands over software spi; I learned a valuable lesson about digitalWrite that day. Very cool stuff. I would really like to have seen a quick note in the video reminding people that the more human friendly code is REALLY time-inefficient on these limited platforms. At least the reminder is in there about what caused the problem.

  • @undercrackers56
    @undercrackers56 10 ปีที่แล้ว

    Really interesting and informative. I am sure that various experts can take pot-shot criticism at various details. However it takes real cojones to produce and share this. Thank you.

  • @alexanderet98
    @alexanderet98 10 ปีที่แล้ว

    This wold make a great new weekly segment! Great video :)

  • @gummansgubbe6225
    @gummansgubbe6225 5 ปีที่แล้ว

    Thanks so much for this. With this code and some remote control codes I found on the web I managed to regain remote control of my amplifier. It worked on the first try.

  • @tocsa120ls
    @tocsa120ls 10 ปีที่แล้ว

    Excellent video Dave, also a representation why I use AVR Studio and native C to do my projects. When you do a simple loop, toggling an output on the uC, the Arduino sketch gives about ~200kHz square, compared to a C loop's ~3MHz! Much faster and not much more complicated. Cheers!

  • @Sinusoidal
    @Sinusoidal 10 ปีที่แล้ว

    Huge thumbs up. I actually wanted to do a very similar project just the other day, I needed to clone a flimsy remote control. Thanks for the info, now I think I can tackle the task.

  • @EEVblog
    @EEVblog  10 ปีที่แล้ว

    As you saw in the previous video, I am using the Arduino for the matrix display, it came with an Arduino driver and connection board.

  • @eddraper
    @eddraper 10 ปีที่แล้ว

    Well done Dave. This video is really useful. The setup and execution is a lot harder on your end I'm sure, but we get real meat - soup to nuts! Thank you for your efforts and please do many more like this. This is 100 times more valuable than a review video...

  • @timfairfieldAETestandMeasure
    @timfairfieldAETestandMeasure 4 หลายเดือนก่อน

    Well explained and from many ways of capturing!!!

  • @Tigrou7777
    @Tigrou7777 7 ปีที่แล้ว

    Great video. For solving the timing issues what about :
    1) Generating the signal inside an ISR with proper timer setup. Signals might be a little bit too late (because of the delay between the ISR and the signal is finally outputted on the pin) but at least it wont drift over the time.
    2) using UART

  • @r1obyscar
    @r1obyscar 4 ปีที่แล้ว +1

    the BEST EVER tutorial about IR works. TOP! thanks!

  • @TheJMan11000111
    @TheJMan11000111 10 ปีที่แล้ว

    What a bloody great video Dave.

  • @dalenassar9152
    @dalenassar9152 6 ปีที่แล้ว

    Dave, there exists (or did) an IR receiver with a carrier frequency of 455kHz. I have succeeded in sending audio over this IR module (something like a TL9000--but I seriously doubt that's the exact part number since it's been so long). Most interesting of all is I managed to send DTMF codes over it (to a DTMF decoder) for remote control applications, and even multiplexed and patented it after I added a feature that allowed more than one DTMF encoder button to be pressed and held continuously with a receiver modification to match. Then this wonderful high frequency IR decoder was discontinued--go figure. I think I got all mine from Vishay...still got a few of them though.

  • @Inspironator
    @Inspironator 7 ปีที่แล้ว +3

    What I enjoyed about this video is not the programming, although that is always instructive, but the reverse engineering of the raw pulses into a carrier freq., pulse codes, NEC standard... Big thumbs up video for newbie hackers and those who just want to understand how things work! Are there many major IR coding standards besides NEC?

    • @benverdel3073
      @benverdel3073 5 ปีที่แล้ว

      Another very well known one is RC-5 (wikipedia.org/wiki/RC-5). It runs offically on a carrier of 36kHz, but a lot of manufacturers used 38 due to being misinformed or lazyness. It works anyhow. The bits are a fixed lenght where the direction (rising or falling) of the slope in the middle defines it's value.
      The toggle bit Dave talks about is used for ch+ and ch- for example. It prevents to skip 5 channels if you keep the button a bit to longue.

  • @scancool
    @scancool 10 ปีที่แล้ว

    this is pretty cool, when I got my first car, I used my remote control watch to start my car and open the doors, I didnt know about NEC protocol so I was decoding hex code, it was working pretty well, but I wish I had new about this decoding technique

  • @JuanMaEle
    @JuanMaEle 3 ปีที่แล้ว

    Great video, just what I needed to understand how IR remote controls work :)

  • @GameInterest
    @GameInterest 5 ปีที่แล้ว

    Thanks for this! I love tutorials like this.

  • @HeyBirt
    @HeyBirt 7 ปีที่แล้ว

    If you want to see some truly twisted IR encoding look at the MILES 2000 a.k.a. military laser tag. The older system used a relatively slow IR signal and when they decided to update things they still wanted to be able to use the old gear so they snuck in the new bits inside the existing bits. As I recall it was something like they split up the high time from one 'long' bit for the old system to many short bits for the new system. The old receivers would filter out the new fast bits and still work just fine and the new receivers would be able to 'see' the additional data.
    Since it did not add value to the project we were working on at the time to decode the actual MILES 2000 signals we skipped it (we were adding haptic feedback to the soldiers gear so they would feel where they were hit.)

  • @chemtype
    @chemtype 10 ปีที่แล้ว

    More logic analyser videos!!!
    I'd love to see you decode some code on an older videogame console or an old PC.

  • @Vorsteven
    @Vorsteven 10 ปีที่แล้ว

    That would be the more efficient approach, but I think that this video is more about how to use your gear to reverse-engineer or diagnose a serial protocol and how to implement it in A microcontroller. The IR protocol is just a special case and Dave did a good job by not introducing PWM here...

  • @claudiupanoiu6064
    @claudiupanoiu6064 9 หลายเดือนก่อน

    Thank you for this video, it was explained very easily and simply. 🤝

  • @gemis94
    @gemis94 10 ปีที่แล้ว

    According to the C11 standard: "The result of E1

  • @kevinjohansson3923
    @kevinjohansson3923 3 ปีที่แล้ว

    Amazing video with some nice tips here and there. Great stuff.

  • @joe72205
    @joe72205 10 ปีที่แล้ว

    I guess the long burst up front is for the receiver to set its AGC.
    And the stop bit so every bit is followed by a leading edge, so you can just measure the time between leading edges.
    Its interesting to think about how the transmission is often designed for the receiver to receive it cheaply and reliably, rather than for the ease of the transmitter

  • @dmastuff
    @dmastuff 10 ปีที่แล้ว

    I miss this kinda thing, awesome vid

  • @EEVblog
    @EEVblog  10 ปีที่แล้ว

    Yeah, I deliberately wanted to do that, and was hoping the digitalWrite routine would be slow enough to show that. It didn't let me down!

  • @worldgeektube
    @worldgeektube 10 ปีที่แล้ว

    Thanks @Vorsteven for the clarification. Yes I was confused by reading that the IDE is based on the Processing IDE and that Wiring was influenced by the Processing language. My bad, sorry.

  • @jamesrbrindle
    @jamesrbrindle 10 ปีที่แล้ว

    Mega thumbs up! amazing explanation for a semi-new player.

  • @Ruddy761
    @Ruddy761 9 ปีที่แล้ว

    You could use one of the AVR timers to generate the carrier with an isr routine to blink the led, then just enable/disable the blinking in the isr for your bit times.

  • @EEVblog
    @EEVblog  10 ปีที่แล้ว

    An Arduino sketch IS in native C. It's just calling an abstracted routine to write to the IO pin. You can simply bypass that if you want and the sketch will give you the exact same speed as AVR studio.

  • @DJSolitone
    @DJSolitone 10 ปีที่แล้ว

    Excellent video. You even managed to review some code!! ;-) Great complete implementation of a smart solution to your specific need. But yeah I'm always a bit wondering as how fast these Arduino can actually deal with "real time" processing.

  • @TheCrazyInventor
    @TheCrazyInventor 10 ปีที่แล้ว

    I really like this video, Dave. Very complete and everything. :)

  • @zhaldorian
    @zhaldorian 10 ปีที่แล้ว

    I quite liked that video. Thanks, Dave.

  • @romanieo
    @romanieo 7 ปีที่แล้ว +3

    Made me subscribe. Great job.

  • @HansVanIngelgom
    @HansVanIngelgom 10 ปีที่แล้ว +1

    a) I would have used a PWM signal to generate at least the clock signal, so you don't have to tweak the timing. The 'professional way' would be to write the whole IR-signal generating code in the overflow interrupt of the PWM timer. But don't worry, for a demo your code is more than adequate.
    b) It could have used a little more cowbell.

  • @benoitdebrueker2500
    @benoitdebrueker2500 7 ปีที่แล้ว

    Thanks for the explanation and code.

  • @0LoneTech
    @0LoneTech 10 ปีที่แล้ว +1

    The other fix would be to replace Arduino's digitalWrite routine with one that optimizes down to the single machine instruction it should be. Considering the "digitalwritefast" implementation is entirely source compatible and has been around for years, I've no idea why the Arduino team hasn't already included it.

  • @worldgeektube
    @worldgeektube 10 ปีที่แล้ว

    @bcsupport Dave programmed his Arduino with a 'sketch' written in the "processing" language (roughly speaking a subset of Java which is compiled to byte code and then interpreted on the device) - it's not ANSI C. It's possible to program the Arduino with pure C but mostly not necessary.

  • @Laogeodritt
    @Laogeodritt 10 ปีที่แล้ว

    To be precise, two clock cycles on the Atmega328, if the register and bit to set are immediate/constant. SBI instructions are nice. =]

  • @aswahd
    @aswahd 4 ปีที่แล้ว

    Thanks! Very clear explanation.

  • @sandermans15
    @sandermans15 10 ปีที่แล้ว

    Aah I see! thx for your explenation and fast response! I learned a lot about the code and how to send it. I allready knew a bit of IR but not how to send the codes. I only used my arduino once to decode IR and turn a LED on and off via my logitech harmony wich i programmed for a old sony VCR wich are the easiest to decode. anyways thank you very much for the video and your quick respose really apreciate it : )

  • @EEVblog
    @EEVblog  10 ปีที่แล้ว

    IR LED's draw as much current as you give them, they don't "take" or "draw" current. You force the required current into them with a suitable dropper resistor.

  • @TheOriginalEviltech
    @TheOriginalEviltech 10 ปีที่แล้ว

    You can also do it with an ISD1616BSY audio recorder at a high sampling rate. No programmer or programing required.

  • @mike94560
    @mike94560 9 ปีที่แล้ว +11

    I have been experimenting a LOT with this crap. It's a real pain in the butt to get enough documentation to know what the heck to do. I have spent a lot of time accumulating documentation.
    I'm doing it with a PIC chip. Specifically a PIC16F1503. I'm so close I can taste it. I have a handheld Qunda IR Remote Control Decoder. It sees and decodes my PIC's IR output but the TV is not. More tweaking needed.
    One thing I noticed is that you assume is that the 38Khz duty cycle is 100%. ie., 50% ON, 50% OFF. It's not.
    33% on time is more like it. Keeps LED's from burning up. They are usually pulsed at some insanely high currents.
    I could write a book. Argh. Thanks for the video!

    • @yalilboya
      @yalilboya 5 ปีที่แล้ว

      mike94560 I’m also working on a project that deals with a PIC16F883 and IR , how far did you get !? Can I see your results and how you got to where you wanted

  • @lordzeppo
    @lordzeppo 10 ปีที่แล้ว

    Excellent point! Would you mind making a video about this particular topic? I was wondering how exactly to "port" a Arduino IDE sketch into using base functions instead.

  • @beastlt12
    @beastlt12 10 ปีที่แล้ว

    Great all around video.

  • @Undeworld667
    @Undeworld667 10 ปีที่แล้ว +4

    Very interesting for a beginner - thank you!

  • @GfastGao
    @GfastGao 10 ปีที่แล้ว

    Great, at last totally understand! Thanks again!

  • @BlensonPaul
    @BlensonPaul 7 ปีที่แล้ว

    Nicely done .. Loved it

  • @jhyland87
    @jhyland87 6 ปีที่แล้ว

    Great video! Very helpful - Thank you.
    Subscribed!

  • @liviuoros1184
    @liviuoros1184 10 ปีที่แล้ว

    Where is the Double LIKE / Double Thumb UP button ? :) I need to discover the code for a function of the remote and had not a clue how to do it. You saved me hours of head scratching. An now i know to emulate the command. Thank you !

  • @allbeit222
    @allbeit222 6 ปีที่แล้ว

    Excellent video. Can you tell me does this relate in any way to the code number you have to enter in a universal remote to get it to work with your TV ?

  • @Stjaernljus
    @Stjaernljus 10 ปีที่แล้ว

    more of this style of video, please.

  • @EdBordin
    @EdBordin 7 ปีที่แล้ว

    I know this is an old video, but for anyone watching that's having trouble getting the carrier frequency right, another approach would be to use a PWM channel and toggle it on and off rather than "bit banging" the carrier. The IR libraries Dave mentioned at the start likely do this. I'm sure Dave just chose this method because the code is easier to understand

    • @johnnyboy2000
      @johnnyboy2000 6 ปีที่แล้ว

      I couldn't get any IR libraries to work on the ESP8266

  • @thomaslenarz3195
    @thomaslenarz3195 10 ปีที่แล้ว

    Thanks a lot Dave! Awesome video :-). I was surprised that connecting the IR LED directly to the output pin actually works. My readings said that one has to use a transistor, because IR LEDs draw more current than normal LEDs. So I went directly for a transistor circuit, but never brought it to work. Does your LED light up as bright as the original remote-control, when filmed with a digicam? I thought the brightness was my problem, but now I think I should look for the problem in the IR-Code...

  • @Vorsteven
    @Vorsteven 10 ปีที่แล้ว

    HIGH is just a macro that gets substituted by the preprocessor with "1" before comiling the code. So you will get exactly the same result, no matter if you use "digitalWrite(IRLED, HIGH)" or "difitalWrite(IRLED, 1)":
    avr/cores/arduino/Arduino.h:#define HIGH 0x1

  • @VintageLabSilvioPinheiro
    @VintageLabSilvioPinheiro 10 ปีที่แล้ว

    Andy Collinson in your blog have a nice ir project.

  • @bobhaha
    @bobhaha 10 ปีที่แล้ว

    Dave you should have used DigitalWrite(IRLEDpin, 1) instead of using HIGH. It is considerably quicker than HIGH. That way you would not need to guesstimate the delay like you did. Give it a go and see if it helps... I suspect it would be much quicker.

  • @ZambitisFinest
    @ZambitisFinest 10 ปีที่แล้ว

    Thank you Dave!

  • @electronicsNmore
    @electronicsNmore 10 ปีที่แล้ว

    Excellent video.

  • @Mrkirill578
    @Mrkirill578 10 ปีที่แล้ว

    Though the length of '1' and '0' is not the same, the NEC protocol defines that you should send an inverted message as well, so the length of the whole transmission is constant., 67.5mS

  • @sandermans15
    @sandermans15 10 ปีที่แล้ว

    Hey Dave GREAT video! i just have three question about your code: Why did you make your own void IRsetup instead of using the normal void setup? you added your IRsetup to be called in your void loop and added commontary that you only need it to call setup once but what stops the loop from executing that setup over and over again? Also why do you prefer to use so many voids instead of putting all your code in the void loop? I'm not saying your code is wrong. I just wonder why you prefer this way

  • @EEVblog
    @EEVblog  10 ปีที่แล้ว

    As I pointed out to countless people, yes the previous hack was much simpler and faster, that's why I did it originally. But this isn't too hard, even if you have to write your own IR library as I showed, but yes, you need at least some programming knowledge. You can just cut'n'paste code though of course.

  • @joeporsche1767
    @joeporsche1767 4 ปีที่แล้ว

    Wow!!!. This video is really helpful.

  • @ben_r_
    @ben_r_ 10 ปีที่แล้ว

    Thank you! This was very helpful!

  • @davidmarks509
    @davidmarks509 6 ปีที่แล้ว

    We are going to do it the old fashion way ... Let me grab my digital scope lol. Good fun tutorial I think I have a few remotes I can play around with here.

  • @Blaff3tuur
    @Blaff3tuur 10 ปีที่แล้ว

    For starters Arduino is perfect and I think a big part of viewers are starters so yeah. Not everyone is an electronics expert like you.

  • @bloomtom
    @bloomtom 10 ปีที่แล้ว

    Bit banging is sometimes cheap and effective. In non-critical applications like consumer remotes, I'd say slamming signals out of a GPIO is perfectly acceptable.

  • @LearningToFly77
    @LearningToFly77 8 ปีที่แล้ว

    Cool Video...
    What kind of diode do i need, to receive the RAW infrared signal?

  • @iamnocnoc7536
    @iamnocnoc7536 10 ปีที่แล้ว

    Thank you. Very useful video. Maybe I can use this knowledge to make an Arduino talk to my Fluke

  • @stuner1337
    @stuner1337 10 ปีที่แล้ว

    Yeah. Learning how to use Git is quite difficult (even though Github helps a lot). Once you figured it out it's very useful for any kind of continued development (it works great with Eagle schematics for instance, or of course all kinds of source code).

  • @nathanschenk8886
    @nathanschenk8886 6 ปีที่แล้ว

    I've done this once. My solution for the carrier was to use the PWM module in the PIC I was using at the time to generate it. One side of the LED went to the PWM output pin, the other went to a pin with the data.

    • @nathanschenk8886
      @nathanschenk8886 3 ปีที่แล้ว

      @Peter Mortensen The led was sourced from the data pin, and sinked into the pwm pin. Two pins, one driving the high side, the other driving the low.

  • @AMalas
    @AMalas 4 ปีที่แล้ว

    Hey dave, quick comment about your code there. The NEC protocol recommends a duty cycle of between 25 to 33% for the carrier, to conserve power.

  • @GabrielStAngel
    @GabrielStAngel 4 ปีที่แล้ว

    What if I wanted to completely bypass the LED and directly manipulate the receiver pins on the input device? Would I still need to worry about carrier frequency if I had literal wires connecting the Arduino to the IR receiver contacts?