Skip to main content

Posts

Featured Post

Product Design of a 4 wheel differential drive robot

Best tutorial for BeagleBoneBlack

For a long time I was searching for a good tutorial for BeagleBoneBlack. Since the community is little less for the BBB it was a little hard to get started. But I found a book which is very useful to get started (in my opinion). {every book is unique in its on way}. "Exploring BeagleBone Tools and Techniques for Building with Embedded Linux" by Derek Molloy. Here is link to his homepage where he listed almost all contents in the text. The book cover almost every basics you need to know to get started. (BBB, Electronics, Linux, Cross compilation, Git, Opencv, ...) Most of the other books and tutorials focus on the javascript tool (node). But I didn't feel so good with it. This book mainly focus programming the BBB using c which I feel good. You will find an e-book here .

Reading and showing images using opencv

Here is a sample code to read and show an image after converting it into grey scale. Program reads a picture file called boy.jpg in the current folder and displays it. After 1 second it will change to grey scale. Use this command to compile the program. g++ first.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` where first.cpp is the file name.

Mobile Robot controlling using BeagleBone Black

Finally start working properly. Need a better voltage regulator and a better battery pack! Voltage spikes when BeagleBoneBlack starts. After a while the BBB will shutdown due to voltage fluctuations... :-( WiFi module in BBB is drawing so much current . Now the robot can be controlled wireless and can move forward, backward, left and right using keyboard. Need much more work... :-) NB: Voltage issue resolved using LM2596 DC-DC Buck Converter. I have included a camera and a light source for the robot. But its not connected in the video. A laptop battery is placed at the rear end of the robot. It's not the power source. It is just added for giving enough weight to avoid skidding. Otherwise it will drift a lot. NB: There was a problem with wireless connection. It will drop at odd times. Solved using a script that will reconnect if connection is lost.

Controlling a differential drive motor with Beaglebone black

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