Updates

Week 1

This week was more focused on getting our class labs working and submitted, so there wasn't a huge amount of progress made. We are using the next lab (Lab 6) as a baseline in understanding how to use our motors better. Once Lab 6 is finished, we will begin work on the rest of the components--most likely our LCD display panel as that might prove to be the most complicated in our task-list.


We are still working on finalizing our parts list, but by this weekend, we should have our parts ordered and a solid plan of action to be ready when they arrive. This would include having some libraries and preliminary code setup for the display as well as a skeleton structure for the communication protocols set up. That way, we can tackle the specific functionality in a more efficient way--a small head-start to make use of dead time waiting for parts

Week 2

This week emphasizes on defining the model, ordering parts, and implementing the code. The main robot will be covered in cardboard with a water container hidden inside. At the bottom of the robot, there will be a hard plastic plate that will stabilize the wheels and motors altogether.  With a clear picture of the model in planned, we can order and prepare the mandatory parts including stepper motors, wheels, cardboard, ultrasonic sensor, water container, servos, and the bottom plate. Other potential parts such as upgraded bluetooth receiver, temeprature sensors, lcd screen, etc can be ordered depending of the remaining time we have after implementing the core of the robot. While waiting for the parts, the code for the ultrasonic sensor, servo, and motors will be implemented throughout the weekend. Additionally, the cardboard will be cut and define the body of the robot.

Week 3

This week we focused heavily on finishing code for the majority of the functionality. I2C was implemented for the Wii Nunchuk, PWM code was finished for the ultrasonic sensors, and motor control code was finalized. We are thinking of using more powerful motors, so once those arrive we will be changing the motor code. If we can't get it to work we will switch back to the original motors we were using. PWM code for airpumps to dispense the fluid has been started and will be finished by the weekend. Same goes for UART over bluetooth. By this weekend most of our parts will have arrived and we will begin construction of the robot itself.

Week 4 - Final Week!

This week we finished the robot fully functional, but we had to cut back on the LCD display due to time constraints. We were able to figure out the structure of our robot and how to build it all.  We ran into an issue with the motors seemingly not working, but after some minor timing tweaks, they were able to work just fine. One quirk is that there is a delay between retrieving the new nunchuk data and passing it to the motors so there is a slight pause between movements. If we had some more time, a solution we were thinking of was to use SysTick or  Timer interrupts as a method of checking on I2C data so we wouldn't have to be stuck waiting for data to come in before executing commands. With everything taped up and glued in, we conclude this week with our project finished and ready to demo (see video on the homepage).

Battery Power Testing

Test using 12V AA battery pack to power the nucleo board.

Motors Testing

Test all motors and pins are connected and functioning correctly.

Motor Initialization Sequence

Implemented Motor wake sequence to ensure all four motors are working before it proceeds to the main function.

Airpump Testing

Test using 6V DC airpump to implement a fluid dispenser with concept of air pressure.