The virtual world example
Introduction
The virtual world example uses a TCS3200 color sensor and a HC-SR04 ultrasonic distance meter. When a colored paper is placed in front of the color sensor, the rgb (red, green, blue) components of the paper color are acquired. Then the HC-SR04 is used to measure the distance between the paper and the setup.
The photo shows the HC-SR04 distance meter on the left and the TCS3200 color sensor with its illumination LEDs on the right. The TCS3200 is mounted on top of the CPU board.
The color and distance information is used to create a virtual world, showing the sensors and the paper with its correct color. When the paper is moved away from the setup, this is reflected in the virtual world. When a paper with a different color is inserted, this also changes the color of the virtual paper in the virtual world.
The color sensor
A TCS3200 color sensor is used to determine the paper color. You find a description of it on the
TCS3200 page. A driver for the color sensor as well as a few test programs are available.
The HC-SR04 ultrasonic distance meter
The HC-SR04 distance measurement is described on the
HC-SR04 page.
Creating of the virtual world using vpython
vpython allows to easily create 3d images with basic geometrical objects like
- boxes
- spheres
- cylinders
- and many more
We use vpython to create 2 objects that represent the HC-SR04 and the TCS3200 sensors and the paper in front of them. The virtual world is implemented as a TCP servef, which reads sensor data from a TCP client running on the ESP32. The data are used to select the color of the virtual paper as well as the distance to the sensors.
vpython v7 did not work out of the box with Ubunttu 22.04. Specific versions of the python modules:
must be installed.
First uninstall those two modules:
pip uninstall autobahn
pip uninstall txaio
then install the required versions:
pip install autobahn==21.11.1
This will also install the correct version of txaio.
--
Uli Raich - 2022-05-30
Comments