PLEASE NOTE: This site is no longer being actively maintained. For frequently updated BeagleBone resources please visit Beaglebone.org.

Red, Yellow and Green LEDs

Overview

In this tutorial you will learn how to create a simple LED sequencer circuit, access Cloud9 (the BeagleBone's coding interface), load and run a script. When you run the script the LEDs will blink. The code introduces the random function for the LED sequence and how to control multiple digital outputs.

Note: This tutorial uses a BeagleBone set up specifically for our BeagleBone Black Tinkerer Workshop. The BeagleBone Black you will use in the Tinkerer Workshop will be set up with a Display and a Keyboard with a trackball mouse, and the JavaScript Files will be saved to the board. The BeagleBone will be running Angstrom, which come pre-loaded when you get the board. If you are not in a Tinkerer Workshop and want to do these projects, you can find a guide on how to attach a keyboard with a trackball mouse and a display here. You will also need to add the JavaScript files, which can be found here, to the following directory on the BeagleBone Black: /var/lib/cloud9/workshop

Parts List

Wiring Diagram

Project 2 - Fritzing wiring diagram

Step 1

Wire the components as shown. The LED is polarized (only works one-way)
Note: The resistor is required to limit the current to the LED.

Step 2

Plug the DC power jack into the BeagleBone Black to power the device.

Step 3

Once the system is ready, click on BEAGLEBONE-workshop icon to open the Chromium browser and then start the Cloud9 IDE BeagleBone.local:3000 (192.168.7.2:3000)

Step 4

In the Cloud9 workshop folder click on the file Project2.js to open the BoneScript program that will control the LED and make it blink.
The code should look like this:

var b = require('bonescript');  // Read library

var ledPin1 = "P9_14";  // Select pins
var ledPin2 = "P9_16";  
var ledPin3 = "P8_19";

b.pinMode(ledPin1, b.OUTPUT);  // Enable pins and set to output
b.pinMode(ledPin2, b.OUTPUT);
b.pinMode(ledPin3, b.OUTPUT);

setInterval(random, 300);  // Call function 'random' every 300ms

function random(){  // Define function 'random'
   b.digitalWrite(ledPin1, Math.round(Math.random()));
   b.digitalWrite(ledPin2, Math.round(Math.random()));
   b.digitalWrite(ledPin3, Math.round(Math.random()));
}

Step 5

Now press Run at the top of the Cloud9 interface. If this says "Debug", select "Run" from the drop down under this button.
Cloud 9 BeagleBone Black Run Button
The script should now run and the LEDs should blink randomly.