Wearables Assignment 4: Make a project wireless

 

9F52B292-D7EC-40D7-869D-AA29EB795934

Assignment 4: Turn one of the previous wearable projects into a wireless one. 

For this project we were asked to think critically about what makes a product need to be part of IOT? Does it actually improve the functionality of the object if its online? Jingwen gave us an example of shopping for microwaves and the idea of do you really need Alexa to heat up your coffee? And encouraged us to think critically about whether our projects are improved by incorporating that layer of functionality.

For wearability and accuracy I decided for this project to switch out the Particle Sensor for a Airvisual API + Bluetooth LE setup. Similar to Alvin and his Raspberry pi exploration, I think I dove head first into more than I realized but definitely learned a lot through the process:

 

Original video of PM sensor + 3 LEDs tied to particulate matter thresholds

Screen Shot 2019-04-19 at 2.45.38 AM.pngadafruit_products_2487_demo_01A_ORIG

Circuit based on Adafruits’ Flora+Bluefruit BLE + Neopixel + Bluefruit App:

  • Adafruit Flora
  • Bluefruit LE
  • Programmable Neopixel
    • Each pixel draws as much as 60mA (all three RGB LEDs on for full brightness white)
  • 3.7 V Lipo battery
  • Conductive Thread

Construction:

E6119922-8910-43EB-A225-7076EBC23E29

8BC9970A-6FE0-4D3C-81DC-EDF04F09F9BAECA5B606-2EF8-43E4-B5DD-D38F841C7DF3A2902CC5-C6C7-45B6-A228-85F4C7DFDF039F52B292-D7EC-40D7-869D-AA29EB795934

** due to neopixel being programable can decrease LEDs in circuit from 3 to 1 or even use the onboard neopixel on the flora or CPlaygroundExpress

 

 

Hardware Side:

Understanding differences between Circuit Playground Classic, Circuit Playground Express, and Flora

flora_pinout

Screen Shot 2019-04-19 at 12.40.34 AM

 

 

 

Testing the Onboard & Sewable Neopixel:

After seeing that my initial bluetooth circuit wasn’t communication to the neopixels w/ the Bluefruit app, took Arnab’s advice to break it into small blocks for debugging starting with the neopixel components. Both tests worked without the Bluefruit Bluetooth module in the circuit, so now I know its either the BlueFruit module or the code example. When running Jingwen’s FSR example, I was able to connect a couple times through the app & was reflected in the serial monitor, however it wasn’t producing a range of values when i pressed the FSR?

**neopixel originally lit up on hat but was not changing color / had a short due to having added the neopixel into the circuit backwards and also initially using graphite to trace the component placement on muslin, forgetting it was a conductive material.

 

 

 

 

 

 

 

Trouble Shooting / Issues encountered:

 

  • FSR example
    • kept getting either “3”s continually (w/out a resistor in circuit)
    • and then “255’s” continually (w/resistor added to circuit)

50803_-_img_6116.jpg

 

 

 

 

  • DFU / Factory Reset issues w/ adafruits controller example
    • Issues with continually receiving “couldn’t factory reset” when trying to use Adafruits Controller example code

Screen Shot 2019-04-19 at 5.46.25 AM

 

 

 

 

  • Renaming Bluefruit LE Module  – Trying to work alongside someone w/ another BlueFruit it became clear quickly it would help us to rename our modules due to accidentally connecting to one anothers
  • LE connect continual crashing on laptop
    • Using Adafruit Bluefruit LE connect on laptop
    • Jiwon mentioned that since Madison and I were having trouble id-ing our specific module to try the desktop version. However had issues with it continually crashing

Screen Shot 2019-04-19 at 3.03.14 AM

Screen Shot 2019-04-17 at 8.05.43 PM

 

 

Screen Shot 2019-04-19 at 5.17.11 AM

  • Commenting out “while” serial connect statement 

 

  • broken maker 1010 from shop 
    •  realized when home it was labeled broken on box
    • checked a new one out friday

 

 

Questions to look into: 

  • Checking Cmd/data switch vs mode pad
  • Baud Rate
  • why in the fsr example I keep getting a steady stream of the same numbers
    • 3s w/out resistor & 255 w/ resistor
    • it seems like it is receiving some kind of data but not
  • Why neopixel lights up with flora test but not with the Bluefruit BLE connect app?
  • Which parts of code need to be edited – commented in or out on examples

Screen Shot 2019-04-19 at 5.58.19 AM

 

 

 

 

API parsing w/ ArduinoJson:

Last weekend Mary and I talked through thinking about how to call a live API JSON file with Arduino using arduinojson. I also printed out her project’s code Storm’s A Comin’ 2.0 to see if I could follow the logic / better understand what would need to be adjusted from her experience for the AQ Hat + Air Visual API. I think also classmate Jillian Zong’s Umbrella Notification Light code might help me better understand as well?

Screen Shot 2019-04-19 at 3.18.08 AM.png

IMG_6240.JPGSifting Through a Storm A Comin’s Code using arduinoJson

 

 

 

Screen Shot 2019-04-19 at 3.15.52 AM

 

AirVisual // Free API key for community usage up to a certain call amount

  • Provides updated AQI on an hourly call & it gps coordinates based on city
    • similar to

 

 

Materials:

  • SMPLFD Detroit hat 
  • Flora Adafruit V2 board (has an onboard neopixel)
  • Flora Bluefruit Bluetooth BLE module
  • Flora programmable sewable RGB LED pixel
  • 3.7v Lipo battery
  • Conductive thread
  • Black Thread
  • Sewing needle with large enough eye for conductive thread
  • Clear Nail Polish
  • Prototyping Muslin
  • Sewing Hoop

 

 

Lessons Learned: 

  • Comment out the While Serial code when no longer connected vis usb (meant for serial trouble shooting only)
  • Don’t use graphite to trace placement due to conductivity / always use tailor chalk or pen
  • Always check the data in & out arrows of flora neopixels
  • Double check that your circuit works with alligator clips first
  •  As you build, check one item at a time as you add it into the circuit so that similar to debugging you can know where you’re having issues due to isolation – See A Brief Introduction to Debugging
  • That always check if the example you’re looking at is for Circuit Playground express vs Circuit Playground Classic
  • Shorter alligator clips for quick prototyping

 

 

To Consider Next: 

  • Office hours with:
    • Jingwen to troubleshoot BLE circuit
    • Jasmine to review APIs
  • Back it up and try examples w/ maker 1010 first before trying bluefruit
  • Over the summer – looking at CircuitPython environment + the Flora

 

Reference Links:

 

 

Thank you! 

  • Madison for trying to trouble shoot the bluefruit BLE module alongside
  • Mary for brainstorming live vs static API parsing with Arduino // & how A Storm’s a comin works on the code end
  • Arnab for sifting through / trying to help me and Madison troubleshoot our circuits
  • Jingwen for patience & guidance

 

 

 

 

3944-06Screen Shot 2019-04-19 at 4.34.02 PM.png

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s