OpenSprinkler Forums Hardware Questions OpenSprinkler Bee (OSBee) Changing Interrupts/Timers

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #35843

    jdozeran
    Participant

    Is there any practical (or even possible) way to reset the OSBee shield and code to use something other than Timer1?  I have a project requiring interrupt-based control that needs to use a 16bit timer (Timer1 on an UNO).  I suppose I could use a Mega for the project in order to have access to additional timers.  Would the OSBee shield work properly with a Mega?

    – Dan.

    #35859

    Ray
    Keymaster

    It’s possible but will require a bit of work: first, OSBee uses the Arduino pin 9 to generate a high-frequency PWM signal for the boost converter. Pin 9 is internally tied to timer 1. In order to change it, you will need to bend pin 9 on OSBee out (so it disconnects from Arduino pin 9), and solder a wire to connect it to some other PWM-capable pin. For example, pin 3 or 11 (both of which are tied to timer 2). Then change the code in OSBee’s library functions accordingly (i.e. setting up timer 2 to use the highest frequency, and also set the correct PIN_BOOST).

    Alternatively, is it possible to change your other code to use timer2 instead of timer1?

    I don’t think Mega and Uno are pin compatible, so I don’t think you can plug OSBee to Mega.

    #35914

    jdozeran
    Participant

    I think that’s probably what I’ll do (switch to Timer2).

    Paul Stoffregen (https://github.com/PaulStoffregen) updated the MsTimer2 library (sets Timer2 to x milliseconds and runs a procedure) that looks like it works with the OSBee library and even allows Serial writing to be active.

     

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums Hardware Questions OpenSprinkler Bee (OSBee) Changing Interrupts/Timers