BeagleBoneBlack ADC
01 Mar 2015Follow 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.
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.