Progress Report 1
Group 5
Justin Okay
Sound Shield
Overview
I have been tasked with working on the sound/ audio for the driver. This is one part of task A requirements for the parking system. The method that is going to be used to implement sound is by using an arduino shield that can be programmed. The reason that this method was chosen was because arduino is a simplified code language. Adafuirt industries have many types of online libraries to help coding and arduino website has a lot of reference and function examples. The code is also very user friendly, everyone in the group is able to work with the code and get the sounds and audio outputs because everyone within the group has taken a C++ course. Figure (1) represents the parts that were ordered.
Figure (1): All Parts required for implementing sound for task a.
Task
The first step after receiving the parts was to build the shield so that coding can take place. This task was achieve by another member of the group. The shield was then given to me for coding. Base on the fact the shield is built for the arduino mega, the pin configuration is required so that the shield could be used on an arduino uno. When task a and b are interfaced together the arduino mega is going to be used but for personal use and coding of the shield it is more convenient to use my own uno. To answer some of my questions such as what is the pins configuration, where is the library to aid in the coding?, and what kind of sound files can the shield use, I was able to find them on by the first reference.
Current
I have uploaded test files from the internet machine specifically the adafruit libraries pertaining to the sound. I have located the pin configuration for the shield but have not hooked the shield up to the arduino mega, for members of the group are currently using it for their tasks. I have did hook it up to my personal uno. At this stage I am testing the code and having a few errors that need to be changed. I am also still researching more code libraries and software for audio file conversions.
Future
What my future plan is for this upcoming week. This upcoming week I should have a software that will be able to convert audio files into .wav files that the shield requires to output sound. I will be spending most of the week working on getting basic sound to output from the arduino. Challenges and tasks that I foresee with the code is that the libraries that are uploaded to the arudino environment declare variables that have to be used, finding out this variables and how they are used will require digging into the C++ code and located where they are defined. The group will have to decide on when the opportune time is to send out a sound so that the driver is not distracted or startled but the sound. This particular method for sound output can be costumed ranging from playing songs to have it sound out an individual letter, based on this range of sounds the group will need to decide on what sound is required for informational purposes and then will need to be converted to a .wav file and uploaded on the SD card. Also there is a 3’’ diameter speaker that needs to be mounted and soldered in place so that the sound can be heard.
References
1. http://learn.adafruit.com/adafruit-wave-shield-audio-shield-for-arduino/faq
2. https://code.google.com/p/waverp/downloads/list
Daniel Galy
Group 5
Parking Systems: Task (a) “Visual Aided Parking Assistance”
The individuals of group five were each given separate tasks. The work assigned to myself this week involved utilizing a screen to accomplish a portion of Task (a) for the parking systems group. Task (a) aids the driver in parking with on screen help and auditory aids. The screen that was chosen was an Ardiuno TFT LCD which is only 1.8” display. This screen size was chosen purposely so that the device could eventually be made handheld. This week, code for the screen was developed and images were added that will guide the user in parallel parking. The following images were chosen so far:
Fig_(1a), Fig_(1b),
j
Fig_(1c), Fig_(1d).
“The above images (Figures (1a to 1c) depict the process one should execute to properly parallel park a vehicle.”
These images are saved to the Micro SD card that is attached to the screen. Once a case is created for the entire system buttons will be included so that the user can select what they want the parking system to do. The code to operate the screen via Arduino is attached. With this code each of the pictures can be cycled through to prove this portion of the circuit works. The following picture depicts the functioning screen:
Fig_(2).
“The above figure depicts the Arduino TFT screen with a loaded image connected to the Arduino UNO.”
Figure (2) is just a demonstration of the functionality of the screen; the final setup will utilize the Arduino MEGA ADK. Figure (3) shows the current code for the screen.
Code for Screen
Fig_(3)
Alec Vozzy
Group 5
My job was to create covers and code the sensors for the car. We got our supplies this week which was a little late, this held me back a bit but I currently designed a prototype cover for the sensors. Figure 1 shows the Solid Edge 3D model of just the simple block that will be cut into for the sensor. The block was made a little bit bigger to give the sensor more protection.
Figure 1: Block for the Cover
Figure 2 shows the center hole cut out for the sensor; this allows the sensor to take in data.
Figure 2: Center Hole for Sensor
Figure 3 shows the mounting holes for the sensor to connect to the cover itself. This will make sure that the cover will stay on the sensor itself.
Figure 3: Mounting Holes for Sensor
Figure 4 shows the bottom of the sensor, this cut in allows the sensor to sit into the cover a little bit so it is protected by outside elements.
Figure 4: Cut-In for bottom
Figure 5 shows mounting tabs on the cover so we can mount the sensor to a surface. There is also a little cut out for wires to be connected to the sensor. This allows us to mount the sensor to surfaces without directly attaching the sensor to the surface.
Figure 5: Mounting holes for Cover
Currently I am working on another prototype so that as a group we can decide what cover will be best for the sensor. Next week I plan to start work on the logic of the sensor and code to read distances.
Dylan Dean
Sr. lab status report 1.
The current status of the senior design project, on my end, is beginning to get the car to drive. To do this a code and schematic found on arduino’s website and included below will be used as a starting platform to get the motor to perform. Pulse width modulation will be used to control the speed of the motor. Once driving performance has been dialed in, this code will be combined with that of the output screen and ultrasonic sensors.
/*
* Switch test program
*/
int pot = 0;
int relay = 3;
int motorPin = 11;
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
pinMode(pot, INPUT);
pinMode(relay, OUTPUT);
pinMode(motorPin, OUTPUT);
}
int getPot() {
int v;
v = analogRead(pot);
v /= 4;
v = max(v, 90);
v = min(v, 255);
return v;
}
int motorFoward() {
analogWrite(motorPin, getPot());
delay(1000);
digitalWrite(motorPin, LOW);
delay(1000);
digitalWrite(relay, HIGH);
Serial.println(getIR());
delay(1000);
}
int motorBackward() {
analogWrite(motorPin, getPot());
delay(1000);
digitalWrite(motorPin, LOW);
delay(1000);
digitalWrite(relay, LOW);
Serial.println(getIR());
delay(1000);
}
void loop() // run over and over again
{
motorFoward();
motorBackward();
}
Figure1: code for dc motor control
Figure 2: Motor controller circuit on a breadboard
Up to this point a good portion of the time spent on this project has been either, coding, collaborating or waiting for parts to come. The parts were received on February 18, 2014. In the following two weeks the plan is to get the code to provide an interactive parking instruction, changing the stages of the parking procedure on the screen as the desired sensor inputs are satisfied.
The current plan is to have the RC car carry all of the components on the top of the car possibly by making a light weight platform that will sit atop the car and allow the attachment of the sensors, and housing of the circuitry. As of now, little physical progress has been made. However the plan is clear and the procedures required to carry it out are doable in a few weeks at most.
http://playground.arduino.cc/Main/DCMotorControl#.UwemCuNdVrU
Jacob Anderson
Senior Design Summary
2/21/2014
During the past few weeks we have been dividing up tasks among people. I got assigned with soldering all parts that were needed for all group members. And while I am doing this I will also work with other groups to help implement their task. But my main task is to work with Dylan to get the car working with the Mega.
Figure 1: Before all the Parts were Soldered On
Figure 2: After all the Parts are Soldered with the Arduino
We got our orders in last week and they just came in on Wednesday. I soldered the entire audio shield that day so Justin could work on it ASAP. After this I soldered the wires onto the ultrasonic sensors for Alec to work with. The Red wire is positive (+5VDC), black is ground, and the yellow wire is the signal. This is the same color scheme for all of the ultra-sonic sensors ( 4 of them).
The Signal wire is hooked up to the RX terminal so that the sensor will give a continuous signal. This will work well with coding, because a continuous signal will enable the Arduino to have a signal to read without having to initialize it.
My plan for next week is to work exclusively with Dylan to get the RC car working with the Arduino. This will be a big step forward. Once we know how to control the DC motors we will then be able to work with the ultra-sonic sensors to get them to work together. There are two DC motors in the car and in order for the car to control them we will also need a way to mount the sensors, Arduino, battery, and what ever else we need onto the car. So I will be designing a system that will allow us to do that without changing the cars geometry and driving patterns