SlideShare a Scribd company logo
1 of 21
Android-Based Robots



      Khaled Al-Kady
       Robotics25
Today's Message




●   Entering the robotics field is easy!

●   Knowing how to enter the field
Today's Message




●   Entering the robotics field is easy!

●   Knowing how to enter the field
Easy!
What is a Robot anyway?

        Input               Processing               Output




Taken from environment not from          Usually includes making a
           keyboard!                          physical action


 Position (Gyro, Accelerometer)            Rotating a motor
  Distance (Ultrasonic sensor)              Making a sound
What prevents software developers
      from building Robots?
Problem 1: IO

Interfacing with external devices




You can't debug wires!
Solution for problem 1: IO

Interfacing with external devices – still exists,
but no longer includes:
Problem 2: Processing

Basic micro-controllers

●   Low level programming


●   Physical constraints


●   Lack of utilities
Solution for Problem 2: Processing

●   Advanced Micro-controllers
         –   Arduino

●   Computer on chip
         –   RaspberryPI
         –   BeagleBone
         –   PcDuino

●   Phone + Advanced Micro-controller
         –   Android + Arduino
         –   Android + IOIO
Demo

●   Demo 1
        –   Remote controlled plane

●   Demo 2
        –   The plane controls itself
Demo: Architecture

Phone + Advanced Micro-controller


                                    input

                    Micro           devices
Smart phone
                  Controller
 (Android)                          output
                    (IOIO)
                                    devices
Demo: Components
          IOIO                Android Phone




Remotely controlled       Android 1.5+
micro-controller (USB &
Bluetooth)
48 Input/Output pins
Demo: Components
        Servo          Brushless Motor




class PwmOutput     class PwmOutput
+ setPulseWidth()   + setPulseWidth()


Values: 500-2500    Values: 1000-2000
Demo: Components
   Ultrasonic sensor   Built-in Accelerometer




class AnalogInput      SensorEventListener
+ getVoltage()         + onSensorChanged()


Values: 10mV/inch      Values: -9.8 to +9.8
Demo: Code!


    IOIOActivity      BaseIOIOLooper          IOIO
createIOIOLooper()   setup()           openPwmOutput()
                     loop()            openAnalogInput()




     MyScreen             MyLooper       InputWrapper
createIOIOLooper()   setup(){}
{
                     loop(){}
}                                       OutputWrapper
Other approaches 1/2

Phone + Micro-controller
●   Android + Arduino
         –   ADB: Android Debug Bridge
         –   ADK: Accessory Development Toolkit
         –   SPP/Bluetooth: Serial Port Profile

                                                  input

                                Micro             devices
        Smart phone
                              controller
                                                  output
                                                  devices
Other approaches 2/2

Computer on chip
1Ghz processor, 1GB RAM, Ubuntu/ICS
●   RaspberryPI
●   BeagleBone
●   PcDuino
                                      input
                                      devices
              Computer on chip
                                      output
         sensors          screen
                                      devices
Where to find components?

Hacks
●   DVD writers
         –   Bushless motor + Stepper motor + Laser !!
●   Old toys & Mechano
●   Car window motor, windscreen wipers

RC shops
●   HobbyKing.com
●   Electronics shops in city center
Get Involved!

●   Collaboration and technical support


●   Sponsoring amazing graduation projects


●   Facebook: Robotics25


●   Twitter: @Robotics25
Thank you : )




    FB: Robotics25
khaled.alkady@yahoo.com

More Related Content

What's hot

Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino MicrocontrollerShyam Mohan
 
YAPC2011-Perlでちょいモテ電子工作
YAPC2011-Perlでちょいモテ電子工作YAPC2011-Perlでちょいモテ電子工作
YAPC2011-Perlでちょいモテ電子工作Yuki Manno
 
Buy arduino zero by robomart
Buy arduino zero by robomartBuy arduino zero by robomart
Buy arduino zero by robomartchauhan786
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIsPearl Chen
 
Buy arduino uno in bulk by robomart
Buy arduino uno in bulk by robomartBuy arduino uno in bulk by robomart
Buy arduino uno in bulk by robomartchauhan786
 
Controlling an Arduino with Android
Controlling an Arduino with AndroidControlling an Arduino with Android
Controlling an Arduino with AndroidA. Hernandez
 
Porte à puce - Automatic Door based on Arduino UNO R3
Porte à puce - Automatic Door based on Arduino UNO R3Porte à puce - Automatic Door based on Arduino UNO R3
Porte à puce - Automatic Door based on Arduino UNO R3Meifani Sumadijaya
 
What are the different types of arduino boards
What are the different types of arduino boardsWhat are the different types of arduino boards
What are the different types of arduino boardselprocus
 
Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Shigeru Kobayashi
 
