Archive for the 'Final Report' Category
Prototype I Final Report Assignment

Put your complete, standalone documentation for your first prototype here. Documentation should include complete functional and technical description, including but not limited to pictures, flow chart, circuit diagrams, and code.

due midnight before March 16

MEDS – Prototype I Final Report: (Medicine Expiration/Refill Date System)

Introduction:

our project goal is to use a device MEDS (Medicine Expiration/refill Data System) will assist patients by notifying them when a medicine in their personal cabinet is about to expire or needs a refill. MEDS will use a handheld scanner to populate the patient’s personal database with every medicine that is added to his medicine cabinet. The system will control the expiration date and the refill date for each medication and display the result with a buzzer alarm on a LCD display integrated on the device.

MEDS will be a stand-alone device to be placed near the medicine cabinet or in any suitable and visible location to the patient. When a medicine that had been properly added to the device’s database is about to expire (30 days early notification) or run-out, MEDS will sound a buzzer/light alarm and display the medicine name and condition (expired, or refill) on the integrated LCD display.

Description:

 

1. we built the codes to set up the reminder and refill lights ON and OFF.

codes

2.we also built two lights using arduino

 

Diagram:

 


 

 parts used:

lED

Scanned reader

Small  box

Memory sheild 

Arduino ans codes

 

Reflection:

we built the memory shield and we are not able to use it due to difficulties building our data bases. however, we are able to come up with sample prototype consists of two light , one is the refill and the other is reminder and  the push bottom  to acknowledge that a person has taken his medicine . the reminder are set by a counter for everyday dosage and the time reach 20 times or dosage , the refill light will come on to remind the person that he has to take pill left.  

Electric Chair – Prototype I Final Report: Electric Chair

Introduction:

At the meeting with CPRF residents on the beginning of the semester several residents requested safety lights on the back of their wheelchair. The lights would make them more visible at night to other vehicles. Also, some of the residents wanted headlights which would enable them to travel at night. For the past few weeks, our team was working on figuring out a way to make these lights universal, so that they can be attached to any wheelchair with minor modifications. For our first prototype, we used LED lights that will be switched on and off using IR sensor.

Description:

We created a working schematic for the prototype using software called TINA.  The Arduino and the lights are both powered by the battery separately. However, the output of the Arduino controls the lights. Basically, if the output is 5v, the transistor closes, if the output is 0v, the transistor opens. For the Arduino we modified and used code found online. Since we didn’t have a real wheelchair to apply our system, we built one out of LEGOs. We installed the system on it which can be seen in the pictures bellow.

Parts used:

Arduino & code

LED lights

Legos

 

Diagrams:

Reflection:

Our project was to build the safety lights and headlights for the wheelchair. It’s something that’s already out there and that can be bought. We wanted to make it better looking but still effective. LED lights work fine and can be turned on and off with IR sensor. The next step is to hack the CAN BUS which is software that most wheelchair controllers use. That will allow us to install our system on the wheelchair and control it from built-in user controls. 

MAR- Prototype1 Final Report

Introduction:

The goal of our project was to design and make a wireless emergency module for wheel chair residents in order for them to notify somebody in case of an emergency only by pressing a button. The need of making this kind of a module was en counted by a current CPRF resident as they need a light weight portable energy saving system that they can use to inform somebody only if they need help, and at the same time they should not be monitored 24/7. To accomplish all these requirements we decided to use a Bluetooth SMD module and android phone to make that kind of a system they need. We planned to design a wrist band with a button that once it is pressed the SMD module inside it gets activated and sends a Bluetooth signal to an android phone. Then the android phone recognizes that Bluetooth signal, calculates GPS coordinates of the current wheelchair’s location. Then it send those coordinates as a message to the emergency contact(a phone or computer). 

Description:

We developed a PC board with a SMD module attached to it in order to send a wireless signal via Bluetooth. We used Bluetooth smd module rn-42 and a circuit developed using Arduino structure in order to make the part which sends a Bluetooth signal when the button is pressed. A special android application was developed by using java to receive the particular Bluetooth signal sent from the Bluetooth module. Java and android application building is done using Eclipse IDE. Once the switch is activated, the application installed into the android equipment receives the signal via Bluetooth and sends a message to a given number.

Diagrams:

Android Programs we developped :

Main Activity to welcome and call the service :

