8. Wearables¶
research¶
Different actuators I will be experimenting with this week.
get inspired!
Check out and research alumni pages to better understand how to document and get inspired
- Emma Shannon
- Elena Rotaru
- Diane Wakim Le TextileLab Lyon 2020-21_
- Vicky Luan
- Loes Bogers TextileLab Amsterdam 2019-20_
- Sara Alvarez TextileLab Amsterdam 2020-21_
- Kate Reed
Add your fav alumni's pages as references
references & inspiration¶
Tony Oursler Electronig Effigies, video mapping
Maggie Roth "100 Electronic Art Years, 2009"
Pillowig by Joon Youn Paek (left); Tony Oursler (right)
tools¶
- Arduino UNO
- Arduino IDE
- ATtiny
- DFPlayer [sound]
- Speaker [sound]
- Servo Motor [motion]
- Vibration Motor [motion]
- Solar Pannel [input sensor]
- Neopixels [visual]
- Oled Screen [visual]
- LEDs [visual]
- Fabric for swatches
- Conductive thread
- Conductive fabric
SOUND actuators¶
DFPlayer¶
* Arduino UNO
* Arduino IDE
* 3 watts Speaker
* DFPlayer Mini
* SD card
* 1K resistor
* Jumper Wires
* Breadboard
#include "SoftwareSerial.h" //connecting to another pre-made program or a new library of commands
#include "DFRobotDFPlayerMini.h"
static const uint8_t PIN_MP3_TX = 2; //connects to module's RX
static const uint8_t PIN_MP3_RX = 3; //connects to module's TX
SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX);
//Create the Player object
DFRobotDFPlayerMini player;
void setup() {
// Init USB serial port for debugging
Serial.begin(9600);
//Init serial port for DFPlayer Mini
softwareSerial.begin(9600);
//Start communication with DFPlayer Mini
if (player.begin(softwareSerial)) {
Serial.println("OK");
//set volume to maximum (0-30)
player.volume(30);
//play the first mp3 file on the SD card.
player.play(1); //Music File name must be in numbers like 1,2,3
} else {
Serial.println("Connecting to DFPlayer Mini failed");
}
}
void loop() {
// put your main code here, to run repeatedly:
}
with Solar Panel input sensor¶
* Arduino UNO
* Arduino IDE
* 3 watts Speaker
* DFPlayer Mini
* SD card
* 1K resistor
* Solar Panel
* Jumper Wires
* Breadboard
#include "SoftwareSerial.h" //connecting to another pre-made program or a new library of commands
#include "DFRobotDFPlayerMini.h"
const int solar = A5; //solar pannel signal connected to A0
int lightTriggerLevel =300;
static const uint8_t DF_TX = 2; //connects to module's RX
static const uint8_t DF_RX = 3; //connects to module's TX
SoftwareSerial softwareSerial(DF_RX, DF_TX);
DFRobotDFPlayerMini player; //Create the Player object
int solarValue; //how much i sun hits solar panel
void setup() {
pinMode(solar, INPUT); //set solar panel as input
//2 serial commands required (1 for hardware, 1 for software...serial)
Serial.begin(9600);
softwareSerial.begin(9600);
//Start communication with DFPlayer Mini
if (player.begin(softwareSerial)) {
Serial.println("OK");
//set volume to maximum (0-30)
player.volume(30);
} else {
Serial.println("Connecting to DFPlayer Mini failed");
}
}
void loop() {
//read value from solar pin
solarValue = analogRead(solar); //analogRead (1 parameter: PIN int) ... this tells the arduino to read a value from the solar PIN and assign to knobValue Variabl
Serial.println(solarValue);
//if the light value higher than 300,
if (solarValue >= lightTriggerLevel) {
// trigger dfplayer on
// tell arduino to send signals to pin 2
// play the first mp3 file on the SD card.
player.play(1); //Music File name must be in numbers like 1,2,3
}
}
Projects with sound actuators:
Folding frequencies
Crying dress
Silent Pillow
MOTION actuators¶
servo motor¶
* Arduino UNO
* Arduino IDE
* Servo motor
* Jumper Wires
* Breadboard
* Servo Library
* Go to Tools
* Manage Libraries...
* Filter your search
#include<Servo.h>
Servo s1;
void setup() {
s1.attach(9);
}
void loop() {
// CODE 1: Start at 0 degrees, delay, move to 180 degrees, delay, back to 0 degrees, delay
//s1.write(0);
//delay(1000);
//s1.write(180);
//delay(1000);
//s1.write(0);
//delay(1000);
// CODE 2: Continuous movement
for (int i=0; i<= 180; i+=1){
s1.write(i);
delay(15);
}
for (int i=180; i>=0; i-=1) {
s1.write(i);
delay(15);
}
}
VISUAL actuators¶
neopixels¶
* Arduino UNO
* Arduino IDE
* Breadboard
* NeoPixels
* Jumper wires
* Adafruit Neopixel library in Arduino IDE
* Go to Tools
* Manage Libraries...
* Filter your search
#include <Adafruit_NeoPixel.h>
//Arduino pin connected to NeoPixels
int LedPin = 6;
//How many NeoPixels are attached to the Arduino
int NumPixels = 8;
//how many pixels, and which pin to use to send signals
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NumPixels, LedPin, NEO_GRB + NEO_KHZ800);
int delayval = 2000; //delay for half a second
void setup() {
//to initiate the NeoPixel library
pixels.begin();
}
void loop() {
// For a set of NeoPixels the first NeoPixel is 0, second is 1, (n-1)
// pixels.Color takes RGB values, from [0,0,0] to [255,255,255]
// 8 spots for the 8 RGB LEDs
// you can change these colors as much as you want (follor RGB vendiagram for color you want)
// they are run in order
// the last LED takes the program from the one before it, so if you don't include 3, it will go__???
for (int i = 0; i <= NumPixels; i++) {
switch (i){
case 0:
pixels.setPixelColor(0, pixels.Color(150,0,0)); //red
break;
case 1:
pixels.setPixelColor(1, pixels.Color(0,150,0));
break; //green
case 2:
pixels.setPixelColor(2, pixels.Color(0,0,150)); //blue
break;
case 3:
pixels.setPixelColor(3, pixels.Color(150,150,0)); //yelloww
break;
case 4:
pixels.setPixelColor(4, pixels.Color(0,150,150)); //cyan
break;
case 5:
pixels.setPixelColor(5, pixels.Color(150,0,150)); //magenta
break;
case 6:
pixels.setPixelColor(6, pixels.Color(150,150,150)); //white
break;
case 7:
pixels.setPixelColor(7, pixels.Color(150,50,0)); //orange
break;
}
pixels.show(); // this sends the updated pixel color to the hardware
delay(delayval); // Delay for a period of time (in milliseconds)
}
}
charlieplexing¶
* Arduino UNO
* Arduino IDE
* Breadboard
* Six LEDs
* Jumper wires
* Three 470ohms resistors
#define CHARLIE_A 1
#define CHARLIE_B 2
#define CHARLIE_C 5
int wait = 1000;
void setup() {
pinMode(CHARLIE_A, OUTPUT);
pinMode(CHARLIE_B, OUTPUT);
pinMode(CHARLIE_C, OUTPUT);
}
void charlie(int a, int b, int c) { //command with 3 parameters
if (a < 0) { //CHARLIE_A = int a , if a is less than zero, it is removed from circuit
pinMode(CHARLIE_A, INPUT);
} else {
pinMode(CHARLIE_A, OUTPUT);
digitalWrite(CHARLIE_A, a);
}
if (b < 0) { //CHARLIE_B = int b , if b is less than zero, it is removed from circuit
pinMode(CHARLIE_B, INPUT);
} else {
pinMode(CHARLIE_B, OUTPUT);
digitalWrite(CHARLIE_B, b);
}
if (c < 0) { //CHARLIE_C = int c , if c is less than zero, it is removed from circuit
pinMode(CHARLIE_C, INPUT);
} else {
pinMode(CHARLIE_C, OUTPUT);
digitalWrite(CHARLIE_C, c);
}
}
void loop() {
// LIGHT 1
// pinMode(CHARLIE_A, OUTPUT);
// pinMode(CHARLIE_B, OUTPUT);
// pinMode(CHARLIE_C, INPUT); //REMOVES THE CHARLIE_C OUTPUT FROM CIRCUIT
// digitalWrite(CHARLIE_A, LOW);
// digitalWrite(CHARLIE_B, HIGH);
charlie(LOW, HIGH, -1);
delay(wait); //delay for 1 second... DOUBLE SLASH (REMOVE FROM CODE) DELAY IF YOU WANT ALL LED'S TO APPEAR AS THOUGH THEY ARE BLINKING AT THE SAME TIME
// LIGHT 2
charlie(HIGH, LOW, -1);
delay(wait);
// LIGHT 3
charlie(HIGH, -1, LOW);
delay(wait);
// LIGHT 4
charlie(LOW, -1, HIGH);
delay(wait);
// LIGHT 5
charlie(-1, HIGH, LOW);
delay(wait);
// LIGHT 6
charlie(-1, LOW, HIGH);
delay(wait);
}
oled¶
* Arduino UNO
* Arduino IDE
* Breadboard
* Oled
* Jumper wires
* Adafruit GFX library
* Adafruit SSD1306 library
* Go to Tools
* Manage Libraries...
* Filter your search
/*
* Created by ArduinoGetStarted.com
*
* This example code is in the public domain
*
* Tutorial page: https://arduinogetstarted.com/tutorials/arduino-oled
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// declare an SSD1306 display object connected to I2C
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
static const uint8_t PROGMEM Ryuk_0 [] = {
0x31, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0xdf, 0x9c, 0x07,
0x10, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xe0, 0x00, 0x01, 0x1f, 0xf8, 0x38,
0x00, 0x30, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xe0, 0xff,
0x00, 0x08, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0x81, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xfe, 0x07, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x79, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xf8, 0x0c, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x1b, 0xff, 0xff, 0xf0, 0x00, 0x02, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfe, 0x07, 0xf9, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x81, 0x08, 0x00, 0xff, 0x03, 0xf3, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xe0, 0xe3, 0x80, 0x00, 0x3f, 0x81, 0xc7, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1f, 0x80, 0x3f, 0xc0, 0x00, 0x07, 0xc0, 0x0f, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xfe, 0xe0, 0x0f, 0xc0, 0x00, 0x01, 0xf0, 0x1f, 0xc0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf6, 0x7e, 0x2f, 0xc0, 0x00, 0x01, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x03, 0x80, 0x3f, 0xff, 0xe0, 0x07, 0xe0, 0xfc, 0x7e, 0x0f, 0x80, 0x02, 0x60, 0x00, 0x00, 0x00,
0x02, 0x00, 0x0f, 0xef, 0xf8, 0x18, 0x30, 0xf6, 0x9e, 0x18, 0xe0, 0x0f, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x27, 0xcf, 0xf8, 0x30, 0x10, 0x77, 0xfc, 0x30, 0x60, 0x04, 0x40, 0x00, 0x00, 0x00,
0x70, 0x00, 0xff, 0xfd, 0xfc, 0x38, 0x30, 0x06, 0xf8, 0x20, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x03, 0xfe, 0x0f, 0xfe, 0x1f, 0xf0, 0x18, 0xf0, 0x30, 0x40, 0x0e, 0x38, 0x00, 0x00, 0x00,
0x80, 0x3f, 0xff, 0x0e, 0x7f, 0x00, 0x00, 0x7c, 0xe0, 0x1f, 0x80, 0x00, 0x48, 0x00, 0x00, 0x00,
0xc7, 0xff, 0xfe, 0xee, 0x7f, 0x80, 0x03, 0x83, 0xec, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
0xff, 0xff, 0xfc, 0xe6, 0x3f, 0xf3, 0xcf, 0xbf, 0xcf, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xf3, 0x0f, 0xc7, 0xff, 0xff, 0xe3, 0xc0, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00,
0x3f, 0xff, 0xff, 0xc3, 0x07, 0xe7, 0xff, 0xff, 0x00, 0xff, 0x80, 0x00, 0x0f, 0x20, 0x00, 0x00,
0x38, 0x1f, 0xf7, 0xc3, 0xc3, 0xfb, 0xff, 0xe1, 0x00, 0xff, 0x00, 0x03, 0x0f, 0xc0, 0x00, 0x00,
0x0d, 0x8f, 0xff, 0xe3, 0xc3, 0xe0, 0xff, 0xe1, 0x80, 0xfe, 0x00, 0x03, 0x87, 0x80, 0x00, 0x00,
0x0f, 0x0f, 0xff, 0xe3, 0xc1, 0x81, 0xff, 0xc3, 0xc1, 0xf0, 0x00, 0x01, 0x83, 0x26, 0x00, 0x00,
0x00, 0x0f, 0xdf, 0xe3, 0xc0, 0xc7, 0xff, 0xc7, 0xc1, 0xf8, 0x00, 0x81, 0x83, 0x24, 0x00, 0x00,
0x00, 0x0f, 0xdf, 0xe5, 0xe0, 0x07, 0xff, 0xcf, 0xf3, 0xfc, 0x00, 0x00, 0xc1, 0xe0, 0x00, 0x00,
0x3f, 0xff, 0xdf, 0xe1, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x41, 0xe0, 0x00, 0x00,
0x9f, 0xff, 0xdf, 0xe1, 0xe0, 0x1f, 0xff, 0xff, 0xf0, 0x3e, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00,
0x00, 0xff, 0xdf, 0xf1, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x18, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00,
0x01, 0xff, 0xff, 0xfd, 0xf8, 0x03, 0xff, 0xff, 0xf0, 0x00, 0x01, 0x80, 0x01, 0xc0, 0x00, 0x00,
0x00, 0xff, 0xff, 0xec, 0xf8, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x83, 0x07, 0x10, 0x00, 0x00,
0x1f, 0xff, 0xff, 0xe0, 0x7c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0xc7, 0x08, 0xec, 0x00, 0x00,
0x7f, 0x8f, 0xff, 0xf0, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xee, 0x19, 0x90, 0x00, 0x00,
0x3f, 0xef, 0xff, 0xf8, 0x3f, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x16, 0x10, 0x00, 0x00,
0xff, 0xff, 0xff, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xec, 0x78, 0x20, 0x00, 0x00,
0x1f, 0xff, 0xff, 0xfc, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x40, 0x60, 0x00, 0x00,
0xff, 0xff, 0xdf, 0xfe, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x20, 0x01, 0xd8, 0x00, 0x00,
0xf8, 0x7f, 0xa7, 0xff, 0x87, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00, 0x7f, 0xc1, 0xff, 0xc3, 0xf0, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x08, 0x00, 0x00, 0x00,
0x20, 0x7f, 0xe1, 0xff, 0xe1, 0xfc, 0x0e, 0x08, 0x20, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xf8, 0xff, 0xf0, 0xfe, 0x00, 0x08, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x9e, 0x1e, 0x3f, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x1e, 0x07, 0xff, 0xf8, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x04, 0x30, 0x00, 0x00, 0x00,
0x00, 0x03, 0x80, 0xff, 0xfc, 0x1f, 0xf0, 0x00, 0x18, 0x01, 0xe0, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x1f, 0x3c, 0x0f, 0xff, 0xff, 0xf8, 0x06, 0x00, 0xc2, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x03, 0xe6, 0x07, 0x8f, 0xfc, 0x10, 0x0e, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0xf9, 0x03, 0xc7, 0xf0, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x00, 0x01, 0xc1, 0x00, 0x79, 0x83, 0x83, 0xe0, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x80, 0x3e, 0xe1, 0xff, 0xf8, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xc0, 0x1f, 0x21, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x00, 0x0f, 0x31, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x07, 0xfc, 0xff, 0xfe, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x03, 0xfe, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3c, 0x01, 0xff, 0x3f, 0xf8, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x11, 0x81, 0xff, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x81, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe1, 0xff, 0xfc, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x73, 0xff, 0xff, 0xff, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x3f, 0xf1, 0xc7, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t PROGMEM Ryuk_1 [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x0b, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x41, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x44, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xf8, 0x70, 0x7f, 0xff, 0xf0, 0x00, 0x01, 0x18, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0x30, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x00, 0xff, 0x7f, 0xe0, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x13, 0xff, 0xf8, 0x09, 0xfe, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xee, 0x07, 0x78, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0xff, 0x01, 0xc1, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x61, 0x00, 0x00, 0x1f, 0x00, 0x83, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0xc0, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xe0, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x38, 0x06, 0xc0, 0x00, 0x00, 0xf0, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x87, 0x00, 0x07, 0xc0, 0xf8, 0x2c, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x07, 0xb8, 0x00, 0x10, 0x64, 0x04, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x06, 0x38, 0x20, 0x10, 0x21, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0x78, 0x10, 0x10, 0x06, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x78, 0x00, 0x7c, 0x0f, 0xf0, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0e, 0x1e, 0x00, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x38, 0x60, 0x7f, 0x80, 0x03, 0x81, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x03, 0x98, 0x62, 0x36, 0xe3, 0x8f, 0x1f, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xc0, 0x83, 0x0f, 0x80, 0xfa, 0x46, 0xe1, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x09, 0xe1, 0x81, 0x06, 0xe3, 0xfe, 0x0b, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xe0, 0x81, 0x83, 0xf1, 0xff, 0x81, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xe0, 0x81, 0x83, 0x00, 0xff, 0x01, 0x80, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0xc0, 0x81, 0xc1, 0x00, 0xff, 0x83, 0x80, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x81, 0xc0, 0x03, 0xff, 0x87, 0x81, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x09, 0x80, 0xc0, 0x07, 0xff, 0x83, 0xc3, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x12, 0x0b, 0x80, 0xe0, 0x07, 0xff, 0xcf, 0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0f, 0x0b, 0xc0, 0xe0, 0x1f, 0xff, 0xfe, 0xe0, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x19, 0x0b, 0xc0, 0xe0, 0x0f, 0xff, 0xff, 0xe0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x0f, 0x80, 0x68, 0x01, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x11, 0x0f, 0xc0, 0x78, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0x40, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xc0, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xf0, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xe0, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x03, 0xe0, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x03, 0xf8, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x03, 0xfe, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x7f, 0x81, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3d, 0xc0, 0x7f, 0xc1, 0xf8, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x1f, 0xe0, 0x4c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xf8, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xf8, 0x1b, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0c, 0x0c, 0x07, 0xe3, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t PROGMEM Ryuk_2 [] = {
0x01, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x80, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x03, 0x98, 0x03,
0x00, 0x60, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xe0, 0x00, 0x01, 0x1f, 0xb0, 0x38,
0x00, 0x30, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x3c, 0xc0, 0x40,
0x00, 0x08, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0x80, 0xfc,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0xf0, 0xff, 0xff, 0xf0, 0x00, 0x01, 0x3e, 0x07, 0x80,
0x00, 0x00, 0x00, 0x00, 0x77, 0xff, 0xf8, 0x38, 0xff, 0xff, 0xf0, 0x00, 0x01, 0xf8, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xf8, 0x19, 0xff, 0xff, 0xf0, 0x00, 0x02, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x0f, 0xff, 0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0xfe, 0x07, 0xf9, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x81, 0x00, 0x00, 0xff, 0x03, 0xe1, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xa0, 0x63, 0x80, 0x00, 0x3f, 0x81, 0xc7, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0e, 0x00, 0x3f, 0xc0, 0x00, 0x03, 0xc0, 0x0f, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xfc, 0x40, 0x0f, 0xc0, 0x00, 0x01, 0xe0, 0x1f, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x70, 0x3c, 0x07, 0xc0, 0x00, 0x01, 0xf0, 0x3e, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x03, 0x00, 0x3f, 0xef, 0xe0, 0x07, 0xe0, 0xf8, 0x3e, 0x0f, 0x80, 0x02, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xef, 0xf8, 0x18, 0x30, 0xf6, 0x9e, 0x18, 0xe0, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xcf, 0xf8, 0x30, 0x10, 0x77, 0xdc, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30, 0x00, 0xf9, 0xfd, 0xfc, 0x30, 0x30, 0x06, 0x38, 0x20, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x03, 0xfe, 0x06, 0xfc, 0x1f, 0xf0, 0x08, 0xf0, 0x30, 0x40, 0x02, 0x38, 0x00, 0x00, 0x00,
0x00, 0x1f, 0xff, 0x06, 0x7f, 0x00, 0x00, 0x78, 0xe0, 0x0f, 0x80, 0x00, 0x48, 0x00, 0x00, 0x00,
0x87, 0xff, 0xfc, 0xe6, 0x7f, 0x80, 0x03, 0x83, 0xec, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0xff, 0xff, 0xfc, 0xe2, 0x3f, 0xf3, 0xcf, 0x1f, 0xcf, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xfd, 0xd3, 0x0f, 0xc7, 0xff, 0xff, 0xe3, 0xc0, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00,
0x3f, 0xff, 0xf3, 0xc3, 0x07, 0xe3, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x0f, 0xf7, 0xc3, 0xc3, 0xf3, 0xff, 0xe1, 0x00, 0xfe, 0x00, 0x01, 0x0f, 0x80, 0x00, 0x00,
0x04, 0x8f, 0xf7, 0xc3, 0xc3, 0xe0, 0xff, 0xc1, 0x80, 0xfe, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,
0x0c, 0x0f, 0xff, 0xe1, 0xc1, 0x01, 0xff, 0xc3, 0xc1, 0xf0, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00,
0x00, 0x07, 0xcf, 0xe1, 0xc0, 0x87, 0xff, 0xc7, 0xc1, 0xf8, 0x00, 0x01, 0x81, 0x00, 0x00, 0x00,
0x00, 0x07, 0xdf, 0xe1, 0xe0, 0x07, 0xff, 0xc7, 0xe3, 0xfc, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
0x1f, 0xff, 0xdf, 0xe1, 0xe0, 0x3f, 0xff, 0xcf, 0xff, 0xfe, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x01, 0xff, 0xdf, 0xe1, 0xe0, 0x1f, 0xff, 0xff, 0xf0, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0xdf, 0xe1, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x18, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00,
0x01, 0xff, 0xff, 0xe8, 0xf8, 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00,
0x00, 0x7f, 0x9f, 0xe0, 0xf8, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, 0x80, 0x06, 0x00, 0x00, 0x00,
0x00, 0xff, 0x9f, 0xe0, 0x7c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x87, 0x08, 0x04, 0x00, 0x00,
0x3f, 0x07, 0xff, 0xf0, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x19, 0x10, 0x00, 0x00,
0x0f, 0x07, 0xff, 0xf0, 0x3f, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01, 0xd8, 0x06, 0x10, 0x00, 0x00,
0x0f, 0xf7, 0xff, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xc0, 0x00, 0x20, 0x00, 0x00,
0x0f, 0xdf, 0x9f, 0xfc, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0x00, 0x60, 0x00, 0x00,
0x8f, 0xff, 0x9f, 0xfe, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x01, 0x80, 0x00, 0x00,
0x78, 0x7f, 0x07, 0xff, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x6f, 0xc1, 0xff, 0xc3, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0xe0, 0xff, 0xe1, 0xfc, 0x06, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7e, 0x78, 0xff, 0xf0, 0xfc, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x8c, 0x0c, 0x1f, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00,
0x00, 0x16, 0x03, 0xff, 0xf8, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x03, 0x80, 0x79, 0xf8, 0x1f, 0xf0, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x1e, 0x3c, 0x0f, 0xff, 0x8f, 0xf0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x03, 0xc6, 0x07, 0x07, 0xfc, 0x10, 0x0c, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf1, 0x03, 0x83, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xc1, 0x00, 0x79, 0x83, 0x83, 0xe0, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x80, 0x1e, 0xe1, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x00, 0x1f, 0x21, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x00, 0x0f, 0x10, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x07, 0xdc, 0xff, 0xfe, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x02, 0xfc, 0x7f, 0xfc, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3c, 0x01, 0xfb, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x11, 0x01, 0x3a, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x81, 0x9f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe1, 0xdf, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x71, 0xf7, 0xe1, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x76, 0xf4, 0x1f, 0x80, 0x82, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x17, 0x75, 0xf0, 0x71, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x19, 0x3e, 0x0f, 0xc6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t PROGMEM Ryuk_3 [] = {
0xfb, 0xc0, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x3f,
0xf8, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf8, 0x7f,
0x80, 0x78, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf4, 0x3f, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xf1, 0xff,
0x80, 0x0c, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x80, 0x00, 0xff, 0xe3, 0xff,
0xc0, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x80, 0x01, 0xff, 0x8f, 0xf0,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0x80, 0x03, 0xfe, 0x1f, 0x00,
0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfc, 0x30, 0x00,
0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x01, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xff, 0xc3, 0x9f, 0x8f, 0xff, 0x87, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x0f, 0xf9, 0xff, 0x80, 0xff, 0x7f, 0xc3, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0xff, 0x7f, 0xc3, 0x00, 0x9f, 0xe0, 0x9f, 0xff, 0xfc, 0x00, 0xe0, 0x40, 0x00, 0x00,
0x03, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0, 0x3f, 0xe0, 0x18, 0x0f, 0xf1, 0x38, 0x00, 0x00,
0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x03, 0xf8, 0x7f, 0x00, 0x00, 0x3e, 0xf7, 0xc0, 0x00, 0x00,
0x07, 0xfe, 0x7f, 0xff, 0xe0, 0x0f, 0xe1, 0xfc, 0x7e, 0x0f, 0xc0, 0x27, 0xf7, 0x00, 0x00, 0x00,
0x07, 0x00, 0xff, 0xff, 0xf8, 0x18, 0x30, 0xff, 0xfe, 0x39, 0xe0, 0x1f, 0xf0, 0x00, 0x00, 0x00,
0x7e, 0x00, 0xff, 0xff, 0xfc, 0x30, 0x18, 0xff, 0xfe, 0x70, 0x61, 0x8f, 0xc0, 0x00, 0x00, 0x00,
0xfe, 0x03, 0xff, 0xff, 0xfc, 0x38, 0x30, 0xff, 0xfc, 0x72, 0x60, 0x7f, 0x98, 0x00, 0x00, 0x00,
0xfc, 0x1f, 0xff, 0xff, 0xfe, 0x1f, 0xf0, 0x78, 0xf0, 0x30, 0xe6, 0x3f, 0xf8, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x7f, 0xe0, 0x1f, 0xc0, 0x0f, 0xf8, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xc7, 0xfe, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x20, 0x27, 0xbf, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xf7, 0xe3, 0xc6, 0x01, 0xbf, 0xc0, 0x00, 0x00,
0xff, 0xff, 0xff, 0xef, 0x8f, 0xff, 0xff, 0xff, 0x11, 0xff, 0xc4, 0x23, 0xcf, 0xf0, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xe1, 0x81, 0xff, 0xa0, 0xe3, 0xcf, 0xfe, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xc3, 0xf1, 0xff, 0xe1, 0xc1, 0xff, 0x01, 0x67, 0xcf, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xff, 0xe7, 0xfb, 0xf8, 0x00, 0xc3, 0xc7, 0xff, 0x80, 0x00,
0xff, 0xbf, 0xff, 0xff, 0xe1, 0xcf, 0xff, 0xcf, 0xf3, 0xfc, 0x04, 0xc3, 0xe7, 0xff, 0x00, 0x00,
0x0c, 0x3f, 0xff, 0xff, 0xe0, 0x6f, 0xff, 0xcf, 0xff, 0xfe, 0x03, 0xc1, 0xe7, 0xff, 0x80, 0x00,
0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xe7, 0xf3, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x0b, 0x00, 0xc7, 0xf8, 0x00, 0x00,
0x1f, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0x7c, 0x0b, 0x81, 0xc7, 0xff, 0x80, 0x00,
0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xff, 0xfb, 0x70, 0x0b, 0x83, 0xcf, 0xfe, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xfd, 0xc0, 0x03, 0xc7, 0xcf, 0xfe, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xef, 0x9f, 0xfc, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xbf, 0xf0, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xbe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x3f, 0x78, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0f, 0x86, 0x1e, 0x00, 0x1f, 0xfe, 0x7c, 0x70, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x80, 0x00, 0x00, 0x02, 0x7f, 0xff, 0xf8, 0xf8, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xdf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfd, 0xe1, 0xfc, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x02, 0x00, 0x00, 0x03, 0x3f, 0xf3, 0x83, 0xe0, 0x00, 0x00,
0x38, 0x7f, 0xff, 0xff, 0xf7, 0xf8, 0x2e, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0x1d, 0x20, 0x00, 0x00,
0x3c, 0xff, 0xff, 0xff, 0xf1, 0xfc, 0x0f, 0x1e, 0x7c, 0x00, 0xff, 0xf8, 0x7f, 0x00, 0x00, 0x00,
0x07, 0xff, 0xff, 0xff, 0xf8, 0xfe, 0x00, 0x1e, 0x00, 0x00, 0xff, 0xe1, 0xfe, 0x60, 0x00, 0x00,
0x0f, 0xfe, 0x3f, 0xff, 0xf8, 0x7f, 0x80, 0x00, 0x00, 0x49, 0xff, 0xc7, 0xe0, 0x00, 0x00, 0x00,
0x11, 0x1f, 0x0f, 0xff, 0xfc, 0x3f, 0xc0, 0x00, 0x01, 0x89, 0xfe, 0x1f, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x07, 0xc1, 0xff, 0xfe, 0x1f, 0xf8, 0x00, 0x7f, 0x1f, 0xf8, 0x7f, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x03, 0xe0, 0x3f, 0xfe, 0x1f, 0xff, 0xff, 0xfc, 0x0f, 0xe1, 0xff, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x08, 0xf6, 0x07, 0xff, 0x07, 0xff, 0xff, 0x7c, 0x1f, 0x87, 0xff, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf7, 0x03, 0xff, 0x87, 0xff, 0xf8, 0x00, 0x3e, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x00,
0x00, 0x01, 0xf3, 0xc0, 0xff, 0xc7, 0xff, 0xf8, 0x00, 0x38, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xe0, 0x7f, 0xe3, 0xff, 0xfe, 0x00, 0x71, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xf0, 0x3f, 0xf3, 0xff, 0xff, 0x00, 0x77, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0x70, 0x1f, 0xfb, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x7c, 0x0f, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x01, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x7f, 0x03, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3b, 0x81, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xfb, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x31, 0xe1, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xf1, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t PROGMEM AllBlack [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
void setup() {
Serial.begin(9600);
// initialize OLED display with address 0x3C for 128x64
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
while (true);
}
delay(2000); // wait for initializing
oled.setCursor(0, 0);
}
void loop() {
oled.clearDisplay();
delay(50);
// display bitmap
// oled.drawBitmap(0, 0, Ryuk_0, 128, 64, WHITE);
// oled.display();
// delay(500);
// display bitmap
oled.drawBitmap(0, 0, Ryuk_1, 128, 64, WHITE);
oled.display();
delay(600);
// display bitmap
oled.drawBitmap(0, 0, Ryuk_2, 128, 64, WHITE);
oled.display();
delay(600);
// display bitmap
oled.drawBitmap(0, 0, Ryuk_3, 128, 64, WHITE);
oled.display();
delay(600);
// // invert display
// oled.invertDisplay(1);
// delay(2000);
}
Oled Display Tutorial
Oled Display Tutorial for more than 1 image
Oled requires 2 communication pins, called SDA (data) and SCL (clock), which are part of the I2C Communication Protocol.
ATtiny¶
ATtiny uses ISP - requires 4 wires: MISO, MOSI, SCK (clock), RST or SS
Watch this Tutorial
Remember to upload your program (in my case, my Blink code), by going to Sketch>Upload using Programmer.
swatches¶
fabric speakers¶
how does a speaker work? (answer from here)
"The speaker has two contacts, and each of these is connected to one end of the wire coil. The wire may look like it is all touching but intact it is insulated, forcing the electricity to flow through the whole coil to reach the other end. In doing so the flow of electricity through the coil creates a magnetic field around the coil. This magnetic field fluctuates with the frequency of the audio signal. Every time the signal is low the coil loses its magnetic field and is not attracted to the permanent magnet, every time the audio signal is high, the coil is attracted to the permanent magnet. Thus the coil and the magnet are repelling and attracting each other very quickly. And because the coil is connected to the plastic membrane every time it moves (repel/attract), it moves the membrane and the membrane moves air creating sound waves that our ears can hear."
Video on how to make the Simplest Speaker
Paper Speaker recipe
Fabric Speaker recipe
Lasercut speaker frame recipe
Cast Speaker recipe
More Recipes
test 1
my first speaker: spiral with conductive thread and an embroidery machine. I made a spiral on Inkscape, which you can download from my fabrication files at the bottom of this page.
As you can see in the video, the embroidered spiral doesn't have perfect continuity. We tried it with a magnet and couldn't hear a sound.
test 2
this test was done with copper tape on felt. it was challenging to make a spiral so i made more of a geometric maze. the continuity was a little tricky each time i switched each strand of tape. i had to fold a corner of the strand to try and maintain continuity. ultimately, it wasn't successful either :(
test 3
it was a realy bummer that I couldn't get any of these fabric speakers to work, so it was important to retrace my steps and start with the basics, and bare-minimum= paper and wire. rico helped me glue down an insulated wire down onto a piece of scrap paper with a glue gun.
and... of course this bare boned swatch decides to work, not a real swatch but definitely somewhat of a real speaker.
motor swatch¶
a motor swatch that reacts to amount of sunlight directed at solar panel. flower dancing in sunlight, resting in between..
The solar panel is hidden underneath the felt.
oled swatch¶
See Ieva Daurartaite's Final Project for more inspiration for your swatches.