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
- 1x BeagleBone Black Board
- 1x Medium Breadboard
- 1x Jumper Wire Pack for Breadboards
- 2x LEDs (Red, Green) (Available in the Prototyping Parts Kit)
- 1x LED (Yellow) can use RGY multicolor LED in Prototyping Parts Kit
- 3x 330 Ohm Resistor (Also available in the Prototyping Parts Kit)
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.The script should now run and the LEDs should blink randomly.