Home Chapter 7 Maxuino/Arduino driving an LED high and low at different rates

Site Search


Chinese (Simplified) French German Italian Portuguese Russian Spanish
Maxuino/Arduino driving an LED high and low at different rates

Blinking an LED without Delay


/* Blink without Delay

Turns on and off a light emitting diode (LED) connected to a digital pin

, without using the delay() function.  This means that other code

can run at the same time without being interrupted by the LED code.

The circuit:

* LED attached from pin 13 to ground.

* Note: on most Arduinos, there is already an LED on the board

that's attached to pin 13, so no hardware is needed for this example.

created 2005

by David A. Mellis

modified 8 Feb 2010

by Paul Stoffregen

modified 11 Nov 2013

by Scott Fitzgerald

This example code is in the public domain.



// constants won't change. Used here to set a pin number :

const int ledPin =  13;      // the number of the LED pin

// Variables will change :

int ledState = LOW;             // ledState used to set the LED

// Generally, you should use "unsigned long" for variables that hold time

// The value will quickly become too large for an int to store

unsigned long previousMillis = 0;        // will store last time LED was updated

// constants won't change :

const long interval = 1000;           // interval at which to blink (milliseconds)

void setup() {

// set the digital pin as output:

pinMode(ledPin, OUTPUT);


void loop() {

// here is where you'd put code that needs to be running all the time.

// check to see if it's time to blink the LED; that is, if the

// difference between the current time and last time you blinked

// the LED is bigger than the interval at which you want to

// blink the LED.

unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) {

// save the last time you blinked the LED

previousMillis = currentMillis;

// if the LED is off turn it on and vice-versa:

if (ledState == LOW) {

ledState = HIGH;

} else {

ledState = LOW;


// set the LED with the ledState of the variable:

digitalWrite(ledPin, ledState);




You can use the message capability in Max MSP and Jitter to drive an LED high and low. By selecting different messages you can change the rate of the LED and you can also start and stop the LED. Notice that you need to select the device you are using Arduino UNO and specify the pin number. p pinMode-digitalWrite code is sent via a patchcord to s to maxuino. Keep in mind you need to have the MaxuinoSimpleStart program open at the same time in order for this to work. 


MAX MSP lessons continue in Chapter 8


MAX MSP lessons continue in Chapter 8