Porte à puce - Smart Safety Door based on Arduino UNO R3
Porte à puce - Smart Safety Door based on Arduino UNO R3Porte à puce - Smart Safety Door based on Arduino UNO R3
Porte à puce - Smart Safety Door based on Arduino UNO R3Meifani Sumadijaya
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduinoavikdhupar
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software DevelopmentSanjay Kumar
 
Arduino Introduction by coopermaa
Arduino Introduction by coopermaaArduino Introduction by coopermaa
Arduino Introduction by coopermaa馬 萬圳
 
Show & Tell.- Introduction
Show & Tell.- IntroductionShow & Tell.- Introduction
Show & Tell.- Introductionzvikapika
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1Felipe Belarmino
 
Introducing... Arduino
Introducing... ArduinoIntroducing... Arduino
Introducing... Arduinozvikapika
 

What's hot (20)

Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino Microcontroller
 
YAPC2011-Perlでちょいモテ電子工作
YAPC2011-Perlでちょいモテ電子工作YAPC2011-Perlでちょいモテ電子工作
YAPC2011-Perlでちょいモテ電子工作
 
Buy arduino zero by robomart
Buy arduino zero by robomartBuy arduino zero by robomart
Buy arduino zero by robomart
 
Android Open Accessory APIs
Android Open Accessory APIsAndroid Open Accessory APIs
Android Open Accessory APIs
 
Buy arduino uno in bulk by robomart
Buy arduino uno in bulk by robomartBuy arduino uno in bulk by robomart
Buy arduino uno in bulk by robomart
 
Controlling an Arduino with Android
Controlling an Arduino with AndroidControlling an Arduino with Android
Controlling an Arduino with Android
 
Porte à puce - Automatic Door based on Arduino UNO R3
Porte à puce - Automatic Door based on Arduino UNO R3Porte à puce - Automatic Door based on Arduino UNO R3
Porte à puce - Automatic Door based on Arduino UNO R3
 
What are the different types of arduino boards
What are the different types of arduino boardsWhat are the different types of arduino boards
What are the different types of arduino boards
 
Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02Workshop @ Make: Tokyo Meeting 02
Workshop @ Make: Tokyo Meeting 02
 
Porte à puce - Smart Safety Door based on Arduino UNO R3
Porte à puce - Smart Safety Door based on Arduino UNO R3Porte à puce - Smart Safety Door based on Arduino UNO R3
Porte à puce - Smart Safety Door based on Arduino UNO R3
 
Arduino presentation
Arduino presentationArduino presentation
Arduino presentation
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software Development
 
Different Arduino Boards
Different Arduino BoardsDifferent Arduino Boards
Different Arduino Boards
 
Arduino Introduction by coopermaa
Arduino Introduction by coopermaaArduino Introduction by coopermaa
Arduino Introduction by coopermaa
 
Show & Tell.- Introduction
Show & Tell.- IntroductionShow & Tell.- Introduction
Show & Tell.- Introduction
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1
 
Introducing... Arduino
Introducing... ArduinoIntroducing... Arduino
Introducing... Arduino
 

Viewers also liked

Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
Android-based surveillance Robot
Android-based surveillance RobotAndroid-based surveillance Robot
Android-based surveillance RobotTonmoy Bora
 
Gsm robot with cctv camera
Gsm robot with cctv cameraGsm robot with cctv camera
Gsm robot with cctv cameraashutoshsahu2908
 
Voice controlled spy robot for security system
Voice controlled spy robot for security systemVoice controlled spy robot for security system
Voice controlled spy robot for security systemMayank Prajapati
 
Android controlled robot
Android controlled robotAndroid controlled robot
Android controlled robotSatyendra Gupta
 
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATION
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATIONBLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATION
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATIONVarun Divekar
 
Aeronautical communication
Aeronautical communicationAeronautical communication
Aeronautical communicationbhavithd
 
Bluetooth Controlled Robot
Bluetooth Controlled RobotBluetooth Controlled Robot
Bluetooth Controlled RobotPankaj Rai
 
Wireless robot ppt
Wireless robot pptWireless robot ppt
Wireless robot pptVarun B P
 
A-Z Web Development Concept
A-Z Web Development ConceptA-Z Web Development Concept
A-Z Web Development ConceptBukhori Aqid
 
The 2016 CES Report: The Trend Behind the Trend
The 2016 CES Report: The Trend Behind the TrendThe 2016 CES Report: The Trend Behind the Trend
The 2016 CES Report: The Trend Behind the Trend360i
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Viewers also liked (16)

Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
Android-based surveillance Robot
Android-based surveillance RobotAndroid-based surveillance Robot
Android-based surveillance Robot
 