package MyAndroid.Project;
import android.app.Activity;
import android.app.ActivityManager;
//import android.app.ActivityManager.RunningServiceInfo;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class HelloActivity extends Activity
{
    BluetoothAdapter mBluetoothAdapter;
    int REQUEST_ENABLE_BT = 1;
    ActivityManager Manager;
   
    /** Called when the activity is first created.*/
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                  
        //Inform user that the application started.
        android.widget.TextView myText = new TextView (this);
        myText.setText(“Starting Bluetooth Tracker”);
        setContentView(myText);
       
        //Checking whether the device has BT adapter
        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        if (mBluetoothAdapter == null)
        {
            Toast Etoast = Toast.makeText(this, “NO BLUETOOTH!”, Toast.LENGTH_SHORT);
            Etoast.show();
            System.exit(1);
            return;
        }
              
        //Enable BT if it is disabled.
        if (!mBluetoothAdapter.isEnabled())
        {
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult (enableBtIntent, REQUEST_ENABLE_BT);
        }   
                                              
    }
       
        public void onStart()
        {
            super.onStart();
           
          //Binding  and starting service “MyService” to the Activity
          bindService(new Intent(this, MyService.class), null, 0 );
          startService(new Intent(this, MyService.class));
          Toast Stoast = Toast.makeText(this, “You are in Activity’s ‘On Start’ ! “, Toast.LENGTH_SHORT);
          Stoast.show();
          //isMyServiceRunning();      
           
        }   
        
    /*
    private boolean isMyServiceRunning()
    {
         Manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
         for (RunningServiceInfo service : Manager.getRunningServices(Integer.MAX_VALUE))
         {
             if (“MyAndroid.Project.MyService”.equals(service.service.getClassName()))
             {
                 return true;
             }
         }
        Toast Stoast = Toast.makeText(this, “You are in Service’s ‘On Start’ ! “, Toast.LENGTH_SHORT);
       Stoast.show();
         return false;
     }  */
}

Service to track and respond to a particular Bluetooth signal :

package MyAndroid.Project;

import java.util.Set;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;

public class MyService extends Service
{

    //Declarations
     //to send the message to enable BT in this device
    BluetoothAdapter mBluetoothAdapter; //Creating an instance of Adapter to capture BT adapter of this device
    String GotMacAdd ; //To detect input
    String HaveMacAdd = “90:27:E4:56:59:CE”; //Saved mac address
    //String mArrayAdapter[]; //Integer to get the Mac address of the second device
    Context Econtext = getApplicationContext();
    String NoAdapter = “Error: No bluetooth adapter is presented in this device”;
    int EDuration = Toast.LENGTH_SHORT;
   
    @Override
    // onBind method enables to bind an activity to the service
    // Also, Let’s the activity directly access methods in the service
    public IBinder onBind(Intent arg0)
    {
       
        return null;
    }
   
   
    @Override
    public void onCreate()
   
    {
        super.onCreate();
        Toast Etoast = Toast.makeText(this, “You are in Service’s ‘On Create’ ! “, Toast.LENGTH_SHORT);
        Etoast.show();
        //else
            //onStart(); //If this device support BT, then proceed further, calling onStart() to check whether the BT is enabled in this device.
    }
           
   
    //onStart method to check whether the BT in the phone is enabled; if not creates an intent to enable it; then proceed further.
    public void onStart()
    {
        super.onStart(null, 0);
        Toast Stoast = Toast.makeText(this, “You are in Service’s ‘On Start’ ! “, Toast.LENGTH_SHORT);
        Stoast.show();
        startTracker();
    }
   
    //Using startTracker method to track the Mac address of the particular device
    public void startTracker()
    {
        mBluetoothAdapter.startDiscovery(); //Discovering Devices
       
        //getting information from paired devices
        Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
        for (BluetoothDevice device : pairedDevices)
            {
            GotMacAdd = device.getAddress();
            if ( HaveMacAdd == GotMacAdd ) //If found the match
                {
                mBluetoothAdapter.cancelDiscovery(); // Stop discovering signals
                bindService(new Intent(this,BroadcastService.class), null, 0 );
                startService(new Intent(this, BroadcastService.class));
                BroadcastService DetectSignal = new BroadcastService(); // Calling BroadsatActivity Class
                DetectSignal.SignalDetected();
                }
            Toast Stoast = Toast.makeText(this, “Hu hu “, Toast.LENGTH_SHORT);
            Stoast.show();
            }
                     
        /*
         * Array to collect info about all paired Devices
        if (pairedDevices.size() > 0 )
        {
            for (BluetoothDevice device : pairedDevices)
            mArrayAdapter.add(device.getName() + “\n” + device.getAddress());   
        }
   
          */              
    } // end of startTrack()

   
@Override
public void onDestroy()
{
    // TODO Auto-generated method stub
    super.onDestroy();
    startTracker();
}

} // end of service

 

 Service to send a message to a given number and print a message to say a message was sent :

