Project for internet of things
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:Remote Control Car- |Wifely Control of car|:
In this mode the car is controlled by wifi via telnet.
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: Remote Control Car
Import programMode-2_Remote_Control
This program is used to control the car remotely via telnet using wifi.
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: Remote Control Car
ID | Test Case Description | Output | Result |
---|---|---|---|
1 | Connect the wifi module to the mbed. Power it. | LCD should display the IP address. | PASS |
2 | Establish a telnet connection from your pc to the IP address on Port 7. | The connection should be established successfully | PASS |
3 | Send the following characters from the telnet terminal and check if you get the respective response.'w' ,'x' ,'a','d', 's', 'z'. | The response should be as follows: 'w' -> FWD 'x' -> REV 'a' -> LEFT 'd' -> RIGHT 's'- > Stop 'z' -> Make wheels straight | PASS |