.. highlight:: cpp .. _lang-booleanvariables: Booleans ======== A **boolean** holds one of two values, :ref:`true ` or :ref:`false `. On a Maple, each boolean variable has type ``bool``. .. warning:: On an Arduino, the type ``boolean`` is also provided. While the Maple also has this type for compatibility, **its use is strongly discouraged**. The ``bool`` type is a standard part of C++, while ``boolean`` is a non-standard extension that serves no purpose. Example ------- :: int ledPin = 13; // LED on pin 13 int switchPin = 12; // momentary switch on 12, other side connected to ground // running is a boolean variable: bool running = false; void setup() { pinMode(ledPin, OUTPUT); pinMode(switchPin, INPUT); digitalWrite(switchPin, HIGH); // turn on pullup resistor } void loop() { if (digitalRead(switchPin) == LOW) { // switch is pressed - pullup keeps pin high normally delay(100); // delay to debounce switch running = !running; // toggle running variable digitalWrite(ledPin, running) // indicate via LED } } See Also -------- - :ref:`Boolean constants ` - :ref:`Boolean operators ` - :ref:`Variables ` .. include:: /arduino-cc-attribution.txt