#21. Pulses

Note This is a web-version of a tutorial chapter embedded right into the XOD IDE. To get a better learning experience we recommend to install the desktop IDE or start the browser-based IDE, and you’ll see the same tutorial there.

In the tenth chapter, we briefly mentioned the blue UPD input pin and the pulse data type.

This type is very different from all the others. All values in the XOD are transferred to the links continuously, even if the values haven’t changed. The pulse data type is different. Imagine something like a flash. It’s basically a message to trigger something else. It does not transmit any data. However, it is useful when you need to convey that an event has occurred or tell something else to work.

For example, say you only want an pot node to receive information from a board port at certain intervals, and not all the time. This frequency can be set with the help of pulses.

Patch

Each time a pulse arrives on the UPD pin, the node reads the analog port and outputs the value to the VAL pin. This value will be stored there until it changes to another value.

The same is for the servo. It will send the updated value to the hardware only when receives a pulse to UPD.

The behavior of the UPD pin can also be set in the Inspector. For a pot the choice means:

  • Never: Never produce pulses. That is, do not take readings or make updates at all.
  • On boot: Generate a pulse once at startup. Updates the state exactly once.
  • Continuously: Generate pulses constantly, i.e. take the readings or make updates with the highest possible rate.

Test circuit

Circuit

↓ Download as a Fritzing project

How-to

  1. Open the Inspector for the pot node.
  2. Change the UPD value to On boot.
  3. Upload the patch to the Arduino.

Screencast

Turn the potentiometer knob and press the reset button on the board itself. Note, the potentiometer updates now only once when the Arduino is turned on.

Next lesson →

Found a typo or mistake? Want to improve the text? Edit this page on GitHub and open a pull request. If you have a complex proposal or you want to discuss the content, feel free to start a new thread on XOD forum.