Project for internet of things
You are viewing an older revision! See the latest version
Homepage
IOT Smart Car aka MBED Based Remote Temperature Sensor¶
Introduction¶
This project is about demonstrating an IOT application using MBED Application board LPC1768. In this project a toy car has been hacked for demonstrating a remote sensor. According to Oxford Dictionary definition of a "Robot" is a machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer. This toy car according to the definition of a robot does fall in the category of being a robot therefore in the next sections the car will be refereed with terminologies as "Robot Car" or "Robot".
Goal¶
The goal of the project is to make a Robot that:
- Can act as a Smart remote sensor by updating sensor data via Ethernet and Wifely Interface.
- Can be controlled or accessed from a remote position using various interfaces.
Functionality:¶
As this project is done for educational purpose rather than for commercial product therefore our team tried to use all bits and pieces of what we have learnt in the class to implement in this project. For clear vision the functionality of the Robot is broken down into different modes(a manner of acting or doing). The modes of the Robot are as follows:
- Mode1: Manual Mode - |PS2 + Xively + Wifely|:
This is the manual mode in which the car is controlled manually via a PS2 controller. In this mode the temperature sensed is transmitted on the xively via Wifly. - Mode 2: Semi-Auto- |Telnet + Xively + Ethernet|:
In semi automatic mode, the control is remote. The car is controlled by telnetting to the mbed via ethernet. In this mode the distance travelled by the car gets limited due to the use of ethernet cable. - Mode 3: Automatic- |Xively + Wifely+Obstacle Avoidance|:
In this mode the car moves automatically all over avoiding the obstacles it comes across. It also senses the temperature and sends it to the xively page via wifly. The mbed code used for this is same as in mode 1, only difference being the arduino is programmed for obstacle avoidance.
Components¶
Following components are used for the project:
- Arduino- RoMeo:
RoMeo is an All-in-One Arduino compatible microcontroller especially designed for robotics applications from DFRobot. (For more Info: http://www.dfrobot.com/index.php?route=product/product&product_id=656#.U5Vh4PldVGk). - Mbed (LPC1768):
For more Info https://mbed.org/platforms/mbed-LPC1768/
- Application Board:
For more info: https://mbed.org/cookbook/mbed-application-board
- Motor Driver:
MD30C is the successor of MD30B which is designed to drive medium to high power brushed DC motor with current capacity up to 80A peak and 30A continuously.
- Jumper Wires:
- Servo Motor:
- Distance Sensor:
This is the major component used in the obstacle detection. The outpur voltage of this sensor changes depending upon the distance of the obstacle from it. This voltage is then used in arduino software to avoid the obstacles.
Codes¶
Mode 1: Manual (PS2-Xively-Wifly)¶
Import programMode-1_PS2_Wifly_Xively
The car is controlled by the PS2 controller and the temperature is sent on xively via the wifly.
Mode 2: Semi Automatic (Telent-Xively-Ethernet)¶
- Publish the code from Zain and add link here.
Mode 3: Automatic(Xively-Wifly-Obstacle avoidance)¶
Attach Arudino code here
MBED Code:
Import programMode-3_Wifly_Xively_Obstacle_detection
This code is used to transmit the temperature sensed by the mbed to the xively via wifly. The car is self controlled.
Testing¶
Mode 1: Manual Mode¶
ID | Test Case Description | Output | Result |
---|---|---|---|
1 | Connect the PS2 controller to the car. Power on the MBED. Press the direction control buttons on the PS2 car controller. | The mbed should get an IP address via the wifi and the car should move according to the buttons pressed on the PS2 controller. | PASS |
2 | Open the xively page with your specific device on the laptop.(Make sure your laptop is on the same subnet as the mbed.). Move the car to different positions using the PS2 controller | The xively page updates temperature every 10 seconds. | PASS |
Mode 2: Semi Automatic¶
ID | Test Case Description | Output | Result |
---|