This shows you the differences between two versions of the page.
|
digispark:tutorials:ble [2014/11/19 16:21] digistump |
digispark:tutorials:ble [2016/06/09 12:03] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======Pro BLE/BT 4.0 Shield Kit Tutorial====== | ||
| - | =====Product Description:===== | ||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble1.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble1.jpg}}]] | ||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble4.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble4.jpg}}]] | ||
| - | |||
| - | |||
| - | This is an unassembled kit and requires basic soldering. This is designed for use with the Digispark development board, which is not included. | ||
| - | |||
| - | =====Parts:===== | ||
| - | |||
| - | ^ Part ^ Quantity ^Identification^ | ||
| - | | Bluetooth/BLE Combo Shield PCB|1| | | ||
| - | | 6 pin 0.1" Right Angle Female Socket |1|| | ||
| - | | HM-10 BLE Breakout Module |1| | ||
| - | | 1x40pin male 0.1" pitch header| 21 pins worth| | | ||
| - | |||
| - | |||
| - | **Resistor Values:** For more information on how to identify the value of the resistors we recommend these sites: | ||
| - | A nice simple resistor calculator: http://www.ealnet.com/m-eal/resistor/resistor.htm | ||
| - | A comprehensive article on identification: http://www.diyaudioandvideo.com/Electronics/Color/ | ||
| - | |||
| - | **Soldering:** If you are new to soldering we recommend the following tutorials: | ||
| - | Soldering Basics (http://www.sparkfun.com/tutorials/106) and Soldering Crash Course from the folks at Sparkfun (http://www.sparkfun.com/tutorials/354). | ||
| - | How to solder from the Curious Inventor: http://store.curiousinventor.com/guides/How_to_Solder | ||
| - | |||
| - | Adafruit has this excellent guide that starts with the tools needed and then shows detailed pictures, including some of the common problems that beginners experience (http://learn.adafruit.com/adafruit-guide-excellent-soldering) | ||
| - | |||
| - | **We assume for these assembly instructions that you know the basics of thru-hole soldering. If you don't check out the links above, these boards are very easy to solder - we promise!** | ||
| - | |||
| - | |||
| - | =====Assembly:===== | ||
| - | |||
| - | Empty kit bag (or if using a raw PCB, acquire parts) and verify contents. | ||
| - | |||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble1.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble1.jpg}}]] | ||
| - | |||
| - | Insert 6 pin right angle socket into top of PCB - insert it into the set of 6 holes that say "BLE BT4" below them - this is the second set from the right edge of the board. Solder socket pins on the bottom of the board | ||
| - | |||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble2.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble2.jpg}}]] | ||
| - | |||
| - | Cut two lengths of male headers each 9 pins long and one 3 pins long. Insert into corresponding positions (on the bottom of the board) and solder each pin on the top. | ||
| - | |||
| - | **Tip:** Inserting the headers into a breadboard and then placing the board on top can make this process easier. | ||
| - | |||
| - | **Note:** If you are using stackable headers, use them here instead of the standard male headers. | ||
| - | |||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble3.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble3.jpg}}]] | ||
| - | |||
| - | Insert the HM-10 BLE breakout module into the 6 pin socket as shown. | ||
| - | |||
| - | |||
| - | [[https://s3.amazonaws.com/digispark/images/m/ble4.jpg|{{https://s3.amazonaws.com/digispark/images/t/ble4.jpg}}]] | ||
| - | |||
| - | =====Programming:===== | ||
| - | |||
| - | |||
| - | **Example changing DigiLED over BLE** | ||
| - | |||
| - | **//Example has a bug. parseInt(); not included in Digispark loader.//** | ||
| - | |||
| - | <code> | ||
| - | /* | ||
| - | Requires NeoPixel Library - see DigiLED tutorial | ||
| - | https://github.com/adafruit/Adafruit_NeoPixel | ||
| - | |||
| - | Android code to use with this: https://github.com/danasf/hm10-android-arduino | ||
| - | iOS coming soon | ||
| - | |||
| - | */ | ||
| - | |||
| - | |||
| - | |||
| - | #include <Adafruit_NeoPixel.h> | ||
| - | |||
| - | int red,green,blue; | ||
| - | Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, 1, NEO_RGB + NEO_KHZ800); | ||
| - | |||
| - | void setup() { | ||
| - | strip.begin(); | ||
| - | strip.show(); // Initialize all pixels to 'off' | ||
| - | |||
| - | // initialize serial: | ||
| - | Serial.begin(9600);//open connection to serial module | ||
| - | |||
| - | } | ||
| - | |||
| - | void loop() { | ||
| - | // if there's any serial available, read it: | ||
| - | while (Serial.available() > 0) { | ||
| - | |||
| - | // look for the next valid integer in the incoming serial stream: | ||
| - | int red = Serial.parseInt(); | ||
| - | // do it again: | ||
| - | int green = Serial.parseInt(); | ||
| - | // do it again: | ||
| - | int blue = Serial.parseInt(); | ||
| - | |||
| - | // look for the newline. That's the end of your | ||
| - | // sentence: | ||
| - | // if (mySerial.read() == '\n') { | ||
| - | if (Serial.read() == '\n') { | ||
| - | // sends confirmation | ||
| - | Serial.println("received"); | ||
| - | // constrain the values to 0 - 255 | ||
| - | red = constrain(red, 0, 255); | ||
| - | green = constrain(green, 0, 255); | ||
| - | blue = constrain(blue, 0, 255); | ||
| - | // fill strip | ||
| - | colorSet(strip.Color(red, green, blue), 0); | ||
| - | | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | |||
| - | // Fill strip with a color | ||
| - | void colorSet(uint32_t c, uint8_t wait) { | ||
| - | for(uint16_t i=0; i<strip.numPixels(); i++) { | ||
| - | strip.setPixelColor(i, c); | ||
| - | } | ||
| - | strip.show(); | ||
| - | delay(wait); | ||
| - | } | ||
| - | </code> | ||