This week I was focused on testing and integrating Arduino with the HC-SR04 ultrasonic sensor and the vibration motor.
From the ultrasonic sensor test, I got a sense of the frequency and format of the collected data and decided that it is feasible to process the data points with methods like moving average to adjust data rate as to suit transmission to Raspberry Pi while discovering that our original range specified in quantitative requirement has to be reduced from 5m to 4m due to the sensor’s tested accuracy. The sensor can provide feedback at a rate of more than 100hz, which is way more than what we need(our team will likely work with 20hz or 30hz). Furthermore, I tested the connection with 3 different sensors at the same time with a motherboard, and the connection is able to process data from all 3 sensors according to will, which proves that our original design with multiple sensor is feasible.
Meanwhile, for the vibration motor, I was able to control its vibration intensity with Arduino’s analog pin which is otherwise not feasible with Raspberry Pi. I tested runing several different disks with different intensity at the same time, and it was sucessful.
Another concern that was addressed this week was the pin assignment for the arduino UNO. We were originally woried that the UNO will be insufficient for our number of sensors and disk motors, but after examining the size of the motors and sensors, we have decided to limit the number of sensors used to 6 maximum. In which case, we will need 1 DIGITAL for sensor control(we operate all 6 sensors at the same time), 6 DIGITAL PINS for sensor feedback, 6 PWM pins for vibration motor control, which is exaclty the number of digital pins provided by the UNO model. Thus we will be sticking with the arduino UNO board.
Next week, I will integrate the control interface for multiple sensors and vibration motors in arduino. Further more, I will work with Kelton to implement a basic control script in python to run the sensors and vibration disk through communication between the raspberry pi and arduino.