Gsm robot with cctv camera
Gsm robot with cctv cameraGsm robot with cctv camera
Gsm robot with cctv camera
 
Voice controlled spy robot for security system
Voice controlled spy robot for security systemVoice controlled spy robot for security system
Voice controlled spy robot for security system
 
Android controlled robot
Android controlled robotAndroid controlled robot
Android controlled robot
 
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATION
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATIONBLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATION
BLUETOOTH CONTROL ROBOT WITH ANDROID APPLICATION
 
Aeronautical communication
Aeronautical communicationAeronautical communication
Aeronautical communication
 
Bluetooth Controlled Robot
Bluetooth Controlled RobotBluetooth Controlled Robot
Bluetooth Controlled Robot
 
Aeronautical Communications
Aeronautical CommunicationsAeronautical Communications
Aeronautical Communications
 
Wireless robot ppt
Wireless robot pptWireless robot ppt
Wireless robot ppt
 
A-Z Web Development Concept
A-Z Web Development ConceptA-Z Web Development Concept
A-Z Web Development Concept
 
Voice controlled Robot
Voice controlled RobotVoice controlled Robot
Voice controlled Robot
 
The 2016 CES Report: The Trend Behind the Trend
The 2016 CES Report: The Trend Behind the TrendThe 2016 CES Report: The Trend Behind the Trend
The 2016 CES Report: The Trend Behind the Trend
 
Android ppt
Android ppt Android ppt
Android ppt
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar to Android Based Robots

Pre meetup intel® roadshow london
Pre meetup intel® roadshow londonPre meetup intel® roadshow london
Pre meetup intel® roadshow londonHugo Espinosa
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things HardwareDaniel Eichhorn
 
Development, debug and deploy hardware/software solutions based on Android an...
Development, debug and deploy hardware/software solutions based on Android an...Development, debug and deploy hardware/software solutions based on Android an...
Development, debug and deploy hardware/software solutions based on Android an...Илья Родин
 
2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT FightBruno Capuano
 
Aurdidino1 anurag preetirajesh-sgsits
Aurdidino1  anurag preetirajesh-sgsitsAurdidino1  anurag preetirajesh-sgsits
Aurdidino1 anurag preetirajesh-sgsitsanurag278
 
2014 09 12 Dia Programador Session Materials
2014 09 12 Dia Programador Session Materials2014 09 12 Dia Programador Session Materials
2014 09 12 Dia Programador Session MaterialsBruno Capuano
 
Android Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKAndroid Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKRajesh Sola
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaRajesh Sola
 
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Codemotion
 
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Codemotion
 
Physical Computing with Android and IOIO
Physical Computing with Android and IOIOPhysical Computing with Android and IOIO
Physical Computing with Android and IOIOArjan
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldStefano Sanna
 
Android Things - The IoT platform from Google
Android Things - The IoT platform from GoogleAndroid Things - The IoT platform from Google
Android Things - The IoT platform from GoogleEmmanuel Obot
 
KiwiBoard: Open Hardware with Android
KiwiBoard: Open Hardware with AndroidKiwiBoard: Open Hardware with Android
KiwiBoard: Open Hardware with Androidkiwiboard
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionIntel® Software
 
RGB_ControlRGB_Control_Documentation.pdf
RGB_ControlRGB_Control_Documentation.pdfRGB_ControlRGB_Control_Documentation.pdf
RGB_ControlRGB_Control_Documentation.pdfEpromServis
 
FYP presentation_LiXiaotong
FYP presentation_LiXiaotongFYP presentation_LiXiaotong
FYP presentation_LiXiaotongChristina Li
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlPradip Bhandari
 

Similar to Android Based Robots (20)

Pre meetup intel® roadshow london
Pre meetup intel® roadshow londonPre meetup intel® roadshow london
Pre meetup intel® roadshow london
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things Hardware
 
Development, debug and deploy hardware/software solutions based on Android an...
Development, debug and deploy hardware/software solutions based on Android an...Development, debug and deploy hardware/software solutions based on Android an...
Development, debug and deploy hardware/software solutions based on Android an...
 
2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight
 
ARDUINO presentation by Bamidele Samuel.ppt
ARDUINO presentation by Bamidele Samuel.pptARDUINO presentation by Bamidele Samuel.ppt
ARDUINO presentation by Bamidele Samuel.ppt
 
Aurdidino1 anurag preetirajesh-sgsits
Aurdidino1  anurag preetirajesh-sgsitsAurdidino1  anurag preetirajesh-sgsits
Aurdidino1 anurag preetirajesh-sgsits
 
