Ananth's Blog - page 8

Posts

Display text in color - Linux terminal

Ever wanted to print text in colours? You can do it with ANSI escape characters. You can use ANSI codes in any programming language as long as the terminal supports it.

echo -e "\e[31mRed"

Red

echo -e "\e[32mGreen"

Green

Replace the number to get different colors. You can make text bold, italics, underline etc. Following is a short table describing several codes.

39     Default
30     Black     
31     Red   
32     Green   
33     Yellow   
34     Blue   
35     Magenta
36     Cyan   
37     Light gray   
97     White     

For a complete reference, link. (The page has a complete list of ANSI codes)

BeagleBoneBlack ADC

Follow the instruction to enable the ADC and read outputs from the file.

echo  BB-ADC > /sys/devices/bone_capemgr.9/slots

(*There may be slight variation for directories. Figure this out if not working.) Verify whether ADC is loaded by

cat /sys/devices/bone_capemgr.9/slots



Read ADC value by

cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw


Here AIN0 (PIN39 on P9) is connected to a potentiometer. Do not exceed the voltage above 1.8V. This will damage the BBB.
Its a 12 bit ADC. So maximum value will be 4096. To calculate value in voltage,

(1.8/4096) *ADC_Value

I wrote a bash script to do this work.
For this script to work install bc on BeagleBoneBlack. bc is a small program to do mathematical calculation from terminal.

apt-get install bc

Save the above bash script to a file (adc_bash) and set permission to execute by

chmod +x adc_bash

To run it every 0.5 second,

watch -n 0.5 ./adc_bash


Once finished with the ADC you can unexport it. But it will cause a kernel panic. So its better not to do it. So the best way  is to restart the BBB or leave it as is. If you want to unexport it,

echo -7 > /sys/devices/bone_capemgr.9/slots

where 7 is the number corresponding to BB-ADC in

cat /sys/devices/bone_capemgr.9/slots
For more detail refer here.


BeagleBoneBlack GPIO Push Button + LED


 

LED Cube using Atmega328P


GPIO Blink an LED using C - BeagleBoneBlack

First enable gpio23 and set it as output.

echo 23 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio23/direction

(Refer this page for circuit info.) Then compile this code and run it. There are two arguments to this code. One is the number of times the LED blinks and the other one is the delay in us.