david4599 / PricehaxBT

Wireless tool to communicate with IR based ESLs from a smartphone ;-)
GNU General Public License v3.0
58 stars 7 forks source link

About the uC #9

Closed RuralG closed 4 months ago

RuralG commented 4 months ago

Hi, i do have some problems using an Arduino Mega 2560. In the Arduino program it says that it is possible that different times are needed to use other microcontrollers.

// The timings offsets (especially for PP16) may need to be adjusted again if another uC is used const uint8_t gOffPP4C = -5; const uint8_t gOffPP16 = -5;

do you have any reference on which specification of the Arduino nano you based yourself on to obtain them? Reviewing my entire schematic and program, it could be the main reason why it does not you work for me.

If you have any other suggest in order to change this proyect to an arduino mega, ill be thenkfull.

david4599 commented 4 months ago

Hi, I've just checked quickly with my mega (never did before) and there is no signal at all on pin 2. I figured out it's because the port registers are mapped differently and the signal appears on pin 19 instead. For now, you can try with pin 19 to check if that's working properly. I will update the sketch to support it.

As for your question, these values were just set by checking the PPM timings on my oscilloscope. IIRC PP4C works without adjusting them but not PP16. I didn't tested the whole setup but I think these values will be fine for the mega which may not be the case using another controller's family hence my comment.

david4599 commented 4 months ago

The program is now updated. I made the complete circuit with the mega and it works perfectly. I transmitted images in both PP4C and PP16 without issues.

RuralG commented 4 months ago

It works! I only have to change the PORT and the LED PIN Thank u @david4599

photo_2024-04-27_19-48-23

david4599 commented 4 months ago

Glad to see it's working! Yep, my update adjusts them if the mega is detected so the signal will now show up on digital pin 2 without manually changing the code.