fmod()
[Math]
double fmod(double x, double y);Description
Returns the remainder of the division of $\frac{x}{y}$.
Parameters
x: The dividend value. y: The divisor
value.
Returns
The remainder of the division of $\frac{x}{y}$.
Example Code
The code reads the value of two potentiometers connected to pins
INX and INY and place the remainder of the
division of $\frac{x}{y}$ on pin
OUT.
void setup() {
pinLabel(0, "INY"); // set the label of pin 0 to "INY"
pinLabel(1, "INX"); // set the label of pin 1 to "INX"
pinLabel(2, "OUT"); // set the label of pin 2 to "OUT"
pinMode(2, OUTPUT); // set pin 2 as output
pinLabel(3, "VCC"); // set the label of pin 3 to "VCC"
powerPin(3); // set pin 3 as power pin
pinLabel(4, "GND"); // set the label of pin 4 to "GND"
groundPin(4); // set pin 4 as ground pin
}
void loop() {
int val_x = analogRead(0); // read the value of the potentiometers
int val_y = analogRead(1);
// map the values of the potentiometers from 0 to 1023
// to the range of 0 to 10
double x = map(val_x, 0, 1023, 0, 10);
double y = map(val_y, 0, 1023, 0, 10);
double z = fmod(x, y); // calculate the remainder of the division
int pwm = (int) map(z, 0, 10, 0, 1023); // map the value
analogWrite(2, pwm); // write the value of pwm to pin 2
}