diff --git a/Arduino/BabyTV_v1/BabyTV_v1.ino b/Arduino/BabyTV_v1/BabyTV_v1.ino new file mode 100644 index 0000000..16563b3 --- /dev/null +++ b/Arduino/BabyTV_v1/BabyTV_v1.ino @@ -0,0 +1,372 @@ +// http://howtomechatronics.com/tutorials/arduino/rotary-encoder-works-use-arduino/ +// https://www.arduino.cc/en/tutorial/potentiometer +// http://www.instructables.com/id/How-to-use-Potentiometer-Arduino-Tutorial/ + +// http://www.digole.com/tools/PicturetoC_Hex_converter.php +// Code format: DEC +// Display position: X0/Y0 +// Used for: 262K Color(3bytes/pixel:XXXXXXXX00) + +#include "FastLED.h" +#include + +FASTLED_USING_NAMESPACE + +#define WAITFORTICKS 5000 + +#define DATA_PIN 11 +#define LED_TYPE WS2812B +#define COLOR_ORDER GRB +#define NUM_LEDS 256 +CRGB leds[NUM_LEDS]; + +#define BUTTON_PIN 12 +int buttonReading = 0; // the current value read from the input pin +int buttonCurrent_state = LOW; // the debounced input value +long buttonTime = 0; // the last time the output pin was sampled +int buttonCounter = 0; // how many times we have seen new value +int buttonDebounce_count = 10; // number of millis/samples to consider before declaring a debounced input +int buttonState = 1; // 0 = display off , 1 = display on , default on + +int currBrightness = 50; +//#define BRIGHTNESS 50 // Inital brightness default value, will be changed later +#define FRAMES_PER_SECOND 120 + +#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0])) + +const uint8_t kMatrixWidth = 16; +const uint8_t kMatrixHeight = 16; +const uint8_t kMatrixSerpentineLayout = true; + +void matrix_code(); +void rainbowWithGlitter(); +void confetti(); + +// Mario animation +#include "imgMario1.c" // Mario1 +const byte *gMarioFrames[3] = { mario1, mario2, mario3 }; +void showMario1(); +// Mushroom animation +#include "imgMushroom1.c" // Mushroom1 +const byte *gMushroomFrames[3] = { mushroom1, mushroom2 }; +void showMushroom1(); +// Bee animation +#include "imgBee1.c" // Bee1 +const byte *gBeeFrames[3] = { bee1, bee2 }; +void showBee1(); +// Bat animation +#include "imgBat1.c" // Bee1 +const byte *gBatFrames[3] = { bat1, bat2 }; +void showBat1(); +// Frog animation +#include "imgFrog1.c" // Bee1 +const byte *gFrogFrames[3] = { frog1, frog2, frog3 }; +void showFrog1(); + +// List of patterns to cycle through. Each is defined as a separate function below. +typedef void (*SimplePatternList[])(); +SimplePatternList gPatterns = { showMario1, showMushroom1, showBee1, showBat1, showFrog1, matrix_code, rainbowWithGlitter, confetti }; + +uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current +uint8_t gHue = 0; // rotating "base color" used by many of the patterns + +int tmpIndexI = 0; +int tmpIndexJ = 0; + +#define POTPIN A0 +int potValue=0; //save analog value + +// Setup a RoraryEncoder for pins A2 and A3: +RotaryEncoder encoder(A2, A3); + +int gCurrentFrameNumber = 0; + +#include + +int RECV_PIN = 10; + +IRrecv irrecv(RECV_PIN); +decode_results results; + +void setup() { + delay(3000); // 3 second delay for recovery + + // tell FastLED about the LED strip configuration + FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); + + // set master brightness control + FastLED.setBrightness(currBrightness); + + Serial.begin (9600); + irrecv.enableIRIn(); // Start the receiver + + pinMode(POTPIN, INPUT); + pinMode(BUTTON_PIN, INPUT); +} + +void loop() { + + checkRotary(); + + checkButton(); + + EVERY_N_MILLISECONDS( 100 ) { // 100 ms for stable reading + if ( buttonState > 0 ) { // only if display is on + checkBrightness(); + } + } + + EVERY_N_MILLISECONDS( 100 ) { + if (irrecv.decode(&results)) { + if ( results.value != 4294967295 ) { + //Serial.println(results.value, HEX); + nextPattern(); + } + irrecv.resume(); // Receive the next value + } + } + + // Call the current pattern function once, updating the 'leds' array + gPatterns[gCurrentPatternNumber](); + + FastLED.show(); + // insert a delay to keep the framerate modest + FastLED.delay(1000/FRAMES_PER_SECOND); + + // do some periodic updates + EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow +} + +void checkButton() { + if(millis() != buttonTime) { + buttonReading = digitalRead(BUTTON_PIN); + + if( buttonReading == buttonCurrent_state && buttonCounter > 0) { + buttonCounter--; + } + if(buttonReading != buttonCurrent_state) { + buttonCounter++; + } + // If the Input has shown the same value for long enough let's switch it + if(buttonCounter >= buttonDebounce_count) { + buttonCounter = 0; + buttonCurrent_state = buttonReading; + if ( buttonCurrent_state == HIGH ) { + // button pressed + if ( buttonState == 1 ) { // Display is on, let's turn it off + buttonState = 0; + currBrightness = 0; + }else{ // Display is off, let's turn it on + buttonState = 1; + } + }else{ + // button released + } + } + buttonTime = millis(); + } +} + +void checkBrightness() { + int diff = 0; + potValue = analogRead(POTPIN); + potValue = map(potValue, 0, 1023, 0, 150); // Map the value to the brightness + if ( potValue > currBrightness ) { + diff = potValue - currBrightness; + }else{ + diff = currBrightness - potValue; + } + if ( diff > 2 ) { // Change Brightness in 2er steps + FastLED.setBrightness(potValue); + currBrightness = potValue; + } +} + +void nextFrame(int count) { + // add one to the current pattern number, and wrap around at the end + gCurrentFrameNumber = (gCurrentFrameNumber + 1) % count; +} + +void nextPattern() { + // add one to the current pattern number, and wrap around at the end + gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns); + gCurrentFrameNumber = 0; // reset the frame counter + //Serial.println("Next pattern"); +} +void lastPattern() { + // add one to the current pattern number, and wrap around at the end + gCurrentPatternNumber = (gCurrentPatternNumber - 1) % ARRAY_SIZE( gPatterns); + gCurrentFrameNumber = 0; // reset the frame counter + //Serial.println("Last pattern"); +} + +void checkRotary() { + for (tmpIndexI=0;tmpIndexI pos ) { + nextPattern(); + }else{ + lastPattern(); + } + pos = newPos; + } // if + } +} + +// convert bitmap to x/y coordinates +uint16_t getImgX(uint16_t index) { + return index % kMatrixWidth; +} +uint16_t getImgY(uint16_t index) { + return (kMatrixWidth - (index / kMatrixWidth) - 1); +} + +// convert x/y cordinates to LED index on zig-zag grid +uint16_t getIndex(uint16_t x, uint16_t y) { + uint16_t index; + if (y == 0) { + index = x; + } else if (y % 2 == 0) { + index = y * kMatrixWidth + x; + } else { + index = ((y * kMatrixWidth) + (kMatrixWidth-1)) - x; + } + return index; +} + +// Confetti (OK) +void confetti() { + // random colored speckles that blink in and fade smoothly + fadeToBlackBy( leds, NUM_LEDS, 10); + int pos = random16(NUM_LEDS); + leds[pos] += CHSV( gHue + random8(64), 200, 255); +} + +// Rainbow with Glitter (OK) +void rainbow() { + // FastLED's built-in rainbow generator + fill_rainbow( leds, NUM_LEDS, gHue, 7); +} +void addGlitter( fract8 chanceOfGlitter) { + if( random8() < chanceOfGlitter) { + leds[ random16(NUM_LEDS) ] += CRGB::White; + } +} +void rainbowWithGlitter() { + // built-in FastLED rainbow, plus some random sparkly glitter + rainbow(); + addGlitter(80); +} + +// Matrix code (OK) +void matrix_code() { + EVERY_N_MILLIS(100) // falling speed + { + // move code downward + // start with lowest row to allow proper overlapping on each column + for (int8_t row=0; row 0) { + leds[getIndex(row, col-1)] = CRGB(0,255,25); + } + } + } + } + + // fade all leds + for(tmpIndexI = 0; tmpIndexI < NUM_LEDS; tmpIndexI++) { + if (leds[tmpIndexI].g != 255) leds[tmpIndexI].nscale8(192); // only fade trail + } + + // check for empty screen to ensure code spawn + bool emptyScreen = true; + for(tmpIndexI=0; tmpIndexI < NUM_LEDS; tmpIndexI++) { + if (leds[tmpIndexI]) { + emptyScreen = false; + break; + } + } + + // spawn new falling code + if (random8(3) == 0 || emptyScreen) { // lower number == more frequent spawns + int8_t spawnX = random8(kMatrixWidth); + leds[getIndex(spawnX, kMatrixHeight-1)] = CRGB(0,255,25 ); + } + + //FastLED.show(); + } +} + +void showMario1() { + tmpIndexJ = 0; + EVERY_N_MILLISECONDS( 200 ) { // 200ms frame change + for (tmpIndexI=0;tmpIndexI<768;tmpIndexI=tmpIndexI+3) { + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].r = pgm_read_byte_near(gMarioFrames[gCurrentFrameNumber] + tmpIndexI); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].g = pgm_read_byte_near(gMarioFrames[gCurrentFrameNumber] + tmpIndexI+1); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].b = pgm_read_byte_near(gMarioFrames[gCurrentFrameNumber] + tmpIndexI+2); + tmpIndexJ=tmpIndexJ+1; + } + nextFrame(3); + } +} + + +void showMushroom1() { + tmpIndexJ = 0; + EVERY_N_MILLISECONDS( 200 ) { // 200ms frame change + for (tmpIndexI=0;tmpIndexI<768;tmpIndexI=tmpIndexI+3) { + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].r = pgm_read_byte_near(gMushroomFrames[gCurrentFrameNumber] + tmpIndexI); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].g = pgm_read_byte_near(gMushroomFrames[gCurrentFrameNumber] + tmpIndexI+1); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].b = pgm_read_byte_near(gMushroomFrames[gCurrentFrameNumber] + tmpIndexI+2); + tmpIndexJ=tmpIndexJ+1; + } + nextFrame(2); + } +} + +void showBee1() { + tmpIndexJ = 0; + EVERY_N_MILLISECONDS( 200 ) { // 200ms frame change + for (tmpIndexI=0;tmpIndexI<768;tmpIndexI=tmpIndexI+3) { + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].r = pgm_read_byte_near(gBeeFrames[gCurrentFrameNumber] + tmpIndexI); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].g = pgm_read_byte_near(gBeeFrames[gCurrentFrameNumber] + tmpIndexI+1); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].b = pgm_read_byte_near(gBeeFrames[gCurrentFrameNumber] + tmpIndexI+2); + tmpIndexJ=tmpIndexJ+1; + } + nextFrame(2); + } +} + +void showBat1() { + tmpIndexJ = 0; + EVERY_N_MILLISECONDS( 200 ) { // 200ms frame change + for (tmpIndexI=0;tmpIndexI<768;tmpIndexI=tmpIndexI+3) { + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].r = pgm_read_byte_near(gBatFrames[gCurrentFrameNumber] + tmpIndexI); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].g = pgm_read_byte_near(gBatFrames[gCurrentFrameNumber] + tmpIndexI+1); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].b = pgm_read_byte_near(gBatFrames[gCurrentFrameNumber] + tmpIndexI+2); + tmpIndexJ=tmpIndexJ+1; + } + nextFrame(2); + } +} + +void showFrog1() { + tmpIndexJ = 0; + EVERY_N_MILLISECONDS( 200 ) { // 200ms frame change + for (tmpIndexI=0;tmpIndexI<768;tmpIndexI=tmpIndexI+3) { + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].r = pgm_read_byte_near(gFrogFrames[gCurrentFrameNumber] + tmpIndexI); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].g = pgm_read_byte_near(gFrogFrames[gCurrentFrameNumber] + tmpIndexI+1); + leds[getIndex(getImgX(tmpIndexJ),getImgY(tmpIndexJ))].b = pgm_read_byte_near(gFrogFrames[gCurrentFrameNumber] + tmpIndexI+2); + tmpIndexJ=tmpIndexJ+1; + } + nextFrame(3); + } +} diff --git a/Arduino/BabyTV_v1/imgBat1.c b/Arduino/BabyTV_v1/imgBat1.c new file mode 100644 index 0000000..98f63e3 --- /dev/null +++ b/Arduino/BabyTV_v1/imgBat1.c @@ -0,0 +1,42 @@ +#ifndef IMG_BAT1 +#define IMG_BAT1 + +#include +PROGMEM const byte bat1[768] = { +4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,4,8,64,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,252,136,0,252,136,0,156,156,160,252,136,0,252,136,0,156,156,160,156,156,160,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,252,136,0,252,136,0,156,156,160,252,136,0,252,136,0,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,156,160,156,160,160,156,156,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,156,160,252,232,0,252,236,0,156,156,160,252,232,0,252,236,0,156,156,160,156,156,160,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,156,156,160,156,156,160,156,160,160,252,236,0,252,236,0,252,232,0,252,232,0,252,232,0,156,156,160,156,156,160,156,160,160,4,8,64,4,8,64 +,4,8,64,156,160,160,156,156,160,156,160,160,156,156,160,156,156,160,252,232,0,252,232,0,252,232,0,252,232,0,252,236,0,156,160,160,156,156,160,156,156,160,156,160,160,156,160,160 +,4,8,64,4,8,64,156,160,160,156,156,160,156,160,160,4,8,64,252,232,0,252,236,0,252,236,0,252,236,0,252,232,0,4,8,64,156,156,160,156,160,160,156,156,160,4,8,64 +,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64,4,8,64,252,136,0,4,8,64,252,136,0,4,8,64,4,8,64,156,156,160,156,156,160,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,4,8,64,4,8,64,252,136,0,4,8,64,252,136,0,4,8,64,4,8,64,156,156,160,156,156,160,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,156,160,160,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,156,160,4,8,64,156,160,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,4,8,64,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; + +PROGMEM const byte bat2[768] = { +4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,4,8,64,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,4,8,64,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,252,136,0,252,136,0,156,156,160,252,136,0,252,136,0,156,160,160,156,160,160,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,252,136,0,252,136,0,156,160,160,252,136,0,252,136,0,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,156,160,156,156,160,156,160,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,252,232,0,252,236,0,156,160,160,252,232,0,252,232,0,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,156,160,160,156,160,160,156,156,160,252,232,0,252,232,0,252,232,0,252,232,0,252,232,0,156,156,160,156,156,160,156,160,160,4,8,64,4,8,64 +,4,8,64,156,160,160,156,156,160,156,156,160,156,156,160,156,160,160,252,236,0,252,236,0,252,232,0,252,232,0,252,236,0,156,160,160,156,156,160,156,160,160,156,160,160,156,156,160 +,4,8,64,4,8,64,156,160,160,156,156,160,156,156,160,156,156,160,252,232,0,252,232,0,252,236,0,252,236,0,252,232,0,156,160,160,156,156,160,156,156,160,156,156,160,4,8,64 +,4,8,64,4,8,64,156,156,160,252,136,0,156,156,160,156,160,160,4,8,64,252,136,0,4,8,64,252,136,0,4,8,64,156,156,160,156,156,160,252,136,0,156,160,160,4,8,64 +,4,8,64,156,156,160,156,160,160,252,136,0,156,156,160,4,8,64,4,8,64,252,136,0,4,8,64,252,136,0,4,8,64,4,8,64,156,160,160,252,136,0,156,156,160,156,156,160 +,4,8,64,156,156,160,252,136,0,156,160,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,252,136,0,156,160,160 +,4,8,64,156,160,160,252,136,0,252,136,0,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,252,136,0,252,136,0,156,160,160 +,4,8,64,156,160,160,252,136,0,252,136,0,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,252,136,0,252,136,0,156,156,160 +,4,8,64,156,160,160,156,160,160,156,156,160,156,156,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,160,160,156,156,160,156,156,160,156,160,160 +,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,156,156,160,156,160,160,4,8,64 +}; +#endif diff --git a/Arduino/BabyTV_v1/imgBee1.c b/Arduino/BabyTV_v1/imgBee1.c new file mode 100644 index 0000000..f8d22f7 --- /dev/null +++ b/Arduino/BabyTV_v1/imgBee1.c @@ -0,0 +1,43 @@ +#ifndef IMG_BEE1 +#define IMG_BEE1 + +#include + +PROGMEM const byte bee1 [768] = { +4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,4,8,64,4,8,64,252,224,0,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,252,224,0,252,120,0,252,224,0,252,120,0,252,224,0,4,8,64,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,120,0,252,120,0,252,224,0,252,120,0,252,120,0,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,224,0,252,224,0,252,224,0,252,224,0,252,224,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,224,0,252,224,0,252,224,0,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,120,0,252,120,0,252,120,0,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,4,8,64,252,120,0,252,120,0,252,120,0,4,8,64,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,4,8,64,252,224,0,252,224,0,252,224,0,4,8,64,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,4,8,64,252,120,0,252,120,0,252,120,0,4,8,64,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,4,8,64,4,8,64,252,120,0,4,8,64,4,8,64,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; + +PROGMEM const byte bee2[768] = { +4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64,252,224,0,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,4,8,64,252,224,0,252,120,0,252,224,0,252,120,0,252,224,0,4,8,64,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,120,0,252,120,0,252,224,0,252,120,0,252,120,0,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,224,0,252,224,0,252,224,0,252,224,0,252,224,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,224,0,252,224,0,252,224,0,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,252,120,0,252,120,0,252,120,0,252,252,252,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64,252,120,0,252,120,0,252,120,0,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64,4,8,64 +,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,252,252,252,4,8,64,252,224,0,252,224,0,252,224,0,4,8,64,252,252,252,252,252,252,252,252,252,252,252,252,4,8,64 +,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64,4,8,64,252,120,0,252,120,0,252,120,0,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64 +,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64,4,8,64,4,8,64,252,120,0,4,8,64,4,8,64,4,8,64,252,252,252,252,252,252,252,252,252,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; +#endif diff --git a/Arduino/BabyTV_v1/imgFrog1.c b/Arduino/BabyTV_v1/imgFrog1.c new file mode 100644 index 0000000..7dc9973 --- /dev/null +++ b/Arduino/BabyTV_v1/imgFrog1.c @@ -0,0 +1,60 @@ +#ifndef IMG_FROG1 +#define IMG_FROG1 + +#include + +PROGMEM const byte frog1[768] = { + 4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,244,8,48,8,200,8,252,240,0,252,240,0,8,200,8,244,8,48,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,8,200,8,8,200,8,252,240,0,252,240,0,8,200,8,8,200,8,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,8,200,8,252,240,0,8,200,8,252,240,0,252,240,0,8,200,8,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,8,200,8,252,240,0,252,240,0,8,200,8,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; +PROGMEM const byte frog2[768] = { +4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,244,8,48,8,200,8,252,240,0,252,240,0,8,200,8,244,8,48,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,200,8,8,200,8,8,200,8,252,240,0,252,240,0,8,200,8,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,12,76,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,8,200,8,252,240,0,8,200,8,252,240,0,252,240,0,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,200,8,8,200,8,8,200,8,252,240,0,252,240,0,8,200,8,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,12,76,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,12,76,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; +PROGMEM const byte frog3[768] = { + 4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,244,8,48,8,200,8,252,240,0,252,240,0,8,200,8,244,8,48,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,8,200,8,8,200,8,252,240,0,252,240,0,8,200,8,8,200,8,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,12,76,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,252,240,0,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,4,8,64,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,252,240,0,8,200,8,252,240,0,252,240,0,252,240,0,252,240,0,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,8,200,8,252,240,0,8,200,8,252,240,0,252,240,0,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,12,76,8,200,8,8,200,8,8,200,8,252,240,0,252,240,0,8,200,8,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,12,76,8,200,8,4,8,64,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,8,12,76,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,8,200,8,8,200,8,4,8,64,8,12,76,4,8,64,8,12,76,8,12,76,4,8,64,8,12,76,4,8,64,8,200,8,8,200,8,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,8,200,8,4,8,64,8,12,76,8,12,76,8,12,76,4,8,64,8,12,76,8,12,76,4,8,64,8,200,8,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,12,76,8,12,76,4,8,64,4,8,64,8,12,76,8,12,76,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,8,12,76,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64,4,8,64 +}; +#endif \ No newline at end of file diff --git a/Arduino/BabyTV_v1/imgMario1.c b/Arduino/BabyTV_v1/imgMario1.c new file mode 100644 index 0000000..85ec0dd --- /dev/null +++ b/Arduino/BabyTV_v1/imgMario1.c @@ -0,0 +1,60 @@ +#ifndef IMG_MARIO1 +#define IMG_MARIO1 + +#include + +PROGMEM const byte mario1[768] = { +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,24,28,152,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,24,28,152,24,28,152,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,24,28,152,24,28,152,244,152,48,24,28,152,24,28,152,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,24,28,152,248,0,0,248,0,0,244,152,48,244,152,48,244,152,48,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,24,28,152,248,0,0,244,152,48,244,152,48,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,28,152,24,28,152,24,28,152,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; +PROGMEM const byte mario2[768] = { +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,24,28,152,248,0,0,248,0,0,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,244,152,48,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0 +,0,0,0,0,0,0,244,152,48,244,152,48,24,28,152,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,104,52,4,104,52,4,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,104,52,4,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,104,52,4,104,52,4,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; +PROGMEM const byte mario3[768] = { +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,244,152,48,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0 +,0,0,0,0,0,0,0,0,0,104,52,4,104,52,4,244,152,48,244,152,48,244,152,48,244,152,48,104,52,4,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,244,152,48,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,248,0,0,248,0,0,248,0,0,248,0,0,24,28,152,24,28,152,248,0,0,248,0,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,244,152,48,244,152,48,248,0,0,248,0,0,248,0,0,248,0,0,24,28,152,24,28,152,24,28,152,248,0,0,248,0,0,248,0,0,244,152,48,244,152,48,244,152,48,244,152,48 +,244,152,48,244,152,48,244,152,48,244,152,48,248,0,0,248,0,0,24,28,152,244,152,48,24,28,152,24,28,152,24,28,152,248,0,0,248,0,0,244,152,48,244,152,48,244,152,48 +,244,152,48,244,152,48,244,152,48,0,0,0,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,104,52,4,104,52,4,0,0,0 +,0,0,0,0,0,0,0,0,0,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,104,52,4,104,52,4,104,52,4,0,0,0 +,0,0,0,0,0,0,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,24,28,152,104,52,4,104,52,4,104,52,4,0,0,0 +,0,0,0,104,52,4,104,52,4,24,28,152,24,28,152,24,28,152,24,28,152,0,0,0,0,0,0,24,28,152,24,28,152,24,28,152,104,52,4,104,52,4,104,52,4,0,0,0 +,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,104,52,4,104,52,4,104,52,4,104,52,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; +#endif \ No newline at end of file diff --git a/Arduino/BabyTV_v1/imgMushroom1.c b/Arduino/BabyTV_v1/imgMushroom1.c new file mode 100644 index 0000000..c0ace20 --- /dev/null +++ b/Arduino/BabyTV_v1/imgMushroom1.c @@ -0,0 +1,41 @@ +#ifndef IMG_MUSHROOM1 +#define IMG_MUSHROOM1 + +#include +PROGMEM const byte mushroom1 [768] = { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,252,0,0,8,12,76,8,12,76,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,8,12,76,8,12,76,252,0,0,0,0,0,0,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,252,0,0,252,0,0,252,0,0,252,0,0,8,12,76,252,252,252,252,0,0,252,0,0,0,0,0,0,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,252,252,252,252,0,0,252,0,0,252,0,0,0,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,252,252,252,252,0,0,252,0,0,252,252,252,8,12,76,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,8,12,76,8,12,76,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,8,12,76,8,12,76,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,0,0,0 +,0,0,0,0,0,0,0,0,0,8,12,76,8,12,76,8,12,76,252,252,252,252,252,252,252,252,252,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,8,12,76,8,12,76,8,12,76,0,0,0,0,0,0,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,0,0,0,0,0,0 +}; +PROGMEM const byte mushroom2[768] = { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,252,0,0,8,12,76,8,12,76,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,8,12,76,8,12,76,252,0,0,0,0,0,0,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,252,0,0,252,0,0,252,0,0,252,0,0,8,12,76,252,252,252,252,0,0,252,0,0,0,0,0,0,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,252,252,252,252,0,0,252,0,0,252,0,0,0,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,8,12,76,252,252,252,252,0,0,252,0,0,252,252,252,8,12,76,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0 +,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0 +,0,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,0,0,252,0,0,252,0,0,252,0,0,0,0,0 +,0,0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,8,12,76,8,12,76,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,0,0,0,0,0,0,0,0,0,0,0,0 +,0,0,0,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,8,12,76,8,12,76,0,0,0,0,0,0,0,0,0 +,0,0,0,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,252,252,252,252,252,252,252,252,252,8,12,76,8,12,76,8,12,76,0,0,0,0,0,0,0,0,0 +,0,0,0,0,0,0,8,12,76,8,12,76,8,12,76,8,12,76,8,12,76,0,0,0,0,0,0,8,12,76,8,12,76,8,12,76,0,0,0,0,0,0,0,0,0,0,0,0 +}; +#endif \ No newline at end of file diff --git a/Schematics/BabyTV.pdf b/Schematics/BabyTV.pdf new file mode 100644 index 0000000..16247d1 Binary files /dev/null and b/Schematics/BabyTV.pdf differ diff --git a/images/BabyTV_Back.JPG b/images/BabyTV_Back.JPG new file mode 100755 index 0000000..79642a2 Binary files /dev/null and b/images/BabyTV_Back.JPG differ diff --git a/images/BabyTV_Electronics_Controls.JPG b/images/BabyTV_Electronics_Controls.JPG new file mode 100755 index 0000000..fb9bbc1 Binary files /dev/null and b/images/BabyTV_Electronics_Controls.JPG differ diff --git a/images/BabyTV_Electronics_Mainboard.JPG b/images/BabyTV_Electronics_Mainboard.JPG new file mode 100755 index 0000000..6554c38 Binary files /dev/null and b/images/BabyTV_Electronics_Mainboard.JPG differ diff --git a/images/BabyTV_Electronics_Overview.JPG b/images/BabyTV_Electronics_Overview.JPG new file mode 100755 index 0000000..61a36a6 Binary files /dev/null and b/images/BabyTV_Electronics_Overview.JPG differ diff --git a/images/BabyTV_Front.JPG b/images/BabyTV_Front.JPG new file mode 100755 index 0000000..1a0def3 Binary files /dev/null and b/images/BabyTV_Front.JPG differ diff --git a/images/BabyTV_Icon.JPG b/images/BabyTV_Icon.JPG new file mode 100755 index 0000000..1e145d1 Binary files /dev/null and b/images/BabyTV_Icon.JPG differ diff --git a/images/BabyTV_Knobs.JPG b/images/BabyTV_Knobs.JPG new file mode 100755 index 0000000..24a698c Binary files /dev/null and b/images/BabyTV_Knobs.JPG differ