Namespaces

Variants
Actions

BayleAdvancedProject-p2

From Cycling '74 Wiki
(Difference between revisions)
Jump to: navigation, search
Line 14: Line 14:
 
Indeed, it is intended for wireless applications, from its wireless Xbee-module compliant headers to its feature about external power supply, I found my solution. You can find more explanations different boards available in Arduino’s big family in my book.
 
Indeed, it is intended for wireless applications, from its wireless Xbee-module compliant headers to its feature about external power supply, I found my solution. You can find more explanations different boards available in Arduino’s big family in my book.
  
Here is a view of this board.
+
Here is a view of this board:
  
'''<image here>
+
[[File:jb-arduino-ArduinoFio.jpg]]
Arduino Fio’s front'''
+
 
 +
'''Arduino Fio’s front'''
  
 
It even provides an on/off switch and is able to charge an external power supply via USB which is a nice feature for our digital art installation. Indeed, people on the place can put devices in charge each day, for instance.
 
It even provides an on/off switch and is able to charge an external power supply via USB which is a nice feature for our digital art installation. Indeed, people on the place can put devices in charge each day, for instance.
Line 23: Line 24:
 
On this second picture, we can see at the top 2 headers fitting perfectly the wireless modules I’ll describe further.
 
On this second picture, we can see at the top 2 headers fitting perfectly the wireless modules I’ll describe further.
  
'''<image here>
+
[[File:jb-arduino-ArduinoFioBack.jpg]]
Arduino Fio’s back'''
+
 
 +
