Analog I/O
analogRead(pin)
pin<number>The pin number which can support ADC function.- Returns:
<number>, the value is in between0.0~1.0
Read and return analog signal value from the ADC pin. A RangeError will be thrown if the pin does not support ADC function.
// Read analog value on pin 26.
var pin = 26;
var value = analogRead(pin);analogWrite(pin[, duty[, frequency]])
pin<number>The pin number which can support PWM function.duty<number>The PWM duty cycle between0.0and1.0. Default:0.5frequency<number>The PWM frequency in Hz. Default:490Hz
Generate PWM signal with specific frequency and duty to the PWM pin. A RangeError will be thrown if pin does not support PWM function.
// Generate 490 Hz 50% duth PWM signal.
var pin = 0;
analogWrite(pin, 0.5);tone(pin[, frequency[, options]])
pin<number>The pin number which can support PWM function.frequency<number>The PWM frequency in Hz. Default:261.626Hz (C Key)options<object>duration<number>The duration in milliseconds if a duration is not 0, duration 0 is forever. Default:0duty<number>The PWM duty cycle between0.0and1.0. Default:0.5inversion<number>The pin number where an inverted signal to be generated. Default:-1.
Generate sound tone(PWM) on the PWM pin for duration. A frequency and duty can be set. A RangeError will be thrown if pin does not support PWM function.
// Generate 300 Hz tone on the pin 0 for 1sec.
tone(0, 300, { duration: 1000 }); // Generate 300Hz tone on the pin 0 for 1sec.You can generate an inverted signal of the original PWM signal on another pin. Using this you can generate louder sound on a speaker by wiring two wires of the speaker to the two pins of a same PWM slice instead of wiring to one of PWM pin and GND.
Note that the inversion pin should be the different channel of the same slice. For example, pin 9 can be used for inversion for the pin 8. See here for more about PWM slide and channels.
// Generate 300 Hz tone on the pin 8 and the inverted signal on the pin 9.
tone(8, 300, { inversion: 9 });noTone(pin)
pin<number>The pin number which can support PWM function.
Stop the tone one the PWM pin. A RangeError will be thrown if pin does not support PWM function.
// Generate 200 Hz tone to the pin 0 and stop the tone after 1sec.
tone(0, 200); // Generate 200Hz tone on the pin 0.
delay(1000); // Wait for 1000ms (1sec)
noTone(0); // Stop the tone on the pin 0