package MyAndroid.Project;

//import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.telephony.SmsManager;
import android.widget.Toast;

public class BroadcastService extends Service
{

    String Message = “Need Help”;
    String ContactNo = “316809220″;
    Context context = getApplicationContext();
    String Display = “Message Sent”;
    int Duration = Toast.LENGTH_SHORT;
   
    @Override
    public IBinder onBind(Intent intent)
    {
       
        return null;
    }
   
   
    public void SignalDetected()
    {
        //Sending message to the receiver
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(ContactNo, null, Message, null, null);
        //sms.sendTextMessage(ContactNo, null, Message, sentIntent, deliveryIntent)
       
        //Showing the message
        Toast toast = Toast.makeText(context, Display, Duration);
        toast.show();
    }

} //end service

 

Reflection:

            Using the SMD module in our project was not simple as we thought at the beginning. It needed a PC board developed using the help of Arduino in order to manage it’s functionality. We had to design the structure, do basic programming and circuit building to perform it’s task. We were able to manage building the basic circuit structure and now are in the process of testing it.

            The basic android application structure of our program was developed by following android development materials in www.android.com, but then it was found out that our application can only run on newer versions of android since the inbuilt Bluetooth packages we used to develop is supported by only newer android versions. Our android phone had an older android version (HTC G1 and HTC Hero), and it did not support the application at all at least to debug. So, we had to install latest android 4.0.3 into our HP touch pad in order to get the platform to run the application. It needed a lot of troubleshooting in order to establish the connection from HP touch pad to our laptop since the original WebOS of the touch pad was changed to Android so as the drivers which made it incompatible to detect by the laptop. As a result we are still having issues debugging some sections of our program and we need more troubleshooting in order to get the entire program running. We plan to upgrade our G1 phone from Android 1.5 to android 2.2  and try running the program. We wrote the android application to welcome the guest, check whether the current device have a Bluetooth adapter and if not then inform the user, if the adapter is present then to check whether Bluetooth is enabled or not, and if not it will prompt a message to the user asking permission to enable Bluetooth, gets the user input and enable the Bluetooth. So far that part of the program is running without any error. We also wrote the basic code structure to catch the Bluetooth signal from our SMD module and send a SMS to a given number, but that function is not working for some reason and we are still debugging the issue. The main points which make our product unique is having the capability to function using a portable wireless switch as needed, and having the vast environment to add multiple contacts to inform the emergency.

S.R.P.R – Prototype I Final Report: Dual model table

 

Introduction:

After we visiting the residents from C.P.R.F, we were drawn to the idea of designing an automated and retractable table. Through our several attempt to design the table that is compatible with the design of the wheelchair, we decided to have two pieces of table that folds and unfolds in front of the chair which can be controlled by Arduino. The design is very versatile because children and adult can easily fit themselves in the chair with the table attached to it. This provides disabilities some freedom in various way. Another advantages is it also saves a lot of trouble by having somebody setting up and removing a table for them each time. The table can also be utilized as both working station with the electronic device and the food table.

Description:

For this first prototype, mostly we spend on designing the table in CATIA and we also worked on how to control linear actuator by arduino.We used Linear Actuator to hold the table because it can be move both direction (forward and backward) and also be able to lift. The linear actuator will be powered by 12 volt power supply. For this first prototype, mostly we spend on designing the table in CATIA and we also worked on how to control linear actuator by arduino. We powered linear actuator by 12v power supply and used z44  MOSFET to switch to higher current load. The circuit diagram that we used for trying our linear actuator is attached to the Diagram. 

Part used:

Arduino

Linear Actuator

Z44 Mosfet

12v Power Supply

Diagrams:

Reflection:

