Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <SD.h>
- #include "FastLED.h"
- #define NUM_LEDS 256
- #define DATA_PIN 22
- CRGB leds[NUM_LEDS];
- //#include "SdFat.h"
- //SdFat SD;
- const int chipSelect = 53;
- void setup() {
- FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
- FastLED.setBrightness(15);
- Serial.begin(115200);
- Serial.print("Initializing SD card...");
- if (!SD.begin(chipSelect)) {
- Serial.println("Card failed, or not present");
- return;
- }
- Serial.println("card initialized.");
- delay(1000);
- }
- void loop() {
- load_bmp("test.bmp");
- delay(1000);
- load_bmp("1.bmp");
- delay(1000);
- }
- void load_bmp(String img){
- int height = 0;
- int width = 0;
- int data = 0;
- int line = 0;
- int offset = 40;
- int i = 0;
- File dataFile = SD.open(img);
- if (dataFile) {
- while (dataFile.available()) {
- line++;
- data = dataFile.read();
- if (line == 11){
- offset = data;
- }
- if ((line >= 19) && (line <= 22)){
- width = (data + width);
- }
- if(line > offset){
- leds[i].b = data;
- line++;
- data = dataFile.read();
- leds[i].g = data;
- line++;
- data = dataFile.read();
- leds[i].r = data;
- line++;
- data = dataFile.read(); // Alpha data. Bruges ikke, så her gør vi ikke noget
- i++;
- FastLED.show();
- }
- }
- i = 0;
- height = ((line - offset) / 4 ) / width;
- dataFile.close();
- }
- else {
- Serial.print("error opening ");
- Serial.println(img);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement