Skip to main content

Posts

Featured Post

Product Design of a 4 wheel differential drive robot

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. Bu...

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.

GPIO Blinking an LED using bash script

Refer this site . This gives a fare idea about how to design a simple transistor switch. Or go to this site . The max o/p voltage from the gpio pin is 3.3 V. But you can get a 5V VDD from Beaglebone Black board. The circuit I designed is given below. The transistor I used is KN2222A . (You can use any transistor)   Will add a nice circuit diagram later. Once you are finished with the circuit follow the steps in this page . cd /sys/class/gpio echo 23 > export cd gpio23 echo out > direction Then save the script given below to a file and run this in your BBB. (It will blink the LED once every second.) Cntrl + C to stop the script.  

Getting started with GPIO (Testing GPIO with a multimeter)

There are 65 possible GPIO pins that you can control. Some of the GPIO pins are normally configured to different functions. Let's play with one of them. Go to the beaglebone website and figure out the header pin corresponding to gpio23. The gpio23 is mapped to the 13th header pin. In this tutorial we are testing the gpio23 output using a multimeter (Do not connect an LED directly to BBB IO pin). First go to following directory cd /sys/class/gpio / Then make gpio23 available echo 23 > export A new directory will be created. Open gpio directory. cd gpio23 The direction of IO will be normally set as in (input).  To make it as output, echo out > direction Then set the pin to high using echo 1 > value Measure the voltage at pin 13 of P8 header. If its 3.3 V then you are on the right track. Pin 1 and 2 will be ground. You can connect the negative terminal of multimeter to pin 1 or 2. To set output as zero, echo 0 > value After finished wit...