create new tag
view all tags

The virtual world example


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:

  • autobahn and
  • txaio
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


Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng hc_sr04.png r1 manage 546.4 K 2022-05-30 - 18:56 UliRaich  
PNGpng virtualWorld.png r1 manage 17.2 K 2022-05-30 - 19:50 UliRaich  
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2022-05-31 - UliRaich
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback