Wednesday, May 21, 2014
On 10:24 AM by Richard St-Pierre
OverviewHaving a hard time deciding what to do?
This simple decision maker project will make it easier for you to decide. Three LEDs blink rapidly (thinking). Once you press the button, one-of-three LEDs will be ON. Red=No, Yellow=Maybe, Green=Go. Shall we get started?
What you will need
- BeagleBone Black
- BeagleBone expandable case Orange or Black (recommended)
- AC adapter 5 Volts, 2 Amp (optional)
- Medium Breadboard and Jumper Wire Pack for Breadboards or Proto Cape
- Proto Parts Kit
These components are included in the parts kit (PTK-027)
- (1) Green LED
- (1) Red LED
- (1) Yellow LED (use RGY Tri-color LED )
- (1) Push-button
- (4) Resistors 330 Ohms
Step 1Wire the circuit as shown in the diagram. (Or make a permanent version with a proto cape.)
Project Software ProgramDownload rand_led.py File
#!/usr/bin/python #Author : Richard St-Pierre # # import Adafruit_BBIO.GPIO as GPIO import time import random PB_pin = "P8_26" # has internal pull-up ! RED_led = "P9_14" YEL_led = "P9_16" GRN_led = "P8_19" GPIO.setup (RED_led, GPIO.OUT) GPIO.setup (YEL_led, GPIO.OUT) GPIO.setup (GRN_led, GPIO.OUT) GPIO.setup (PB_pin, GPIO.IN) print "BBB LED DECISION MAKER" print "======================" print "RED = N O " print "YELLOW = MAYBE " print "GREEN = YES " print " " print "Press Ctrl-c to exit " def setLed ( num ): if (num == 1): GPIO.output(RED_led, GPIO.HIGH) GPIO.output(YEL_led, GPIO.LOW) GPIO.output(GRN_led, GPIO.LOW) elif (num == 2): GPIO.output(RED_led, GPIO.LOW) GPIO.output(YEL_led, GPIO.HIGH) GPIO.output(GRN_led, GPIO.LOW) elif (num == 3): GPIO.output(RED_led, GPIO.LOW) GPIO.output(YEL_led, GPIO.LOW) GPIO.output(GRN_led, GPIO.HIGH) else: GPIO.output(RED_led, GPIO.LOW) GPIO.output(YEL_led, GPIO.LOW) GPIO.output(GRN_led, GPIO.LOW) setLed(1) time.sleep(0.5) setLed(2) time.sleep(0.5) setLed(3) time.sleep(0.5) setLed(0) while (True): while (GPIO.input(PB_pin) == 1): setLed(random.randint(1,3)) time.sleep(0.01) while (GPIO.input(PB_pin) ==0): time.sleep(0.5)
Python: Command line ModePython is pre-loaded with the BeagleBone Linux Distribution. To start python, simply open a terminal session and enter "python". Commands are interpreted as they are entered. Control-C will exit Python command mode.
To start the program
When the program starts each LED is turned ON in sequence to test the LEDs. Then a fast flashing rate starts until the button is pressed. With the button held down only one LED is ON, corresponding to the decision.
To exit the program