At the beginning, when we started thinking on how we going to build our project, one of the things that first came to us is using actuators for the main movements and that what we all agreed on. Some of the things we were planning to do is our first design was to have the table mounted on one side either left or right, but after thinking deeply about it we found that if we have it mounted on both and cut the table into two half it would be much more advantageous. We believe that the way we have this project set up is the best way to make it. Some of the things we were discussing about this project if we were to expand it in the future was to make voice controlled instead of the buttons. But at the same time a lot of the residence at CPRF have hard time when they are trying to speak, so we thought of something like a motion detector controller such that a laser that will activate and inactivate the system when they motion their hands to the laser.

Green Wu – Prototype I Final Report: Bicycle-Powered Generator

 

Introduction:

For our senior design project, we are attempting to create a standalone bicycle-powered generator that is capable of charging small devices and portable appliances. Through the rotational motion of the bicycle wheel, we are going to develop a product capable of storing that energy into electricity which can then be discharged for later use. Our prototype consists of a bicycle stand, bicycle wheel, an Arduino circuit board, a generator, and a battery.

We angled the bicycle on the stand to better suit the CPRF residents. It is more easily accessible at this angle and is less taxing on the resident’s arms. We used the Arduino circuit board to measure the voltage coming off of the generator. We have a voltage divider in place to prevent damaging the circuit board.

Description:

We built a bicycle stand that supports the frame of a bicycle. It is angled 15 degrees to better suit the residents at CPRF. 

We used the voltmeter application found here: http://cratel.wichita.edu/cratel/python/code/SimpleVoltMeter

We used the  program built-in with the Arduino library for measuring voltages. This code can be found here: http://arduino.cc/en/Tutorial/AnalogReadSerial

Diagrams:

Here is an example of the voltage divider that we used: http://cratel.wichita.edu/cratel/arduino/Cookbook?action=AttachFile&do=get&target=voltage-divider.png

Here is the display of the voltmeter that we used: http://imgur.com/EYfU0

Here is an album of our prototype: http://imgur.com/a/5QPJC

Reflection:

Initially our project ran into a few hurdles getting the Arduino software to work. We were unable to get the programs loaded on the Arduino due to some issues with the header files. After we resolved that issue, we were able to run a few sample programs and test the functionality of the Arduino. Obtaining a bicycle to tear apart was another hurdle that our team had to face. This set us back a few weeks and prevented us from putting hours into the project.

Team Glen – Prototype I Final Report: Smart Mailbox

Introduction:

The Smart Mailbox project is designed to target a wide range of consumers from people living in remote areas to people with disability.  The Smart Mailbox is mainly designed to help people with mobility issues that find it a chore to check their mailbox everyday just to see if they have any mail or not.  This is especially true if the weather is bad, if they are having any health issues or just want to know if there is mail to be picked up.  The project our group is currently working on will address some of these issues.  Our Smart Mailbox System uses infrared sensors to detect mail and wirelessly transmits a signal to the receiver unit that is located inside the owner’s house.  The notification from receiver unit will alert the owner that mail has just been delivered to their mailbox

The materials we used for this project are:

  1. Two Arduino microprocessors
  2. Two Xbee Pros
  3. Two Xbee Shields
  4. One Infrared LED
  5. Two Infrared Transistors (IR sensors)
  6. One 1K ohm resistor
  7. One 330 ohm resistor
  8. Two 500K ohm resistors
  9. Two LED’s
  10. Wood used to create insert
  11. Hookup wire

Description:

The Arduino first provides power to the infrared LED which you will not be able to see it on unless you are viewing it through some device like a digital camera.  The infrared light is pickup by the two infrared transistor sensors on the sides of the insert for mailbox.  The infrared light will saturate the base of the transistor that will bring Vce=0 and thus grounding Sensor 1 and Sensor 2 Pins for a LOW digital state, as shown in the wiring diagram.  This is our “no mail state.”  The no mail state will not change until mail is place inside the mailbox which will trigger the “mail state.”  You only need to block the infrared light to one Sensor (Sensor1 or Sensor2).  When this happens, the resistance between the transistor’s collector and emitter goes to infinity.  This means that Vce=5v and Sensor1 or Sensor2 goes to a HIGH digital state.  This is our “mail state.”  These digital states are transmitted through Xbee to an receiving Xbee that is located some distance from the mailbox.  This will alert the owner that mail has arrived in there mailbox.  View the wiring diagram and Arduino Code below:                                                                                        

Below on the left is the mailbox with on the far left the transmitter Xbee Pro and Arduino board. Next to it is the receiving Xbee pro mounted on it arduino board.

