Your SlideShare is downloading. ×
0
Building a robot with .Net Micro           Framework           Ducas Francis           SC @ Readify
NetMF• Open Source Platform for small embedded  applications• Runs on devices with a 32-bit processor and as  little as 64...
Why NetMF?•   Use Visual Studio as the IDE•   Program in C#•   Same code runs on any NetMF device   with minimal changes• ...
What about Arduino?• Open Source Platform for electronics prototyping• Uses the Arduino programming language (C++  based) ...
NetMF Hardware - Netduino• Pro – Atmel ARM7    • Go – STMicro Cortex-  48MHz 128KB Flash     M4 168MHz 384KB  60KB RAM    ...
NetMF Harware - GHI• FEZ Spider – EMX ARM7 72MHz   • FEZ Cerberus/Cerbuino/Cerb40 –  3000KB Flash 12000KB RAM        OSHW ...
Arduino Compatible vs Gadgeteer• Compatible with          • Sockets over Pins  Arduino shields          • Modules are pre-...
What Are We Building• Let’s see…
Fez Panda II
Tamiya Dual Motor Gearbox
Tamiya Dual Motor Gearbox
Tamiya Track and Wheel Set
Tamiya Plate Set
Dual Motor Driver
Low Current Motors
Ultrasonic Range Finder
Accelerometer
What you Need•   Mainboard           • FEZ Panda II $50•   Motors              • SolarRobotics RM3 2x $4•   Gearboxes     ...
Or You Could Just Buy a Kit…• FEZ Mini Robot Kit $120   • RP5 Tank Chasis +                              Driver $120
What you need to know• *Basic* electronics• How to use a soldering iron• How to cut a little code in C#
NetMF 101
Net MF 101 – What do I have?• Multithreading• GC• Flash access
NetMF 101 – What don’t I have?• Generics• A lot of RAM…
NetMF 101
NetMF 101 - IO•   Digital IO•   Interrupts•   Analog IO•   UART•   SPI•   I2C•   PWM
NetMF 101 – Digital IO• Pin can either be set to HIGH (true) or LOW  (false)• OutputPort.Write(bool)• bool InputPort.Read(...
NetMF 101 - Interrupts• Act when the signal changes from LOW to  HIGH and vice-versa• NativeEventHandler InterruptPort.OnI...
NETMF 101 – Analog IO•   Read a voltage – not just HIGH/LOW•   Not part of core NetMF•   byte AnalogIn.Read()•   AnalogOut...
NETMF 101 – UART Serial Ports• Use 2 Pins to Communicate between 2 Devices   – TXD   – RXD• Wire to the opposite on each d...
NetMF 101 – I2C• Use 2 Pins to communicate between master  and multiple slave devices.  – SCL  – SDA• Provides a bus and a...
NetMF 101 - PWM• Pulse Width Modulation• Emulates a wave with given frequency and  duty cycle• Motors should be given high...
Building Tank Bot..•   Build the gearbox•   Attach the gearbox to the frame and wheels•   Attach the main board to the fra...
Test Bots• Distance Sensor• Accelerometer• Motor Driver
Discovery Botwhile (something within 30cm of front)     avoidgo forward
Safe Discovery Botwhile (bot is tipping)     avoidwhile (something within 30cm of front)     avoidgo forward
Where to buy…EOFY2012
Where to learn more…• tinyclr.com• netmf.com• letsmakerobots.com• sparkfun.com• bildr.com• mbed.org
With thanks to our sponsors
Please complete your feedback  forms, and return them to theregistration desk for a chance                       to win a ...
Upcoming SlideShare
Loading in...5
×

Building a robot with the .Net Micro Framework

2,249

Published on

Slides from my DDD Sydney session.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,249
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Building a robot with the .Net Micro Framework"

  1. 1. Building a robot with .Net Micro Framework Ducas Francis SC @ Readify
  2. 2. NetMF• Open Source Platform for small embedded applications• Runs on devices with a 32-bit processor and as little as 64K RAM• Provides the efficiency of creating and maintaining devices in managed code
  3. 3. Why NetMF?• Use Visual Studio as the IDE• Program in C#• Same code runs on any NetMF device with minimal changes• Full debugging capabilities – Emulator – Breakpoints – Stepping – Variables – Stack Traces• Includes many bus drivers• Managed Code with Garbage Collection
  4. 4. What about Arduino?• Open Source Platform for electronics prototyping• Uses the Arduino programming language (C++ based) and Arduino IDE.• Benefits – Inexpensive – Cross-Platform Software – Nice IDE – Open Source and Extensible Software (C++ or AVR-C) – Open Source and Extensible Hardware (ATMEGA8/168)
  5. 5. NetMF Hardware - Netduino• Pro – Atmel ARM7 • Go – STMicro Cortex- 48MHz 128KB Flash M4 168MHz 384KB 60KB RAM Flash 100KB RAM
  6. 6. NetMF Harware - GHI• FEZ Spider – EMX ARM7 72MHz • FEZ Cerberus/Cerbuino/Cerb40 – 3000KB Flash 12000KB RAM OSHW Cortex-M4 168MHz 300KB Flash 112KB RAM• Fez Hydra – OSHW ARM9 240MHz 3000KB Flash 12000KB • FEZ Panda II - USBizi-100 ARM7 RAM 72MHz 148KB Flash 62KB RAM
  7. 7. Arduino Compatible vs Gadgeteer• Compatible with • Sockets over Pins Arduino shields • Modules are pre-built• Pins over Sockets • Not all boards have all• Easy to prototype with socket types breadboards and • Usually have more breakout boards powerful processors• More flexible for electronics projects
  8. 8. What Are We Building• Let’s see…
  9. 9. Fez Panda II
  10. 10. Tamiya Dual Motor Gearbox
  11. 11. Tamiya Dual Motor Gearbox
  12. 12. Tamiya Track and Wheel Set
  13. 13. Tamiya Plate Set
  14. 14. Dual Motor Driver
  15. 15. Low Current Motors
  16. 16. Ultrasonic Range Finder
  17. 17. Accelerometer
  18. 18. What you Need• Mainboard • FEZ Panda II $50• Motors • SolarRobotics RM3 2x $4• Gearboxes • Tamiya Double Gearbox (70168) $15• Wheels • Tamiya Track and Wheel Set (70100) $15• Housing/Plates • Tamiya Universal Plate Set (70157) $10• Batteries • 4xAAA + 1x9V $10• Motor Driver • 1A Dual TB6612FNG H Bridge (ROB- 09457) $10• Distance Sensor • MaxBotix LV-EZ0 Ultrarosnic Range Finder (SEN-08502) $35• Accelerometer • Triple Axis Accelerometer ADXL345 (SEN- …) $30 Total: ~$150
  19. 19. Or You Could Just Buy a Kit…• FEZ Mini Robot Kit $120 • RP5 Tank Chasis + Driver $120
  20. 20. What you need to know• *Basic* electronics• How to use a soldering iron• How to cut a little code in C#
  21. 21. NetMF 101
  22. 22. Net MF 101 – What do I have?• Multithreading• GC• Flash access
  23. 23. NetMF 101 – What don’t I have?• Generics• A lot of RAM…
  24. 24. NetMF 101
  25. 25. NetMF 101 - IO• Digital IO• Interrupts• Analog IO• UART• SPI• I2C• PWM
  26. 26. NetMF 101 – Digital IO• Pin can either be set to HIGH (true) or LOW (false)• OutputPort.Write(bool)• bool InputPort.Read()• Demo - LED
  27. 27. NetMF 101 - Interrupts• Act when the signal changes from LOW to HIGH and vice-versa• NativeEventHandler InterruptPort.OnInterrupt• Demo - Bumper
  28. 28. NETMF 101 – Analog IO• Read a voltage – not just HIGH/LOW• Not part of core NetMF• byte AnalogIn.Read()• AnalogOut.Set(int value)• AnalogOut.Set(byte[] data, int offset, int count, int dataRate)• Demo – Ultrasonic Distance Finder
  29. 29. NETMF 101 – UART Serial Ports• Use 2 Pins to Communicate between 2 Devices – TXD – RXD• Wire to the opposite on each device – RXD => TXD – TXD => RXD• new SerialPort(“COM1”, …)• SerialPort.Read(byte*+, …)• SerialPort.Write(byte*+, …)• Demo - XBee
  30. 30. NetMF 101 – I2C• Use 2 Pins to communicate between master and multiple slave devices. – SCL – SDA• Provides a bus and ability to define configuration and communicate using transactions• Demo - Accelerometer
  31. 31. NetMF 101 - PWM• Pulse Width Modulation• Emulates a wave with given frequency and duty cycle• Motors should be given higher frequencies• PWM.Set(int freqHz, int dutyCycle)• Demo - Piezo
  32. 32. Building Tank Bot..• Build the gearbox• Attach the gearbox to the frame and wheels• Attach the main board to the frame• Attach battery holders to the frame• Solder pins to the prototyping board, distance sensor, motor driver and accelerometer• Solder wires to the motors• Attach the distance sensor to the frame• Wire the motor driver, distance sensor and accelerometer to the prototyping board• Write some code…
  33. 33. Test Bots• Distance Sensor• Accelerometer• Motor Driver
  34. 34. Discovery Botwhile (something within 30cm of front) avoidgo forward
  35. 35. Safe Discovery Botwhile (bot is tipping) avoidwhile (something within 30cm of front) avoidgo forward
  36. 36. Where to buy…EOFY2012
  37. 37. Where to learn more…• tinyclr.com• netmf.com• letsmakerobots.com• sparkfun.com• bildr.com• mbed.org
  38. 38. With thanks to our sponsors
  39. 39. Please complete your feedback forms, and return them to theregistration desk for a chance to win a Nokia Lumia
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×