'''Arduino Fio’s back'''
  
 
Sending data wirelessly without consuming too much current concept brought to my mind the pure IEEE 802.15.4 standard, I mean: [http://en.wikipedia.org/wiki/ZigBee ZigBee] specification. It is a suite of specifications designed for high-level communication protocols for personal area networks (PAN). By using this specification, it is quite easy to build low-powered devices able to send/receive data in a quite local range until even 30 or 40 meters.
 
Sending data wirelessly without consuming too much current concept brought to my mind the pure IEEE 802.15.4 standard, I mean: [http://en.wikipedia.org/wiki/ZigBee ZigBee] specification. It is a suite of specifications designed for high-level communication protocols for personal area networks (PAN). By using this specification, it is quite easy to build low-powered devices able to send/receive data in a quite local range until even 30 or 40 meters.
Line 31: Line 33:
  
 
The idea was to use an XBee without external antenna for the device and one with the antenna on the computer side.
 
The idea was to use an XBee without external antenna for the device and one with the antenna on the computer side.
 
  
 
Here are both modules in picture:
 
Here are both modules in picture:
  
'''<image here>
 
XBee 1mW Series 1 with and without external antenna'''
 
  
This particular wireless module is able to send/receive data until 100 meters. It is very enough for our project because the data flows from the device to the computer where the digital piece runs and we have to keep the computer near from the screen because of video projection requirements. It is able to send data at a 250kbps maximum data rate. Again, this is very enough.
+
[[File:jb-arduino-XbeeModules.jpg]]
  
 +
'''XBee 1mW Series 1 with and without external antenna'''
 +
 +
 +
This particular wireless module is able to send/receive data until 100 meters. It is very enough for our project because the data flows from the device to the computer where the digital piece runs and we have to keep the computer near from the screen because of video projection requirements. It is able to send data at a 250kbps maximum data rate. Again, this is very enough.
  
 
We can see on the first Arduino Fio picture the white connector on the top. It fits perfectly usual Polymer Lithium-Or Batteries. Here is the battery I chose:
 
We can see on the first Arduino Fio picture the white connector on the top. It fits perfectly usual Polymer Lithium-Or Batteries. Here is the battery I chose:
  
'''<image here>
+
 
Polymer Lithium-Or Battery'''
+
[[File:jb-arduino-Battery.jpg]]
 +
 
 +
'''Polymer Lithium-Or Battery'''
  
 
As I wrote before, the battery charge can be handled via the Arduino Fio connected to a computer, for instance. Easy design.
 
As I wrote before, the battery charge can be handled via the Arduino Fio connected to a computer, for instance. Easy design.
Line 50: Line 55:
 
At last, on the device side I needed an accelerometer able to convert movements data into message for Arduino Fio itself. I took the ADXL345 which I already used for some projects and here is its face :
 
At last, on the device side I needed an accelerometer able to convert movements data into message for Arduino Fio itself. I took the ADXL345 which I already used for some projects and here is its face :
  
'''<image here>
+
[[File:jb-arduino-Accelerometer.jpg]]
ADXL345 accelerometer'''
+
  
It is quite easy to wire it to any micro-controller. We can see the small axis references at the bottom: X, Y and Z (Z is in our direction from the device).
+
'''ADXL345 accelerometer'''
  
On the computer side, I didn’t want to use an Arduino Fio. Indeed, I’m more inside minimal design ways so why to use a full Arduino board if I only have to receive data and pass them to the program running ?
 
  
This is why I chose to buy the XBee Explorer small board.
+
It is quite easy to wire it to any micro-controller. We can see the small axis references at the bottom: X, Y and Z (Z is in our direction from the device).
  
This small board is an interface between serial pins of the XBee boards and the USB of our computer. It can be used both to program XBee boards but also to send/receive data from our computer using the XBee wireless feature.
+
On the computer side, I didn’t want to use an Arduino Fio. Indeed, I’m more inside minimal design ways so why to use a full Arduino board if I only have to receive data and pass them to the program running ? This is why I chose to buy the XBee Explorer small board. This small board is an interface between serial pins of the XBee boards and the USB of our computer. It can be used both to program XBee boards but also to send/receive data from our computer using the XBee wireless feature.
  
 
Here is this board
 
Here is this board
  
'''<image here>
+
[[File:jb-arduino-XBeeExplorer.jpg]]
Xbee Explorer'''
+
 
 +
'''Xbee Explorer'''
 +
 
  
 
Here is now the big schematic showing both parts:
 
Here is now the big schematic showing both parts:
  
- device part on the left,
+
* device part on the left,
 +
* computer part on the right.
  
- computer part on the right.
+
[[File:jb-arduino-globalSchema.PNG]]
  
'''<image here>'''
 
  
The Arduino Fio requires another component for programming it: an FTDI Basic module can do that for cheap.
+
The Arduino Fio requires another component for programming it: an FTDI Basic module can do that for cheap. Here is this module:
  
Here is this module
 
  
'''<image here>'''
+
[[File:jb-arduino-FTDI.jpg]]
 +
 
  
 
Here are the whole list of component I needed to design the hardware part of the project
 
Here are the whole list of component I needed to design the hardware part of the project
  
 
Now, let’s check how I made this small architecture around wireless modules and how I used Max6 especially for all test & prototyping.
 
Now, let’s check how I made this small architecture around wireless modules and how I used Max6 especially for all test & prototyping.
 +
 +
[[BayleAdvancedProject-p1|Previous: Introduction]] [[BayleAdvancedProject-p3|Next: Making and Debugging]]
  
 
[[Category:Bayle Advanced Project]]
 
[[Category:Bayle Advanced Project]]

Revision as of 02:05, 11 June 2013

Designing the Hardware

Requirements weren’t really constraining.

At first, there were two sides to consider:

  • computer side
  • user/device side

Indeed, the computer has to be able to receive data from a wireless device. Let’s check the device at first, the computer side will come to our mind more naturally.

At first, I thought about the Arduino Fio.

Indeed, it is intended for wireless applications, from its wireless Xbee-module compliant headers to its feature about external power supply, I found my solution. You can find more explanations different boards available in Arduino’s big family in my book.

Here is a view of this board:

jb-arduino-ArduinoFio.jpg

Arduino Fio’s front

It even provides an on/off switch and is able to charge an external power supply via USB which is a nice feature for our digital art installation. Indeed, people on the place can put devices in charge each day, for instance.

On this second picture, we can see at the top 2 headers fitting perfectly the wireless modules I’ll describe further.

jb-arduino-ArduinoFioBack.jpg

Arduino Fio’s back

Sending data wirelessly without consuming too much current concept brought to my mind the pure IEEE 802.15.4 standard, I mean: ZigBee specification. It is a suite of specifications designed for high-level communication protocols for personal area networks (PAN). By using this specification, it is quite easy to build low-powered devices able to send/receive data in a quite local range until even 30 or 40 meters.

I chose the module XBee 1mW Trace Antenna Series 1.

The idea was to use an XBee without external antenna for the device and one with the antenna on the computer side.

Here are both modules in picture:


jb-arduino-XbeeModules.jpg

XBee 1mW Series 1 with and without external antenna


This particular wireless module is able to send/receive data until 100 meters. It is very enough for our project because the data flows from the device to the computer where the digital piece runs and we have to keep the computer near from the screen because of video projection requirements. It is able to send data at a 250kbps maximum data rate. Again, this is very enough.

We can see on the first Arduino Fio picture the white connector on the top. It fits perfectly usual Polymer Lithium-Or Batteries. Here is the battery I chose:


jb-arduino-Battery.jpg

Polymer Lithium-Or Battery

As I wrote before, the battery charge can be handled via the Arduino Fio connected to a computer, for instance. Easy design.

At last, on the device side I needed an accelerometer able to convert movements data into message for Arduino Fio itself. I took the ADXL345 which I already used for some projects and here is its face :

jb-arduino-Accelerometer.jpg

ADXL345 accelerometer


It is quite easy to wire it to any micro-controller. We can see the small axis references at the bottom: X, Y and Z (Z is in our direction from the device).

On the computer side, I didn’t want to use an Arduino Fio. Indeed, I’m more inside minimal design ways so why to use a full Arduino board if I only have to receive data and pass them to the program running ? This is why I chose to buy the XBee Explorer small board. This small board is an interface between serial pins of the XBee boards and the USB of our computer. It can be used both to program XBee boards but also to send/receive data from our computer using the XBee wireless feature.

Here is this board

jb-arduino-XBeeExplorer.jpg

Xbee Explorer


Here is now the big schematic showing both parts:

  • device part on the left,
  • computer part on the right.

jb-arduino-globalSchema.PNG


The Arduino Fio requires another component for programming it: an FTDI Basic module can do that for cheap. Here is this module:


jb-arduino-FTDI.jpg


Here are the whole list of component I needed to design the hardware part of the project

Now, let’s check how I made this small architecture around wireless modules and how I used Max6 especially for all test & prototyping.

Previous: Introduction Next: Making and Debugging