RGB Conductive Mosaic
For my Computational Craft midterm, I wanted to take a swatch that I made earlier in the semester and expand upon it. I am a musician (trumpet player/composer) and I have always been fascinated by/passionate about making mosaics.
The materiality of the CDs is important to me because I feel like they are just a business card for musicians now. Most people buy music on iTunes or listen to it on Spotify or Pandora making the landscape for a performing artist's revenue and distribution radically different than it was even 10 years ago.
Materials
2 Neopixel RGB LEDs (or other addressable LEDs
Lilytiny with USB port
Black (or any other color), non-conductive fabric
Copper
Conductive thread
Clear nail polish
CDs (or other non-conductive material to make your mosaic out of)
Hot glue gun (and hot glue refills)
Libraries:
adafruit neopixel library
Digispark Library (https://digistump.com/wiki/digispark)
Build Your Simple Circuit (make Sure to Test With Alligator Clips Before You Sew!)
LilyTiny Vin-LED power
Ground-LED Ground
LilyTiny Pin 3- LED Data In
I highly recommend reading through the Adafruit Sewable Neopixels guide before you attempt to sew your circuit.
Add the Copper switch to act as a soft-button on the power line
Time to Make Your Mosaic!!!
Use materials that you think are beautiful to construct your mosaic!
I used CDs because I think that they are very beautiful when they are cut and reflect the light in a very interesting way.
Make sure not to disrupt your circuit or place conductive material near your circuit.
Code Time
Upload this code onto your Lilypad Tiny and watch it light up!
#include
#define PIN 3 #define gnd 0
// Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(2, PIN, NEO_GRB + NEO_KHZ800);
// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across // pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input // and minimize distance between Arduino and first pixel. Avoid connecting // on a live circuit...if you must, connect GND first.
void setup() {
pinMode(gnd, OUTPUT); digitalWrite (gnd, LOW); // use this pin as a ground strip.begin(); strip.show(); // Initialize all pixels to 'off' }
void loop() {
colorWipe(strip.Color(255, 255, 255), 20); // Red colorWipe(strip.Color(255, 0, 0), 20); // Green colorWipe(strip.Color(0, 0, 255), 1); // Blue // Send a theater pixel chase in...
}
// Fill the dots one after the other with a colorĂ¥ void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i