2014 09 12 Dia Programador Session Materials
2014 09 12 Dia Programador Session Materials2014 09 12 Dia Programador Session Materials
2014 09 12 Dia Programador Session Materials
 
Android Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKAndroid Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADK
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
 
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
Android Things, from mobile apps to physical world - Stefano Sanna - Giovanni...
 
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
Android Things, from mobile apps to physical world by Giovanni Di Gialluca an...
 
Physical Computing with Android and IOIO
Physical Computing with Android and IOIOPhysical Computing with Android and IOIO
Physical Computing with Android and IOIO
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical world
 
Android Things - The IoT platform from Google
Android Things - The IoT platform from GoogleAndroid Things - The IoT platform from Google
Android Things - The IoT platform from Google
 
KiwiBoard: Open Hardware with Android
KiwiBoard: Open Hardware with AndroidKiwiBoard: Open Hardware with Android
KiwiBoard: Open Hardware with Android
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
Android Things - The IoT platform for everyone.
Android Things - The IoT platform for everyone. Android Things - The IoT platform for everyone.
Android Things - The IoT platform for everyone.
 
RGB_ControlRGB_Control_Documentation.pdf
RGB_ControlRGB_Control_Documentation.pdfRGB_ControlRGB_Control_Documentation.pdf
RGB_ControlRGB_Control_Documentation.pdf
 
FYP presentation_LiXiaotong
FYP presentation_LiXiaotongFYP presentation_LiXiaotong
FYP presentation_LiXiaotong
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin Control
 

Android Based Robots

  • 1. Android-Based Robots Khaled Al-Kady Robotics25
  • 2. Today's Message ● Entering the robotics field is easy! ● Knowing how to enter the field
  • 3. Today's Message ● Entering the robotics field is easy! ● Knowing how to enter the field
  • 5. What is a Robot anyway? Input Processing Output Taken from environment not from Usually includes making a keyboard! physical action Position (Gyro, Accelerometer) Rotating a motor Distance (Ultrasonic sensor) Making a sound
  • 6. What prevents software developers from building Robots?
  • 7. Problem 1: IO Interfacing with external devices You can't debug wires!
  • 8. Solution for problem 1: IO Interfacing with external devices – still exists, but no longer includes:
  • 9. Problem 2: Processing Basic micro-controllers ● Low level programming ● Physical constraints ● Lack of utilities
  • 10. Solution for Problem 2: Processing ● Advanced Micro-controllers – Arduino ● Computer on chip – RaspberryPI – BeagleBone – PcDuino ● Phone + Advanced Micro-controller – Android + Arduino – Android + IOIO
  • 11. Demo ● Demo 1 – Remote controlled plane ● Demo 2 – The plane controls itself
  • 12. Demo: Architecture Phone + Advanced Micro-controller input Micro devices Smart phone Controller (Android) output (IOIO) devices
  • 13. Demo: Components IOIO Android Phone Remotely controlled Android 1.5+ micro-controller (USB & Bluetooth) 48 Input/Output pins
  • 14. Demo: Components Servo Brushless Motor class PwmOutput class PwmOutput + setPulseWidth() + setPulseWidth() Values: 500-2500 Values: 1000-2000
  • 15. Demo: Components Ultrasonic sensor Built-in Accelerometer class AnalogInput SensorEventListener + getVoltage() + onSensorChanged() Values: 10mV/inch Values: -9.8 to +9.8
  • 16. Demo: Code! IOIOActivity BaseIOIOLooper IOIO createIOIOLooper() setup() openPwmOutput() loop() openAnalogInput() MyScreen MyLooper InputWrapper createIOIOLooper() setup(){} { loop(){} } OutputWrapper
  • 17. Other approaches 1/2 Phone + Micro-controller ● Android + Arduino – ADB: Android Debug Bridge – ADK: Accessory Development Toolkit – SPP/Bluetooth: Serial Port Profile input Micro devices Smart phone controller output devices
  • 18. Other approaches 2/2 Computer on chip 1Ghz processor, 1GB RAM, Ubuntu/ICS ● RaspberryPI ● BeagleBone ● PcDuino input devices Computer on chip output sensors screen devices
  • 19. Where to find components? Hacks ● DVD writers – Bushless motor + Stepper motor + Laser !! ● Old toys & Mechano ● Car window motor, windscreen wipers RC shops ● HobbyKing.com ● Electronics shops in city center
  • 20. Get Involved! ● Collaboration and technical support ● Sponsoring amazing graduation projects ● Facebook: Robotics25 ● Twitter: @Robotics25
  • 21. Thank you : ) FB: Robotics25 khaled.alkady@yahoo.com