SpecialBoards

From Interaction Station Wiki
Revision as of 08:49, 2 February 2020 by Beam (talk | contribs) (→‎BLE included)
Jump to navigation Jump to search

Normal boards

I have worked a lot with AVR boards, Arduino, or setups with ATmega328, also ATtiny85. Sometimes with RF12, for wireless transmission. With sensor boards attached. Sometimes this board plus sensors is too fragile or to big, or just clumsy. There are now boards with sensors built in. This saves space and makes the board more portable. For education there is the BBC Microbit board, having all kinds of expressions and input without any wires. Of course these boards are not better or so than the Arduino. These boards give other possibilites.

Example of a swatch, different sensors attached to a Arduino Pro Mini (looks quite nerdy!)

Four sensor body.png

A wave of specialized micro controller boards

For a project with interactive kites: https://airlaboart.wordpress.com, I bought and investigated a lot of boards with special characteristics.

All the different categories below require quite a bit of time to get used to and to get it working.

Sometimes you have to write in another programing language, like Micropython

Sometimes you have to install a new tool chain, using the terminal window.

A few links showing this tool chain pain:

https://airlaboart.wordpress.com/2019/07/04/further-intelligence/

https://airlaboart.wordpress.com/2019/07/07/and-the-third-toolchain-maix-dock/

After this project I investigated also the

BBC Microbit (22,95) https://www.floris.cc/shop/en/home/1848-microbit-go-bundel-microbit.html

Adafruit circuit playground express (29,95) https://www.adafruit.com/product/3333

OtherBoards.png

Still some wires visible: mostly to the Lipo battery and providing a switch.

There is so much you can do with the boards, this post is only skimming the surface...

SD cards included

For fast real time data collection. The data are stored on the SD card and can later be retrieved and analyzed, for instance using Processing.

Boards with SD-card:

  • Sparkfun Razor

IMU sensors incorporated – https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide/all#libraries-and-example-firmware

If the SD card is not on the board you can use this device:

OpenLog: https://learn.sparkfun.com/tutorials/openlog-hookup-guide?_ga=2.10013043.776216311.1558331043-1571920724.1558331043#firmware

Acceleration included

A lot of boards have acceleration sensors included.

These sensors are referred to as IMU

These sensors come into a few variaties.

  • 3 axes, acceleration x,y,z
  • 6 axes, acceleration x,y,z, gyro x,y,z
  • 9 axes, acceleration x,y,z, gyro x,y,z, compass x,y,z

Only...no position!

You could think that integrating the acceleration would make it possible to keep track of the sensor and calculate the position after a certain time. The formulas from physics suggest this: just integrating over time. The problem is that the errors are building up.

Gimbal lock - Quaternions

Even more problems: you really need the coordinates to be in so called quaternions and not Euler angles to get a nice graph.

About Quaternions: https://www.3dgep.com/understanding-quaternions/ (This is more theoretical about the math)

Practical, about the sensor data of acceleration, gyro and compass contributing to the quaternions: http://www.camelsoftware.com/2016/02/20/imu-maths/

The Sparkfun Razor software has this quaternions possibility built in.

Camera included

The bigger boards now have cameras included:

The OpenMV system has an IDE and in this IDE, there is face recognition (sort of).

AI included

Speech recognition:

Gesture recognition:

The camera boards have some face recognition possibilities, that is they recognize a face - not a person...

Slow and Fast Sensors

Some data have to be tracked fast, like acceleration, gyro, compass, others can be sampled at a lower rate, like temperature, pollution, air pressure.

This means that different sets of sensors can be grouped together.

BLE included

  • BBC Microbit has BLE

the microbits can communicate amongst themselves quite easily.

  • Adafruit circuit Express now also has BLE.
  • Intel Curie

If you want to get the BLE data on your smart phone you have to dive into the Nordic code. I used the so called Pfod parser method, it worked (after a while): https://airlaboart.wordpress.com/2019/08/06/ble-interactions-tiny-tile-pfod-2/

Pfod: https://www.forward.com.au/pfod/index.html

BLE Pfod.png

Direction of sound!

The MAIX Dock has a nice extension (besides the camera and the LCD screen).

The mic-array has 6 neopixels and six microphones. It can indicate the direction the sound is coming from.

This direction is shown on the ring, but also quite nicely displayed on the screen.

MaixMIC.png

Only 12 lines of code in micropython.

Summery of the boards

manual: https://www.pjrc.com/teensy/K66P144M180SF5RMV2.pdf

SD card: https://forum.pjrc.com/threads/55114-SD-Datalogging-Best-Practice-in-2019

IMU library: NXPMotionSense

Manual: https://www.intel.com/content/dam/support/us/en/documents/boardsandkits/curie/intel-curie-module-datasheet.pdf

Review: https://www.element14.com/community/roadTestReviews/2425/l/element14-tinytile-intel-curie-based-board-review

IMU

SD card

AI

IMU

Camera

AI, sound