LED on either transmitter and receiver are off with no mail in the box.

 

 

 Below on the right are both LEDs of the transmitter and the receiver turned out after mail have been dropped into the box.

As you can see the receive which is the assembly powered by a 9volt battery will be placed into the owner’s room.

 

Diagrams:

Below on the left is a wiring diagram for both the transmitter receiving Xbee Pros attached to separate arduino boards.

On the right is drawing of the mailbox insert with IR sensor and color coded wired that will be connected to the transmitting

ardiuno and Xbee. 

Arduino code for the transmitter can be found under the below link:

http://cratel.wichita.edu/blogs/eecsseniordesignspring2012fall2012/files/2012/03/Smart_Mail_Sender.pde

Arduino code for the receiver can be found under the below link:

http://cratel.wichita.edu/blogs/eecsseniordesignspring2012fall2012/files/2012/03/Smart_Mail_Receiver.pde

Reflection:

Our objective for part 1 of this project was to build and insert for mailbox, that can detect and send notification to the mailbox owner through Xbee Pros. We have successfully accomplished that. This success boosted our confidence on moving on to the second phase of this project, which will consist on implementing an RFID system that will be used to unlock and lock the mailbox upon exhibiting a badge in front of the box.

Then nicely and swiftly, we shall start working on how to enhance the range our Xbee Pros can cover as far as transmission is concerned.  

 As a 4th and final phase of our project, we shall look into how to expand this project to multiple users. Meaning by that have one arduino and Xbee control up to 7 mailboxes and notify the different receiver each mailbox owner has in his/her room. For now our earlier approach of solution to that is multiplexing. But until then we’ll still be looking for other ways to expand this project.

The project was overall fun to work on with no problems that we could not deal with.  A few comments on the insert we made and why it was designed it that way.  We were hoping to have the sensors mounted straight up and down for easy alignment of the sensors but we soon realized this would not be possible if we were to use the current mailboxes used at CPRF, our main clients in mind for our project.  The link below is what the apartment style mailboxes look like: 

http://item.mobileweb.ebay.com/viewitem?itemId=270637425011&index=4&nav=SEARCH&nid=00878384507

This is the mailbox we design our insert for.  You can also see when the postmaster opens the mailbox with the master key the whole thing hinges forward and the opening on top is where the postmaster places the mail.  Because of this top opening we could not have a straight up and down sensor system we were hoping for, which made thing more difficult to get proper angle alignment with the two sensors to the IR LED.

Team X – Prototype I Final Report: Wheelchair Curb Detector

 

Introduction:

The goal for our project was to design and make a system for a wheelchair that would detect a curb and stop the wheelchair from falling over the curb. Falling off a curb in a wheelchair can cause serious injuries. We decided to build the system using the arduino uno and two Sharp distance IR sensors to read the distance infront of the wheel chair. The system will find the average distance infront of the wheelchair, if the system detects a dramatic change in distance infront of the wheel chair the system will cut power to the motor. Instead of a wheel chair for our first prototype we used an RC car with the IR sensors mounted on polls to simulate a wheel chair. If the system detects a curb then power is cut to the motor using a relay.

Description:

We used a RC car with t-bar attached to the front with the 2 IR sensors mounted on a horizontal t-bar. The arduino and breadboard is also mounted on the RC car. The arduino will be powered off the RC car’s 9 volt battery by using a modified power adapter. A relay is connected to the power source to the motor. The IR sensor will continuously check the distance infront of the car. Each sensor will output an average distance that will be compared to the real time distance. If the real time distance is greater the average distance by more than 20 cm or 7 inches. Then the arduino will light up an LED and trip the relay to the power source. After 2 seonds the power will be given back and the system will continue check the distance

Parts List: arduino uno, 2 Sharp 2Y0A02  distance IR sensor, RC car, 9V OEG relay SRUDH-SS-109L, power adapter plug, LED, and  4 2-foot t-bars.

Diagrams:

 

Code_for_curb_detector 

Reflection:

Our project worked but there were some problems. The sharp IR sensor had some fluctuation with the voltage readings. We might consider using a different kind of sensor like an ultrasonic one to test the accuracy and consistency of distance readings. We added some capacitors to even out the voltage readings for our system. The next step would be to integrate the system to an actual wheelchair. Overall the prototype worked as intended: to detect a curb and send a signal to stop.