Differences

This shows you the differences between two versions of the page.

Link to this comparison view

lkd:laboratoare:04 [2024/07/11 15:42]
daniel.baluta
lkd:laboratoare:04 [2024/07/11 16:42] (current)
daniel.baluta [Presentation]
Line 4: Line 4:
 ==== Presentation ==== ==== Presentation ====
  
-  * follow ​slides ​at  {{:​lkd:​laboratoare:​lkd_slides_03.pptx| Session 3}} +  * no slides, all practical
  
 ==== Practical lab ==== ==== Practical lab ====
Line 16: Line 15:
 Enable I2C proximity sensor [[https://​www.optimusdigital.ro/​en/​index.php?​controller=attachment&​id_attachment=4892 | vl53l]]. Enable I2C proximity sensor [[https://​www.optimusdigital.ro/​en/​index.php?​controller=attachment&​id_attachment=4892 | vl53l]].
  
-Identify ​GND, VCC, I2C_SCL ​and I2C_SDA ​data lines on expansion header and connect the sensor accordingly.+Connect ​GND, VCC(3V)I2C3_SCL_3V3 ​and I2C3_SDA_3V3 ​data lines on expansion header and connect the sensor accordingly.
  
 {{:​lkd:​laboratoare:​expansion_1.png}}. {{:​lkd:​laboratoare:​expansion_1.png}}.
Line 49: Line 48:
 XX - is the address of the I2C device. There are two ways of finding this. You can dig inside the [[https://​www.optimusdigital.ro/​en/​index.php?​controller=attachment&​id_attachment=4892 ​ | datasheet ]] and confirm the address by scanning for devices on i2c3 node on the hardware. Use ''​i2cdetect -y 2''​. XX - is the address of the I2C device. There are two ways of finding this. You can dig inside the [[https://​www.optimusdigital.ro/​en/​index.php?​controller=attachment&​id_attachment=4892 ​ | datasheet ]] and confirm the address by scanning for devices on i2c3 node on the hardware. Use ''​i2cdetect -y 2''​.
  
-== Step 4 Load the driver &  read the distance measured by sensor ==+The datasheet states that the I2C address is as shown as below, but you need to look closer and also understand the output of i2c scan command ''​i2cdetect -y 2''​. 
 + 
 +{{:​lkd:​laboratoare:​i2caddr.png}} 
 + 
 +== Step 4 Load the driver &  read the distance measured by sensor ==
  
 Once the device tree is ready, recompile the kernel and boot the board. On the board, use ''​modprobe <​driver-name>''​ to load the driver. If everything goes well the driver will be correctly loaded and you will be able to read data. Once the device tree is ready, recompile the kernel and boot the board. On the board, use ''​modprobe <​driver-name>''​ to load the driver. If everything goes well the driver will be correctly loaded and you will be able to read data.
Line 56: Line 59:
  
 $ modprobe vl53l0x-i2c $ modprobe vl53l0x-i2c
-$ cat /sys/bus/+$ cat /sys/bus/iio/​devices/​iio:​device0/​in_distance_scale
 </​code>​ </​code>​
 +
 +Use the following script the poll for proximity measurements every 0.5 seconds:
 +
 +<code bash>
 +
 +$ cat read_meas.sh
 +
 +while true; do
 +cat /​sys/​bus/​iio/​devices/​iio:​device0/​in_distance_raw
 +sleep 0.5
 +done
 +
 +</​code>​
 +
 +
 +=== Exercise 2 ===
 +
 +Control a motor using GPIOs. Use the following {{:​lkd:​laboratoare:​motorcontrolsetup.pdf| Guide }}
 +
 +{{:​lkd:​laboratoare:​motor1.jpeg?​500}}
  
lkd/laboratoare/04.1720701751.txt.gz · Last modified: 2024/07/11 15:42 by daniel.baluta
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0