SensorTests

Overview

The goal of this project is to learn more about using the sensor technology that I will use in my SCDS project. The aim of this project is to learn to use the Arduino software with Seeeduino technology, connect the sensors that I have purchased, and run some basic tests to make sure that they work and that I know how they work.

Components Purchased

  • (Seeed Order: These are in green bags in my bin!)
    • Seeeduino
    • Base shield 2.0
    • 3-axis analog accelerometer
    • 3-axis digital accelerometer
    • Ear clip heart rate sensor
  • Temperature module

Progress

  • First had to figure out how to use the Arduino software with the Seeeduino that I bought to use with the Grove sensor shield and the sensors itself.
    • Followed the instructions on the page on the Seeeduino wiki
    • Downloaded the driver for use with Mac OS 10.9+ (2.3) from FTDI chip
    • Notes: port will only show up in tools if the board is plugged in, and you need to pick the Duemilanove as the board
  • May 17: Hello World test
    • Following the Hello World test steps, except that I chose the “Duemilanove or Diecimila” as my board and “/dev/cu.usbserial-A901N445” as my port (options suggested in the wiki don’t exist)
    • Test successful – I envisioned having to breadboard a circuit for this test, but apparently there’s a built in LED that you can do the Hello World test with? Either way, I know the Seeeduino is working now
    • since the Hello World was successful and my Seeeduino is successfully greeting the day, I went back to the Seeed store where I got my sensors to see if there are any tutorials to getting those up and running – I decided to start with the accelerometers, since I’ll hopefully be using those for the Maker Faire project, and I have two different ones (digital and analog) so I have to decide what my preference is, and possibly order extras at some point as well. I decided to start with the digital one, since the hardware looks way more familiar to me
    • Navigated to the page for the shield that I bought for use with sensors (here), and found a bunch of useful documentation
    • started with the Getting Started, but scanning it, I’m pretty sure that after the Arduino RTC clock and the Hello World test, I’m fine without looking too hard at that for now
    • for next time: start with the Intro to Grove doc
  • May 18: Learning about the Base Shield
    • started by reading the Intro to Grove doc, and I’m also putting a note to myself here that sen, wearing Strich Labs hat makes Arduino shields, in case that’s useful knowledge for the future
      • Grove system = shield, and modules with standardized connectors, each with documentation and demo code
      • As out of the box as possible: plug in, upload demo code, check results via serial monitor. Wikis for reference.
      • Grove shields have 16 sockets with different protocols: 8 digital ports, 4 analog, and 4 I2C (p. 4 for diagram).
      • Digital ports (equivalent to pins 0-9 on Arduino Uno) are identified in red. Only return 1s or 0s.
      • Analog inputs (left hand side) are more detailed and precise.
      • I2C ports (p. 5 for diagram), below digital ports. Used for when data is too heavy for either digital or analog. I2C can support one master device, plus slaves, and in Grove the master is the Arduino.
      • Memo: am having feelings, because while I like the plug-and-play ease of the Grove system, it feels like I may learn a lot less than I would from a less out-of-the-box system, so my ability to use these products may not actually translate into more knowledge or more ability to use other systems. This sort of makes me feel something about commodification of maker knowledge, maybe?
    • moved on to the Wiki for the Base Shield
      • first thing, had to google UART port, which wasn’t explained in the intro doc. The wiki page was way too complicated for my needs, but I found this little blog post that explained it a little better.
      • all Grove products have Grove connectors and can be plugged into the Base Shield
        • Memo: is this the same for all product lines? are they interchangeable? how does this play into the commodification game?
  • This was supposed to be me testing different sensors, but this section is actually about troubleshooting Arduino software
  • May 18: 3-Axis Digital Accelerometer
    • updated Arduino software, repeated Hello World test w Seeeduino
      • didn’t work, of course, threw the following error: “avrdude: no programmer has been specified on the command line or the config file. Specify a programmer using the -c option and try again.” Googled, and got nothing particularly useful. Pinged the #canerd channel on irc, and someone suggested that the latest version of the Arduino software (1.6.8) has a bug that causes that error. Having only had problems with this version so far (read: RTC project), I decided to go download an earlier version of the software. Opted for 1.6.5 (found here because a colleague suggested it had good reports.
      • 1.6.5 throws same error
      • decided to go back and double check drivers, had downloaded 2.3 from FTDI, but went back and found 2.2.18 (32 bit), which is named on the wiki (found here
      • Memo: It’s possible that I just straight up downloaded the wrong driver last time, because I didn’t spend enough time with the hard-to-navitage website. This is making me realize, though, that I could have used this shield with any Arduino, and I’m pretty sure that I didn’t need a Seeeduino to go with. I think I purchased the Seeeduino with the shield on Daria’s advice? In the future, maybe read the documentation before purchasing in order to make sure I have exactly the right components and nothing unnecessary? This may have been easier had I just used an Arduino, and it would have saved me some money, not that an extra Arduino really goes to waste (cup of sugar and all). So, I should learn about what drivers are, and spend more time when ordering parts, in the future.
      • drivers downloaded, Arduino 1.6.5 software: open software, plug in Seeeduino, check board and port…
        • looks like the port that I should have the option of selecting (according to the wiki) is A901N49V. I only have A901N445. So I selected that. Blink example code verifies fine, still throws the same error when trying to upload. Giving up for today.
    • for kicks, decided to try the Hello World with an Uno from my bin, rather than the Seeeduino. Threw the same error.
    • next time: try with someone at the lab to see if I can get the Hello World to run again
  • May 28
    • double checked that the blink sketch compiled fine on Software for both Seeeduino and Uno, and it did, but still threw the same error as last time, on both boards
    • checked to make sure that I hadn’t set the wrong programmer, but threw the same error with every programmer option
    • Googled “specify a programmer arduino software”, which returned this page from Arduino, which led me to reset my bootloader (using the Seeeduino). I attempted to get that and my software threw many errors, and pointed me to http://www.arduino.cc/en/Guide/Troubleshooting#upload for troubleshooting (that url didn’t work, and I ended up here
      • the troubleshooting page suggested that my I wouldn’t have a flashing power light if there was no bootloader, and the power light is flashing
      • gave it a try burning a bootloader onto the Uno, and it gave different errors – this time “avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.” Power light still blinking fine on the Uno.
    • colleague suggested checking preferences. Turned on verbose output during upload, and then checked the preferences.txt file to be sure that upload.using=bootloader existed, which it did
      • tried “uploading using programmer” from the Sketch menu, threw same error as before (re: programmer)
    • Memo: at this point, I feel it’s probably worth noting that the next step on the Arduino troubleshooting page is to ask for help on the forums. The instructions assume that you either have had success uploading to a board before and now are having a problem, or that you have not had success uploading to this board. It doesn’t seem to imply that it’s a thing that you may have never had success uploading to any board using the software, even after trying multiple boards.
    • and then sen did magic and it worked
    • …with the Uno. and then I tried it with the Seeeduino and it didn’t. so I went back to the Uno. and it still worked.
  • Sensor tests!
  • May 28 (yup, that’s right): 3-Axis Digital Accelerometer (+/- 16g)
    • went back to the Base Shield wiki, don’t have the LED or button pieces that are described, so guessing that I can probably pop the shield in the Uno and go ahead to the wikis for the components I actually have, including the accelerometer
    • unplugged the Uno, popped shield on, and then followed the Demonstration instructions on the accelerometer wiki
    • test successful!
  • May 28, Ear Clip Heart Rate Sensor
    • following the Usage directions on the wiki, except that I don’t have the Grove-LED
    • test successful!
  • Extra! This one was just for fun… May 28, GSR Sensor
    • Memo: My biggest question after these tests, at this point, is whether or not there is a way to figure out why I’m using the ports that I’m using on this shield. Handy that the wiki tells you which to use, but not sure why I’m using the ones they specify. That would help me understand how the shield works more?
    • GSR also worked, no problem (without buzzer, I don’t have one of those)
  • May 28 3-Axis Analog Accelerometer
    • This one is slightly trickier, had to also go back to the Base Shield wiki to find out what the pins actually mean
    • soldered! jumper cables to sensor module – remembered that solder can’t connect things together that are separate cables on the back of the module.
    • got as far as calibrating, and had errors in the calibration. looks like the digital accelerometer is probably going to be the easier one to use at this point. putting the analog one back into spare parts bag, and updating bin inventory to reflect that.
    • in the interest of efficiency, I’m also surrendering the Seeeduino to the spare parts bin
  • Memo: sensor tests are now complete. the following are the next action steps for my SCDS/Maker Festival project.
    • 1, design the rig for the dogs with sensors and GoPros
    • 2, order parts for said rig
    • 3, test again!
    • 4, Email colleague at SCDS to talk about what to do with this data – how to record it, how to graph it, how to analyze it