Secure blockchain encryption demonstrated through embedded system autonomous cars using Xbee, ultrasonic sensors, and LIDAR sensors (Raspberry Pi side, OOP Python) Arduino side:
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
LIDAR_test Averaged LIDAR readings for better accuracy Jul 15, 2017
docs Updated video picture again Oct 13, 2017
motor_test Motor calibration Aug 8, 2017
servo_test Servo dance Jul 28, 2017
ultrasonic_test Update control classes Aug 1, 2017
xbee_test Updated usage instructions and descriptions Jul 27, 2017
.gitignore Adafruit PWM and I2C drivers Jul 8, 2017 Adafruit PWM and I2C drivers Jul 8, 2017 Averaged LIDAR readings for better accuracy Jul 15, 2017 Fixed global variable warning Aug 1, 2017 Motor calibration Aug 8, 2017 Remove GPIO warnings on ultrasonic Jul 28, 2017 XBee send fixes and changes Jul 26, 2017


Robotic Video

Python code used to run an autonomous robot built using Arduino, Raspberry Pi, servos, motors, ultrasonic sensors, LIDAR sensors, XBee, and blockchain technology. For the autonomous demo, the robot initially turns the LIDAR to the left, right, and center to determine the longest direction through multiple readings, removes outliers, and returns a median value. It then moves the motors towards the direction of the farthest distance. The robot takes readings while in motion for collision checking using the ultrasonic sensors. If it encounters an obstacle, it stops and calibrates again to determine the next longest direction and then moves towards that direction.

For MVP test demos between the cars, look in the demos/MVP directory.

This repository contains several modules:

  • LIDAR_test - LIDAR sensor test module
  • motor_test - Motor test module
  • servo_test - Servo test module
  • ultrasonic_test - Ultrasonic sensor test module
  • xbee_test - XBee test module
  • demos/ - Test demos for autonomous cars (MVP demo)

For the autonomous demo, run with program with:

  • - Main driver.
  • - Module to read LIDAR sensor data on Raspberry Pi from Arduino through the serial port.
  • - Module for motor control.
  • - Module for servo control.
  • - Module for reading ultrasonic sensor data on the Raspberry Pi.
  • - Module for wireless communication on the Raspberry Pi.
  • - Auxiliary functions such as releasing GPIO pins and data logging.


Sensor Libraries/Datasheets

Software Block Diagram

Robot Wiring Diagram