Arduino Rotary Encoder Protocol

This protocol controls a rotary encoder connected to the microcontroller. Rotary encoders can turn infinite number of rounds. If the rotary encoder turns or the state of the button on the encoder changes, the device sends an event to the .Net. You can use full, half or quarter rotary encoders.

How to build a test circuit with a rotary encoder and an Arduino Mega?
Arduino codes are included.

I. "Welcome" event from microcontroller

Example

c=welcome&type=OzRotaryController&id=IqlZci&pos=2&t=3

Parameters

Parameter Type Range Functionality
c String "welcome" Identifies the welcome message.
type String "OzRotaryController" Determines the type of the device.
id String 6 characters (numbers, uppercase and lowercase characters) The ID of the device which is chosen by the microcontroller.
pos Byte 0-255 Determines the position of the device on the list of the ID manager of the microcontroller. Please make sure there are no other devices in the same position.
t Byte 0-255 Counts the number of events sent combined. Counts from 0 to 255 then from 0 again.



II. Commands to microcontroller

None

III. Event from microcontroller

"Rotary Changed" event

This event is called if the rotary encoder changes direction or the button is pressed or released.

Example

c=rotarychange&button=1&left=0&right=0&id=IqlZci&t=3

Parameters

Parameter Type Range Functionality
c String "rotarychange" Identifies the event.
button Bool 0,1 Button's state (see:OzekiButtonController).
left Bool 0,1 If rotated left, it changes to 1. It is 0 otherwise.
right Bool 0,1 If rotated right, it changes to 1. It is 0 otherwise.
id String 6 characters (numbers, uppercase and lowercase characters) The ID of the device which is chosen by the microcontroller.
t Byte 0-255 Counts the number of events sent combined. Counts from 0 to 255 then from 0 again.

Response

This response is sent from your computer.

c=rotarychange_resp&button=1&left=0&right=0&id=IqlZci&t=1

Parameters

Parameter Type Range Functionality
c String "rotarychange_resp" Identifies the event response.
button Bool 0,1 Button's state (see:OzekiButtonController).
left Bool 0,1 If rotated left, it changes to 1. It is 0 otherwise.
right Bool 0,1 If rotated right, changes to 1. It is 0 otherwise.
id String 6 characters (numbers, uppercase and lowercase characters) The ID of the device which is chosen by the microcontroller.
t Byte 0-255 Counts the number of responses sent combined. Counts from 0 to 255 then from 0 again.

More information