Помогите разобраться новичку.
- Войдите на сайт для отправки комментариев
Предыстория:
Строю я крышку к аквариуму, в которой собрал 8 каналов белого (включать 1, затем 2, затем 3 и т.д. тем самым имитируя рассвет, и в обратном порядке выключая - закат). Так-же там собрал 4 RGB (12 каналов - для коррекции цвета, например "вечером" добавляя красного).
Итого у меня 20 каналов света, управляемые LDD-700h + 2 канала охлаждения, упраляемые MOSFETами.
Купил Arduino Mega 2560 и 2 шилда с PCA9685, таймер реального времени ("утром" подача "1" на один из входов Arduino, вечером "0") собрал все это.
Проблемка:
Неделю уже бъюсь над кодом, чтобы хотя-бы на нектороый процент PWM днем включать свет, ночью гасить, оставляя небольшой процент PWM.
Непосредственно на свои PWM Arduino выводить это я научился, а вот выводить это на PCA9685 никак.
Подскажите, пожалуйста что и где я не так делаю.
#include <Wire.h>
#include <HT_PCA9685.h>
int daypin = 14; // Таймер подключен к 14-му входу
int SunPin = 0; // Потенциометр подключен 0-му аналоговому входу
int MoonPin = 1; // Фоторезистор подключен 1-му аналоговому входу
int Sun = 0;// переменная для хранения значения входного напряжения
int Moon = 0;// переменная для хранения значения входного напряжения
int day = 0;
HT_PCA9685 pwm2 = HT_PCA9685(0x42);
HT_PCA9685 pwm1 = HT_PCA9685(0x41);
void setup() {
{ Serial.begin(9600);
pinMode(daypin, INPUT);
Wire.begin(); // Wire старт
}
{
pwm1.begin();
pwm1.PWMFreq(1000); // 1kHz
pwm2.begin();
pwm2.PWMFreq(1000); // 1kHz
}
}
void loop() {
{
day = digitalRead(daypin); // узнаём состояние кнопки
Moon = analogRead(MoonPin); // считываем значение с фоторезистора
Sun = analogRead(SunPin); // считываем значение с потенциометра
Serial.println("d");
Serial.println(Sun);
Serial.println(day);
delay(50);
Serial.println("n");
Serial.println(Moon);
Sun = Sun*4; // конвертируем из 0-1023 к 0-4096
Moon = Moon*4; // конвертируем из 0-1023 к 0-4096
}
{
if(day==HIGH)
{pwm1.PWM(0,Sun);
pwm1.PWM(1,Sun);
pwm1.PWM(2,Sun);
pwm1.PWM(3,Sun);
pwm1.PWM(4,Sun);
pwm1.PWM(5,Sun);
pwm1.PWM(6,Sun);
pwm1.PWM(7,Sun);
pwm1.PWM(8,Sun);
pwm1.PWM(9,Sun);
pwm1.PWM(10,Sun);
pwm1.PWM(11,Sun);
pwm1.PWM(12,Sun);
pwm1.PWM(13,Sun);
pwm1.PWM(14,Sun);
pwm1.PWM(15,Sun);
delay(100);}
else
{
pwm1.PWM(0,Moon);
pwm1.PWM(1,Moon);
pwm1.PWM(2,Moon);
pwm1.PWM(3,Moon);
pwm1.PWM(4,Moon);
pwm1.PWM(5,Moon);
pwm1.PWM(6,Moon);
pwm1.PWM(7,Moon);
pwm1.PWM(8,Moon);
pwm1.PWM(9,Moon);
pwm1.PWM(10,Moon);
pwm1.PWM(11,Moon);
pwm1.PWM(12,Moon);
pwm1.PWM(13,Moon);
pwm1.PWM(14,Moon);
pwm1.PWM(15,Moon);
delay(100);
}
delay(200);
}
}
Коменто типа: "говнокод", читай "ссылка" не надо. Читал я много статей, но для меня это темный лес, у меня лишь на опыте/примерах получается учиться.
Непосредственно на свои PWM Arduino выводить это я научился, а вот выводить это на PCA9685 никак. Для начала с его системой команд разобратся, там в библиотеке примеры есть какие-нибудь?
Вот тот пример полностью, переиграв котрый я пытаюсь написать:
А если закомментить с 24 по 26 строку, у вас после этого яркость изменяется?
Кстати http://www.nxp.com/documents/data_sheet/PCA9685.pdf , если с аглицким нормально.
Закоментить24
}
25
void loop() {
26
{ ?
Читал я это несколько раз, но не силен я в английском.
Пробовал его и гугл переводчиком - еще непонятнее.
Я строки из кода примера имел в виду, если с ним нормально работает.
Опаньки, а он сам по себе дает те-же результаты.
Работает лишь:
/***************** * This example demonstrates the library assuming that LEDs are connected to the outputs * It will run through all 16 LEDs turning them up and down in 10 steps. * The PCA9685 chip is assumed to have PINS A0,A1 and A2 grounded (LOW) and A3,A4 and A5 set to VCC (5V, HIGH) * * - kasper */ #include <Wire.h> #include <PCA9685.h> PCA9685 ledDriver; void setup() { Serial.begin(9600); // set up serial Serial.println("Serial Started"); Wire.begin(); // Wire must be started! ledDriver.begin(B111000); // Address pins A5-A0 set to B111000 ledDriver.init(); } void loop() { // Notice: setLEDDimmed cannot be used in a loop to give you a pleasant // "turning-up" of the LED. This is because each time you set a level for a LED // it will calculate random timing intervals for the PWM function in the chip // This is done in order to distribute current consumptions of the full time period. for(int level=5;level>=0;level--) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } for(int level=0;level<=5;level++) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } }Но в нем я мало догоняю, и менять под свои нужды в нем у меня не особо выходит.
Во втором градаций яркости очень мало получается. А по первой конструкции, пример тоже не работает?
В общем, я залил очередной пример, и у меня все выводы PCA9568 вышли в высокоимпедансное состояние, хотя до этого на них был "0", все поперепробовал - не знаю уже что делать
Ток даташит курить с библиотекой и пробовать, ну может еще кто связывался с этой радостью.
А не могли бы вы мне раскоментировать часть кода?
{ // Notice: setLEDDimmed cannot be used in a loop to give you a pleasant // "turning-up" of the LED. This is because each time you set a level for a LED // it will calculate random timing intervals for the PWM function in the chip // This is done in order to distribute current consumptions of the full time period. for(int level=5;level>=0;level--) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } for(int level=0;level<=5;level++) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } }{ // Notice: setLEDDimmed cannot be used in a loop to give you a pleasant // "turning-up" of the LED. This is because each time you set a level for a LED // it will calculate random timing intervals for the PWM function in the chip // This is done in order to distribute current consumptions of the full time period. for(int level=5;level>=0;level--) { //Уровень от 0 до 5 for(int i=0; i<16; i++) { //Выбор канала в цикле ledDriver.setLEDDimmed(i,level*20); //В канал i записать значение уровня * 20 (получается максимум 100знач) delay(100); //Задержка 0,1 секунды } } for(int level=0;level<=5;level++) { //Здесь аналогично, только в обратную сторону. for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } }И еще смешной вопрос, вы I2C адреса своих мелкосхем проверяли? Откуда 0х41 и 0х42 ?
:) Этот момент я еще 4 дня назад победил.
0х41 и 0х41 получены путем установки перемычек на платы.
проверял осцилографом на SDA:
когда ставлю адрес 0х40 - есть лишь короткая серия запроса от Arduino
Когда ставлю 0х41 и 0х42 - идет постоянное общение длинными сериями между Arduino и PCA9685.
К слову:
Спасибо Вам за раскоментированный код, я сильно продвинулся, мне удалось заставить реагировать на "Sun" (см.код) один канал на PCA9685.
Сейчас допишу на все каналы и могу сюда сбросить.
:) Этот момент я еще 4 дня назад победил.
0х41 и 0х41 получены путем установки перемычек на платы.
проверял осцилографом на SDA:
когда ставлю адрес 0х40 - есть лишь короткая серия запроса от Arduino
Когда ставлю 0х41 и 0х42 - идет постоянное общение длинными сериями между Arduino и PCA9685.
К слову:
Спасибо Вам за раскоментированный код, я сильно продвинулся, мне удалось заставить реагировать на "Sun" (см.код) один канал на PCA9685.
Сейчас допишу на все каналы и могу сюда сбросить.
Сложным вы однако путем шли, есть такая вещь, зовется I2C сканер. Заливаете код в дуину, он вам выдает адреса всех подключенных устройств. Вопрос возник от того, что по магической цифре B111000 у меня получается 0х38, а есть подозрения что это адрес.((((
На шильде PCA9685 впаивается до 6ти перемычек, задающие ее адрес. "В111000" - это равносильно перевычкам "111000" я же впаял перемычки "000001" и "000010". - Все постигнуто опытным путем.
Заработала одна плата PCA9685 вот так:
#include <Wire.h> #include <PCA9685.h> int daypin = 14; // Таймер подключен к 14-му входу int SunPin = 0; // Потенциометр подключен 0-му аналоговому входу int MoonPin = 1; // Фоторезистор подключен 1-му аналоговому входу int Sun = 0;// переменная для хранения значения входного напряжения int Moon = 0;// переменная для хранения значения входного напряжения int day = 0; PCA9685 ledDriver; void setup() { Serial.begin(9600); // set up serial Serial.println("Serial Started"); pinMode(daypin, INPUT); Wire.begin(); // Wire must be started! ledDriver.begin(B000001); // Address pins A5-A0 set to B111000 ledDriver.init(); } void loop() { { day = digitalRead(daypin); // узнаём состояние кнопки Moon = analogRead(MoonPin); // считываем значение с фоторезистора Sun = analogRead(SunPin); // считываем значение с потенциометра Serial.println("d"); Serial.println(Sun); Serial.println(day); delay(50); Serial.println("n"); Serial.println(Moon); Sun = Sun*4; // конвертируем из 0-1023 к 0-4096 Moon = Moon*4; // конвертируем из 0-1023 к 0-4096 } { if(day==HIGH) { ledDriver.setLEDDimmed(0,Sun); ledDriver.setLEDDimmed(1,Sun); ledDriver.setLEDDimmed(2,Sun); ledDriver.setLEDDimmed(3,Sun); ledDriver.setLEDDimmed(4,Sun); ledDriver.setLEDDimmed(5,Sun); ledDriver.setLEDDimmed(6,Sun); ledDriver.setLEDDimmed(7,Sun); ledDriver.setLEDDimmed(8,Sun); ledDriver.setLEDDimmed(9,Sun); ledDriver.setLEDDimmed(10,Sun); ledDriver.setLEDDimmed(11,Sun); ledDriver.setLEDDimmed(12,Sun); ledDriver.setLEDDimmed(13,Sun); ledDriver.setLEDDimmed(14,Sun); ledDriver.setLEDDimmed(15,Sun); delay(100); } else { ledDriver.setLEDDimmed(0,Moon); ledDriver.setLEDDimmed(1,Moon); ledDriver.setLEDDimmed(2,Moon); ledDriver.setLEDDimmed(3,Moon); ledDriver.setLEDDimmed(4,Moon); ledDriver.setLEDDimmed(5,Moon); ledDriver.setLEDDimmed(6,Moon); ledDriver.setLEDDimmed(7,Moon); ledDriver.setLEDDimmed(8,Moon); ledDriver.setLEDDimmed(9,Moon); ledDriver.setLEDDimmed(10,Moon); ledDriver.setLEDDimmed(11,Moon); ledDriver.setLEDDimmed(12,Moon); ledDriver.setLEDDimmed(13,Moon); ledDriver.setLEDDimmed(14,Moon); ledDriver.setLEDDimmed(15,Moon); delay(100); } delay(200); } }И работают плавно на всю длину потенциометра?
То плавно, то подергивают. Но я считаю это косяком старого Б/У потенциометра, так-как монитор порта тоже не очень ровно меняет цифры цифры, когда кручу потенциометр.
Не подскажите, как проще и правильнее в вышеуказанный код вторую PCA9685 плату вписать либо расширить пины с 0...15 до 0...31?
Для проверки, возьмите ваш начальный пример и измените в цикле level с 0 до 4096. вывод просто level ,без умножений. Была ведь причина, что значение только до 100 принимается, а это 2,5% от вашей шкалы.
По второму вопросу не помогу, не настолько опыт велик.
Не очень понял методику проверки. Для меня оказалось проще посмотреть плавность изменения PWM с помощью осцилографа.
Изменения PWM идут через 400мс но вполне точно, под изменение напряжения на а0/а1 (в зависимости от состояния D14).
Спасибо большое за совет.
/***************** * This example demonstrates the library assuming that LEDs are connected to the outputs * It will run through all 16 LEDs turning them up and down in 10 steps. * The PCA9685 chip is assumed to have PINS A0,A1 and A2 grounded (LOW) and A3,A4 and A5 set to VCC (5V, HIGH) * * - kasper */ #include <Wire.h> #include <PCA9685.h> PCA9685 ledDriver; void setup() { Serial.begin(9600); // set up serial Serial.println("Serial Started"); Wire.begin(); // Wire must be started! ledDriver.begin(B111000); // Address pins A5-A0 set to B111000 ledDriver.init(); } void loop() { // Notice: setLEDDimmed cannot be used in a loop to give you a pleasant // "turning-up" of the LED. This is because each time you set a level for a LED // it will calculate random timing intervals for the PWM function in the chip // This is done in order to distribute current consumptions of the full time period. for(int level=4000;level>=0;level--) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level); Serial.println(level,DEC) delay(10); } } }Имел в виду вот это.
Все работало без видимых глюков, при подключении светодиодов, для тестов непосредственно к pca9685. При подключении pca9685 к ldd700 (pwm драйверам светодиодов) выяснилось:
- Необходимо инвертировать сигнал с pca9685 - кто может подсказать как?
- Ldd700 не совсем адекватно воспринимают pwm: 870 и более диоды погашены.
867 - минимальная яркость диодов. 830 и менее - практически полная яркость диодов.
- диоды горят со вспышками, при каждом цикле loop.
подозревал о связи вспышек с моментами
Serial.println("d");31Serial.println(Sun);32Serial.println(day);33delay(50);34Serial.println("n");выключил serial вообще - не помогает.
Для начала попробуйте корректность работы ldd от обычного ШИМ ардуины без промежуточных узлов. Если все корректно, пробовать экспериментировать с предделителем на 9685. Не 4096, а 2048, 1024 и ниже. Потом уже с инверсией и вспышками разбиратся.
Я не очень понимаю в каком месте меняется настройка: "экспериментировать с предделителем на 9685. Не 4096, а 2048, 1024 и ниже."
На этом месте подробнее не опишете?
Обманул, похоже не меняются они. Могу только посоветовать даташит курить и экспериментировать, я такого зверя в руках не держал, может кто то юзал, посоветует чего. Ну и драйвера проверьте все таки на корректность работы с ШИМ. Все бывает.
А не могли бы вы мне раскоментировать часть кода?
{ // Notice: setLEDDimmed cannot be used in a loop to give you a pleasant // "turning-up" of the LED. This is because each time you set a level for a LED // it will calculate random timing intervals for the PWM function in the chip // This is done in order to distribute current consumptions of the full time period. for(int level=5;level>=0;level--) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } for(int level=0;level<=5;level++) { for(int i=0; i<16; i++) { ledDriver.setLEDDimmed(i,level*20); delay(100); } } }По предделителю этот пример навел на размышления. Здесь максимальное значение 100 из 4096 возможных, теоретически вообще не должно светить или еле видно в темноте. А у вас вроде нормально работало????
Я извеняюсь за, вероятно глупый вопрос. Как редактировать библиотеки/драйвера?
я пытался блокнотом - не прокатывает, получается лишь читать.
Целый день пытаюсь вникнуть в суть библиотеки, примерно понимаю, но как это применять?...
Не раскоментируете по русски и понятно для новичка?
/* PCA9685 LED library for Arduino Copyright (C) 2012 Kasper Skårhøj <kasperskaarhoj@gmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "PCA9685.h" PCA9685::PCA9685() {} void PCA9685::begin(int i2cAddress) { _i2cAddress = PCA9685_I2C_BASE_ADDRESS | (i2cAddress & B00111111); } bool PCA9685::init() { delay(1); writeRegister(PCA9685_MODE1, (byte)0x01); // reset the device delay(1); bool isOnline; if (readRegister(PCA9685_MODE1)==0x01) { isOnline = true; } else { isOnline = false; } writeRegister(PCA9685_MODE1, (byte)B10100000); // set up for auto increment writeRegister(PCA9685_MODE2, (byte)0x10); // set to output return isOnline; } void PCA9685::setLEDOn(int ledNumber) { writeLED(ledNumber, 0x1000, 0); } void PCA9685::setLEDOff(int ledNumber) { writeLED(ledNumber, 0, 0x1000); } void PCA9685::setLEDDimmed(int ledNumber, byte amount) { // Amount from 0-100 (off-on) if (amount==0) { setLEDOff(ledNumber); } else if (amount>=100) { setLEDOn(ledNumber); } else { int randNumber = (int)random(4096); // Randomize the phaseshift to distribute load. Good idea? Hope so. writeLED(ledNumber, randNumber, (int)(amount*41+randNumber) & 0xFFF); } } void PCA9685::writeLED(int ledNumber, word LED_ON, word LED_OFF) { // LED_ON and LED_OFF are 12bit values (0-4095); ledNumber is 0-15 if (ledNumber >=0 && ledNumber <= 15) { Wire.beginTransmission(_i2cAddress); Wire.write(PCA9685_LED0 + 4*ledNumber); Wire.write(lowByte(LED_ON)); Wire.write(highByte(LED_ON)); Wire.write(lowByte(LED_OFF)); Wire.write(highByte(LED_OFF)); Wire.endTransmission(); } } //PRIVATE void PCA9685::writeRegister(int regAddress, byte data) { Wire.beginTransmission(_i2cAddress); Wire.write(regAddress); Wire.write(data); Wire.endTransmission(); } word PCA9685::readRegister(int regAddress) { word returnword = 0x00; Wire.beginTransmission(_i2cAddress); Wire.write(regAddress); Wire.endTransmission(); Wire.requestFrom((int)_i2cAddress, 1); // int c=0; //Wait for our 2 bytes to become available while (Wire.available()) { //high byte // if (c==0) { returnword = Wire.read() << 8; } //low byte // if (c==1) { returnword |= Wire.read(); //} //c++; } return returnword; }В результате скетч получается такой:
//#include <ve_avr.h> #include <Wire.h> // Библиотека I2C #include <PCA9685.h> // Бибилиотека регистров int daypin = 14; // Таймер подключен к 14-му входу int SunPin = 0; // Потенциометр подключен 0-му аналоговому входу int MoonPin = 1; // Фоторезистор подключен 1-му аналоговому входу int Sun = 0;// переменная для хранения значения входного напряжения int Moon = 0;// переменная для хранения значения входного напряжения int day = HIGH; volatile int state = LOW; PCA9685 ledDriver1; PCA9685 ledDriver2; void setup() { Serial.begin(9600); // set up serial Serial.println("Serial Started"); pinMode(daypin, INPUT_PULLUP); Wire.begin(); // Старт I2C ledDriver1.begin(B000001); ledDriver1.init(); ledDriver2.begin(B000010); ledDriver2.init(); // attachInterrupt(0, uint8_t, LOW); // привязываем 0-е прерывание к функции } void loop() { { day = digitalRead(daypin); // узнаём состояние кнопки Moon = analogRead(MoonPin); // считываем значение с фоторезистора Sun = analogRead(SunPin); // считываем значение с потенциометра Serial.println("d"); Serial.println(Sun); Serial.println(day); delay(50); Serial.println("n"); Serial.println(Moon); //Sun = Sun * 4; // конвертируем из 0-1023 к 0-4096 //Moon = Moon * 4; // конвертируем из 0-1023 к 0-4096 } { if (day == HIGH) { { ledDriver2.writeLED(0, 1023, 1023 - Sun); //белый, центр delay(50); ledDriver2.writeLED(1, 1023, 1023 - Sun); //белый 1 - delay(50); ledDriver2.writeLED(2, 1023, 1023 - Sun); //белый 2 delay(50); ledDriver2.writeLED(3, 1023, 1023 - Sun); //белый 3 - delay(50); ledDriver2.writeLED(4, 1023, 1023 - Sun); //белый 4 delay(50); ledDriver2.writeLED(5, 1023, 1023 - Sun); //белый 5 delay(50); ledDriver2.writeLED(6, 1023, 1023 - Sun); //белый 6 delay(50); ledDriver2.writeLED(7, 1023, 1023 - Sun); //белый 7 delay(50); // ledDriver2.setLEDDimmed(8,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(9,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(10,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(11,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(12,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(13,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(14,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(15,1023); // не используется //delay(100); } { ledDriver1.writeLED(0, 1023, 1018); // синий 1 delay(50); ledDriver1.writeLED(1, 1023, 1018); // зеленый 1 delay(50); ledDriver1.writeLED(2, 1023, 1022); // красный 1 delay(50); ledDriver1.writeLED(3, 1023, 1018); // синий 2 delay(50); ledDriver1.writeLED(4, 1023, 1018); // зеленый 2 delay(50); ledDriver1.writeLED(5, 1023, 1022); // красный 2 delay(50); ledDriver1.writeLED(6, 1023, 1018); // синий 3 delay(50); ledDriver1.writeLED(7, 1023, 1018); // зеленый 3 delay(50); ledDriver1.writeLED(8, 1023, 1022); // красный 3 delay(50); ledDriver1.writeLED(9, 1023, 1018); // синий 4 delay(50); ledDriver1.writeLED(10, 1023, 1018); // зеленый 4 - delay(50); ledDriver1.writeLED(11, 1023, 1022); // красный 4 //delay(500); //ledDriver1.setLEDDimmed(12,1023); //delay(50); //ledDriver1.setLEDDimmed(13,1023); //delay(50); //ledDriver1.setLEDDimmed(14,1023); //delay(50); //ledDriver1.setLEDDimmed(15,1023); //delay(100); } } else { { ledDriver2.writeLED(0, 1023, 1010); //белый, центр delay(50); ledDriver2.setLEDDimmed(1, 1023); //белый 1 - delay(50); ledDriver2.setLEDDimmed(2, 1023); //белый 2 delay(50); ledDriver2.setLEDDimmed(3, 1023); //белый 3 - delay(50); ledDriver2.setLEDDimmed(4, 1023); //белый 4 delay(50); ledDriver2.setLEDDimmed(5, 1023); //белый 5 delay(50); ledDriver2.setLEDDimmed(6, 1023); //белый 6 delay(50); ledDriver2.setLEDDimmed(7, 1023); //белый 7 delay(50); // ledDriver2.setLEDDimmed(8,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(9,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(10,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(11,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(12,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(13,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(14,1023); // не используется //delay(50); //ledDriver2.setLEDDimmed(15,1023); // не используется //delay(100); } { ledDriver1.writeLED(0, 1023, 1018); // синий 1 delay(50); ledDriver1.writeLED(1, 1023, 1018); // зеленый 1 delay(50); ledDriver1.writeLED(2, 1023, 1022); // красный 1 delay(50); ledDriver1.writeLED(3, 1023, 1018); // синий 2 delay(50); ledDriver1.writeLED(4, 1023, 1018); // зеленый 2 delay(50); ledDriver1.writeLED(5, 1023, 1022); // красный 2 delay(50); ledDriver1.writeLED(6, 1023, 1018); // синий 3 delay(50); ledDriver1.writeLED(7, 1023, 1018); // зеленый 3 delay(50); ledDriver1.writeLED(8, 1023, 1022); // красный 3 delay(50); ledDriver1.writeLED(9, 1023, 1018); // синий 4 delay(50); ledDriver1.writeLED(10, 1023, 1018); // зеленый 4 - delay(50); ledDriver1.writeLED(11, 1023, 1022); // красный 4 //delay(500); //ledDriver1.setLEDDimmed(12,1023); //delay(50); //ledDriver1.setLEDDimmed(13,1023); //delay(50); //ledDriver1.setLEDDimmed(14,1023); //delay(50); //ledDriver1.setLEDDimmed(15,1023); //delay(100); } } delay(100); } }Из "проблем" осталось лишь "перемигивание" со "скоростью delay(50)" всех каналов светодиодов.
Как я понимаю, необходимо пристроить сюда прерывание. Но вот оно то мне и не дается.
Может кто-нибудь подскажет КАК и в какое место тут пожно пристроить прерывание?
Так а эти delay с какой целью у вас вставлены?
Лишь для визуального эфекта, при включении, при моем продвижении в понимании языка написания планируется их замена на функции типа "fade".
На этапе сейчас я могу их и закоментить.
http://notepad-plus-plus.org/
http://notepad-plus-plus.org/
Спасибо.
По вопросу #28 нет мыслей?
Лишь для визуального эфекта, при включении, при моем продвижении в понимании языка написания планируется их замена на функции типа "fade".
На этапе сейчас я могу их и закоментить.
Сейчас у вас получается, что с интервалом delay последовательно включаются каналы. Что вы хотите делать с помощью прерывания, тайна покрытая мраком))). Прерывание предназначено для обработки какого то события с приоритетом более высоким чем у основной программы.
я с этой микросхемой не работал. но если учитывать правильное подключение и рабочую либу то действительно непонятно зачем кучу delay воткнул. без этого не работает?
и нафига столько лишних скобок
то что день узнаешь с кнопки? то есть не в автоматическом режиме
Если интересно можете посмотреть http://arduino.ru/forum/proekty/groekt-dlya-akvariuma-akvakontroller-dly...
Там тоже человек освещение для банки делает. Правда схема попроще. Сейчас причесывает.
delay воткнуты лишь для визуального эфекта, ввиду неумения написать типа fade под эти каналы.
Скобок "понавтыкал" по причине неопытности.
прерыванием я надеюсь остановить "перемигивание" каналов - каждый канал дает вспышку в момент когда "ардуина" задает его яркость, а она это делает по кругу.
(Заранее извиняюсь за корявое описание)
ledDriver2.writeLED(0, 1023, 1023 - Sun);
А что у вас делают магические цифры 2-й и 3-й номер? и какие у них рабочие пределы min-max?
0, - номер канала.
1023, - Х.З. но, при изменении яркость меняется по пока непонятному мне алгоритму.
1023 - Sun - яркость канала в зависимости от Sun (в инверсии). То есть "0" - выходит полная яркость, 1023 - Канал погашен.
Здравствуйте помогите разобраться пожалуйста.
Имею вот такой код нужно понять что за что отвечает в англиском не силен (переводчик непомогает) :
#include <avr/pgmspace.h> / //Bild_01 (Globus) PROGMEM prog_uchar bild_01[] = { B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, ...... B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000 }; //Bild_02 (Points) PROGMEM prog_uchar bild_02[] = { B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, ... B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000 }; //Bild_03 (RGB-Net) PROGMEM prog_uchar bild_03[] = { B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, .... B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000 }; //############################################################################################################################################################ //Definitionen und Variablen # //############################################################################################################################################################ //Definition der Ausgangspins am µ-Controller #define latchPin 10 // Latch-Pin #define PIN_SCK 13 // SPI Clock #define PIN_MISO 12 // SPI Dateneingang #define PIN_MOSI 11 // SPI Datenausgang #define debug_pin 8 // LED an Pin 8 zum Debuggen #define LS_Pin 3 // Lichtschranke #define N_O_S 200 // Anzahl Sektoren #define v_offset 3 // Rotationsgeschwindigkeit des dargestellten Bildes #define TOL 20 // Toleranz unsigned long sector_time = 20; // Sektorzeit in µs unsigned int counter = 0; // zählt später wieviele Sektoren wärend einer Umdrehung "geschaft" wurden unsigned int pointer = 0; // zeigt später auf die richtige Stelle im Programmspeicher unsigned int offset = 0; // Offset zum Pointer, der für die Drehung des Bildes sorgt volatile byte LS = 0; // Austauschvariable zwischen Main-Prozedur und Interrupt-Service-Routine (LS = Licht-Schranke) byte mode = 1; // Modus unsigned long end_time = 0; // Endzeit eines Modus byte flag = 0; //############################################################################################################################################################ //Setup - Prozedur # //############################################################################################################################################################ void setup() { // Pins auf Ein- oder Ausgang stellen und einen Startwert zuweisen pinMode(latchPin, OUTPUT); pinMode(PIN_SCK, OUTPUT); pinMode(PIN_MOSI, OUTPUT); pinMode(debug_pin, OUTPUT); pinMode(PIN_MISO, INPUT); pinMode(LS_Pin, INPUT); digitalWrite(latchPin, LOW); digitalWrite(PIN_SCK, LOW); digitalWrite(PIN_MOSI, LOW); digitalWrite(debug_pin, LOW); digitalWrite(PIN_MISO, HIGH); // Internen Pull-Up-Widerstand aktivieren digitalWrite(LS_Pin, HIGH); // Internen Pull-Up-Widerstand aktivieren //SPI Komunikation vorbereiten SPCR = B01010000; //SPI Control Register (SPCR) // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | // | SPIE | SPE | DORD | MSTR | CPOL | CPHA | SPR1 | SPR0 | // SPIE - Enables the SPI interrupt when 1 // SPE - Enables the SPI when 1 // DORD - Sends data least Significant Bit First when 1, most Significant Bit first when 0 // MSTR - Sets the Arduino in master mode when 1, slave mode when 0 // CPOL - Sets the data clock to be idle when high if set to 1, idle when low if set to 0 // CPHA - Samples data on the falling edge of the data clock when 1, rising edge when 0 //SPR1 and SPR0 - Sets the SPI speed, 00 is fastest (4MHz) 11 is slowest (250KHz) SPSR = B00000000; //SPI Status Register auf 0 setzen //Alle LEDs aus all_leds_off(); digitalWrite(debug_pin, HIGH); // Warten bis Motor Nenndrehzahl erreicht hat for (byte a=0; a<50; a++) { while (digitalRead(LS_Pin) == HIGH) {delayMicroseconds(1);} delay(20); } digitalWrite(debug_pin, LOW); end_time = millis() + (random(10,20) * 1000); mode = 1; //Interrupt vorbereiten attachInterrupt(1, Erkenne_Flanke, FALLING); } //############################################################################################################################################################ //Hauptprogramm # //############################################################################################################################################################ void loop() { LS = 0; if (flag == 0) { if (counter < (N_O_S)) {sector_time--;} if (counter > (N_O_S)) {sector_time++;} } if (counter == N_O_S) {flag = 1;} if ((counter < (N_O_S - TOL)) || (counter > (N_O_S + TOL))) {flag = 0;} if (end_time < millis()) { end_time = millis() + (random(10,20) * 1000); flag=0; mode++; if (mode == 4) {mode = 1;} } counter = 0; if (offset > (N_O_S - 1)) {offset = 0;} EnableSPI(); while (LS == 0) { if (counter < N_O_S) {pointer = counter;} else {pointer = N_O_S - 1;} pointer = pointer + offset; if (pointer > (N_O_S - 1)) {pointer = pointer - N_O_S;} pointer = pointer * 15; digitalWrite(latchPin, LOW); // LatchPin erden, damit LEDs nicht schon beim "Durchschieben" blinken switch (mode) { case 1: for (int l=0; l<15; l++){SendRecSPI(pgm_read_byte_near(bild_01 + pointer + l));} // 15 Byte für SR#15 bis SR#1 rausschieben break; case 2: for (int l=0; l<15; l++){SendRecSPI(pgm_read_byte_near(bild_02 + pointer + l));} // 15 Byte für SR#15 bis SR#1 rausschieben break; case 3: for (int l=0; l<15; l++){SendRecSPI(pgm_read_byte_near(bild_03 + pointer + l));} // 15 Byte für SR#15 bis SR#1 rausschieben break; } digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren counter++; unsigned long end_micros = micros() + sector_time; while ((micros() < end_micros) && (LS == 0)) {} // Warten bis Sektorzeit vorüber ist } DisableSPI(); offset = offset + v_offset; } //############################################################################################################################################################ //Interrupt-Service-Routine # //############################################################################################################################################################ void Erkenne_Flanke(void) { LS = 1; } //############################################################################################################################################################ //Hilfsfunktion zum Aussschalten aller LEDs # //############################################################################################################################################################ void all_leds_off(void) { EnableSPI(); digitalWrite(latchPin, LOW); // LatchPin erden, damit LEDs nicht schon beim "Durchschieben" blinken for (int l=0; l<15; l++){SendRecSPI(0);} // 15 Byte für SR#15 bis SR#1 rausschieben digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren DisableSPI(); } //############################################################################################################################################################ // Prozeduren für die SPI # //############################################################################################################################################################ void EnableSPI(void) {SPCR |= 1 << SPE;} void DisableSPI(void) {SPCR &= ~(1 << SPE);} void WaitSPIF(void) {while (! (SPSR & (1 << SPIF))) {continue;}} void SendRecSPI(byte Dbyte) { SPDR = Dbyte; WaitSPIF(); //return SPDR; //Schiebregister schicken nichts zurück } //############################################################################################################################################################ //############################################################################################################################################################ //############################################################################################################################################################А свернуть эту жуть, ну совсем никак?
А что, прочитать и вникнуть слабо?
Всего то 814 строк...
Ребят начальство купило глобус просит разобраться как изменить какой либо эфект на их надпись и сменить продолжительность эфекта.
Помогите пожалуста
а как вы вытащили код с МК??
и тут не в английском надо соображать,а в немецком=))комметарии в скетче на немецком,если не ошибаюсь...переведите их,может что и прояснится..
для меня вообще понятие глобус,эта та круглая штука,что стояла на шкафу в кабинете географии и которую мы брали вместо баскетбольного мяча,когда учитель выходила из класса=))и как там в нем мог оказаться подобный код я никак не пойму..
в англиском не силен (переводчик не помогает) :
.....немецкий там :)
эффекты-картинки-Bild_01 (Globus) - в массивах , время-скорость - кажися в
047
unsignedlongsector_time = 20;// Sektorzeit in µsпохоже на персистенцию.... поищите "VisionWand" , похожая штука....или на табло с бегущей картинкой.....дайте хоть фотку этого чЮда :)http://www.instructables.com/id/Persistence-of-Vision-Wand/
массив PROGMEM prog_uchar bild_01[] - дайте сюда полностью, а можно и все три картинки
только при вставке кода в допЗакладке ставьте галочку СВЕРНУТЬ КОД !
судя по всему скетч полный,я и сам не мог понять где картинка,но видимо это все что есть
//############################################################################################################################################################ //Externe Bibliotheken einbinden # //############################################################################################################################################################ #include <avr/pgmspace.h> //############################################################################################################################################################ //Programmspeicher beschreiben # //############################################################################################################################################################ //Bild_01 (Globus) PROGMEM prog_uchar bild_01[] = { B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000010, B10101010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B10000010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B10000010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B10100010, B10101000, B00000000, B00000000, B00000010, B10000010, B10000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000010, B10100010, B10101010, B00000000, B00000000, B00000010, B00000010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00001010, B10100010, B10101010, B10100000, B00000000, B00000010, B00000010, B10000000, B10000000, B00000000, B00001000, B00000000, B00000000, B00100000, B00000000, B00001010, B10100010, B10101010, B10100000, B00000000, B00000000, B00000010, B10000000, B10100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001010, B10100010, B10101010, B10100000, B00000000, B00000000, B00000010, B10000000, B10100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00101010, B10100010, B10101010, B10100000, B00000000, B00000000, B00000010, B10000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00101010, B10100010, B10101010, B10100000, B00000000, B00000000, B00000010, B10000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00101010, B10100010, B10101010, B10101000, B00000000, B00000000, B00000010, B10000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00001000, B00000000, B00101010, B10100010, B10101010, B10101000, B00000000, B00001000, B00000010, B10000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00001000, B00000000, B00101010, B10100010, B10101010, B10101000, B00000000, B00001000, B00000010, B10100000, B10100000, B00000000, B00100000, B00000000, B00000000, B00001000, B00000000, B00101110, B10100010, B10101010, B10100000, B00000000, B00000010, B00000010, B10000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00101110, B10100010, B10101010, B10100000, B00000000, B00000000, B00000010, B00000000, B10100000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00101111, B10100010, B10101010, B10000000, B00000000, B00000000, B00000010, B00000000, B10000000, B00000000, B00100001, B00000000, B00000000, B00000000, B00000000, B00101111, B10100010, B10101010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00100001, B00000000, B00000000, B00000000, B00000000, B00001111, B10100010, B10101010, B10000000, B00000000, B00000000, B00000010, B10000000, B10000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00001111, B10101000, B10101010, B00000000, B00000000, B00000000, B00000000, B10000010, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00001111, B10101000, B10101010, B00000000, B00000000, B00000000, B00001000, B10001010, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00001111, B10101000, B00101000, B00000000, B00000000, B00000000, B00001000, B00100000, B00000000, B00000000, B00000001, B00000000, B00001000, B00000000, B00000000, B00001111, B10101010, B00100000, B10100000, B00000000, B00000000, B00001010, B00100000, B00000000, B00000000, B00001001, B00000000, B00000000, B10100000, B00000000, B00001111, B10101010, B00100000, B10100000, B00000000, B00000000, B00001010, B00100000, B00000000, B00000000, B00001001, B00000000, B00000000, B00000000, B00000000, B00001111, B10101010, B10000010, B10100000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00000001, B00000000, B00000010, B00100000, B00000000, B00101111, B10101010, B10000010, B10000000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00100001, B00000000, B00000010, B00000000, B00000000, B00101111, B10101010, B10000010, B10000000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00100000, B00000000, B00000010, B10000000, B00000000, B00001111, B10101010, B10000000, B00000000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B10101010, B00000000, B00000000, B00000000, B00000000, B00001010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11100010, B00000000, B00000000, B00000000, B00000000, B00101010, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00001111, B11100010, B00000000, B00000000, B00000000, B00000000, B00101010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100010, B00000000, B00000000, B00000000, B00000000, B00101010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100010, B00000000, B00000000, B00000000, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00011111, B11100010, B00000000, B00000000, B00000000, B00000000, B00111000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00011111, B11100010, B00000000, B00000000, B00000000, B00000000, B10111000, B00000000, B00000000, B00000000, B00100000, B00000010, B00000000, B00000000, B00000000, B00111111, B11010010, B00000000, B00000000, B00000000, B00000000, B00111000, B00000000, B00000000, B00000000, B00100000, B00000010, B00000000, B00000000, B00000000, B00111111, B11010010, B00000000, B00000000, B00000000, B00000000, B01111100, B00000000, B00000000, B00000000, B00100000, B00000010, B00000000, B00000000, B00000000, B00111111, B11010010, B00000000, B00000000, B00000000, B00000000, B01111100, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00111111, B11011010, B00000000, B00000000, B00000000, B00010000, B01111100, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00011111, B11111010, B00000000, B00000000, B00000000, B00010000, B01111100, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00011111, B11110110, B10000000, B00000000, B00000000, B00010000, B00111110, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111110, B10000000, B00000000, B00000000, B00000000, B00011101, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00101111, B11111110, B10100000, B00000000, B00000000, B00000100, B00011101, B10000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00101111, B11111110, B10100000, B00000000, B00000000, B00000100, B00111101, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00111111, B11111110, B10100000, B00000000, B00000000, B00010100, B00111111, B00000000, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00000000, B00111111, B11111111, B10000000, B00000000, B00000000, B00010000, B00101111, B00000000, B00000000, B00000000, B00100000, B00000000, B10000000, B00000000, B00000000, B00111111, B11111111, B01000000, B00000000, B00000000, B00010000, B00101111, B00000000, B00000000, B00000000, B00100000, B00000000, B01000000, B00000000, B00000000, B00111111, B11111111, B01000000, B00000000, B00000000, B00010000, B00101010, B00000000, B00000000, B00000000, B00100000, B00000101, B01000000, B00000000, B00000000, B00111111, B11111010, B01000000, B00000000, B00000000, B00010000, B00101010, B00000000, B00000000, B00000000, B00100000, B00000000, B01000000, B00000000, B00000000, B00111111, B11111010, B01000000, B00000000, B00000000, B00010000, B00101010, B00000000, B00000000, B00000000, B00100000, B00000000, B01000000, B00000000, B00000000, B00111111, B11111010, B01000000, B00000000, B00000000, B00010000, B00101010, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00111110, B11111010, B01000000, B00000000, B00000000, B00010000, B00101010, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00111110, B11111010, B10000000, B00000000, B00000000, B00010000, B00101000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00111010, B11111110, B10100000, B00000000, B00000000, B00010000, B10101000, B00000000, B00000000, B00000000, B00000101, B00000100, B00000000, B00000000, B00000000, B00111010, B11111110, B10110000, B00000000, B00000000, B00010000, B00101000, B00000000, B00000000, B00000000, B00000101, B00000000, B00010000, B00000000, B00000000, B00111111, B11111110, B10110100, B00000000, B00000000, B00000000, B00101000, B00000000, B00000000, B00000000, B00010000, B00000100, B00000100, B00000000, B00000000, B00101111, B11111010, B10111100, B00000000, B00000000, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00101111, B11111010, B10111100, B00000000, B00000000, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00101111, B11111010, B11111101, B00000001, B00000000, B00000000, B10101000, B00000000, B00000000, B00000000, B00000000, B00010000, B00100000, B00000000, B00000000, B00101111, B11101010, B11011101, B01000101, B00000000, B00000000, B10101000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B01000000, B00000000, B00101111, B11101010, B11011101, B01010101, B00000000, B00000000, B10100000, B00000000, B01010100, B00000000, B00100000, B00000000, B10000000, B00000000, B00000000, B00101111, B11101010, B01111101, B01010101, B00000000, B00000000, B10100000, B00000000, B01010100, B00000000, B00100000, B00000000, B01100000, B00000001, B00000000, B00101111, B11101010, B00111101, B01010100, B00000000, B00000000, B00100000, B00000000, B01010000, B00000000, B00100000, B00000000, B00100000, B00000000, B00000000, B00101111, B11101010, B00111101, B11110100, B00000000, B00000000, B00100000, B00000000, B00110000, B00000000, B00100000, B01000000, B00100000, B10000100, B00000000, B00101111, B11101010, B00111101, B11111100, B00000000, B00000000, B00100000, B00000000, B10100000, B00000000, B00100000, B01000010, B00100000, B00001100, B00000000, B00001111, B11101010, B00111101, B11111000, B00000000, B00000000, B00000000, B00000000, B10101000, B00000000, B00000100, B01000010, B00100000, B00000000, B00000000, B00001011, B10101000, B00010101, B11110000, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011011, B10101000, B00010101, B11110000, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00010001, B00001000, B00000000, B00000000, B00000000, B00011010, B10101000, B00000101, B11110000, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00010000, B00001000, B00000000, B00000000, B00000000, B00011010, B10101000, B00000111, B11110000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00010000, B00000000, B00000010, B00000000, B00000000, B00011010, B10101000, B00000111, B11110000, B00000000, B00010000, B00000000, B00000000, B10100000, B00000000, B00010000, B00000000, B00000010, B00010000, B00000000, B00011110, B10101000, B00000111, B11100000, B00000000, B00010000, B00000000, B00000001, B10100000, B00000000, B00010100, B00000000, B00000000, B00000000, B00000000, B00011110, B10101000, B00001111, B11100000, B00000000, B00010100, B00000000, B00000001, B10100000, B00000000, B00010100, B00100000, B00001000, B01000000, B00000000, B00011110, B10101000, B00001111, B10100000, B00000000, B00010100, B00000000, B00000001, B10100000, B00000000, B00010100, B00100000, B00001000, B00000000, B00000000, B00011110, B10101000, B00001111, B10100000, B00000000, B00010100, B00000000, B00000001, B10100000, B00000000, B00010100, B00101000, B00000000, B00000000, B00000000, B00011110, B10100000, B00001011, B10100000, B00000000, B00010100, B00000000, B00000001, B10100000, B00000000, B00010100, B00000000, B00000000, B00000000, B00000000, B00111110, B10100000, B00001011, B10100000, B00000000, B00010100, B00000000, B00000000, B10100000, B00000000, B00110100, B00100000, B00000000, B00000000, B00000000, B00111110, B10000000, B00001010, B10101000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00110100, B00000000, B00000000, B00000000, B00000000, B00111110, B10000000, B00001010, B10101000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00110100, B10000000, B00000000, B00000000, B00000000, B00011110, B10000000, B00001010, B10101000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00010100, B10000000, B00000010, B00000000, B00000000, B00011110, B00000000, B00000010, B10101000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00010100, B00000000, B00000010, B10000000, B00000000, B00011010, B00000000, B00000000, B10101000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B10000000, B00000000, B00011010, B00000000, B00000000, B10101000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B10001000, B00000000, B00011010, B00000000, B00000000, B10100000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B10000000, B00000000, B00011010, B00000000, B00000000, B00100000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00100000, B00000000, B00011010, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011010, B10000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B10000000, B00000000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00001010, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00001010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001110, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001010, B00000001, B01000000, B00000000, B00000000, B00000000, B00000001, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001010, B00000001, B01000000, B00000010, B00000000, B00000000, B00000001, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001010, B00000101, B01000000, B00001010, B00000000, B00000000, B00000101, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001010, B00000000, B00001010, B01000101, B01000000, B00001010, B00000000, B00000000, B00000101, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00001010, B00000000, B00001010, B01000101, B01000000, B00001010, B00000000, B00000000, B00000101, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00001010, B00000000, B00001001, B01000101, B01010000, B00001000, B00000000, B00000000, B01000101, B00000000, B00000000, B00000000, B00001000, B00000000, B00010000, B00000000, B00000000, B00000001, B01000101, B01010000, B00001000, B00000000, B00000000, B00000101, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000001, B01010001, B01010000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000001, B01000001, B01010000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000001, B01000001, B01010000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000001, B01010001, B01010000, B00000000, B00000000, B00000000, B01000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000101, B01010101, B01010000, B00000000, B00000000, B00000001, B01000101, B00000000, B00000000, B00000000, B00000100, B00000000, B00010000, B00000000, B00000000, B00000101, B01000101, B01010000, B00000000, B00000000, B00000001, B01000101, B00000000, B00000000, B00000000, B00000100, B00000000, B00010000, B00000000, B00000000, B00000101, B01010101, B01010000, B00000000, B00000000, B00000001, B01000101, B01000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000101, B01010101, B01010101, B00000000, B00000000, B00000001, B00000101, B01000000, B00000000, B00000000, B00000100, B00000000, B00000100, B00000000, B00000000, B00000101, B01010101, B01010101, B01000000, B00000000, B00000000, B00000101, B01000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000101, B01010001, B01010101, B01010000, B00000000, B00000000, B00000001, B01000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00010101, B01010001, B01010101, B01010000, B00000000, B00000000, B00000001, B01000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00010101, B01000101, B01010101, B01010000, B00000000, B00000000, B00000101, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00010101, B01000101, B01010101, B01010000, B00000000, B00000000, B00000101, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010101, B01010101, B01010101, B01010000, B00000000, B00000000, B00000101, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010101, B01010101, B01010101, B01010000, B00000000, B00000100, B00000101, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010111, B01010101, B01010101, B01010000, B00000000, B00000100, B00000101, B01000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010111, B01010001, B01010101, B01010000, B00000000, B00000100, B00000001, B01000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011111, B01010101, B01010101, B01000000, B00000000, B00000000, B00000101, B00000000, B01000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00011111, B01010101, B01010101, B01000000, B00000000, B00000000, B00000101, B00000000, B01000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00011111, B01010101, B01010101, B01000000, B00000000, B00000000, B00000101, B00000000, B01000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00011111, B01010001, B01010101, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00011000, B00000000, B00000000, B00000000, B00000000, B00011111, B01010001, B01010101, B00000000, B00000000, B00000000, B00000001, B00000001, B00000000, B00000000, B00011000, B00000000, B00000000, B00000000, B00000000, B00010111, B01010100, B01010100, B00000000, B00000000, B00000000, B00000100, B00010100, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010111, B01010100, B01010000, B00000000, B00000000, B00000000, B00000100, B01010000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000111, B01010101, B00010000, B01000000, B00000000, B00000000, B00010101, B00010000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000111, B01010101, B00000001, B01000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000111, B01010101, B00000001, B01000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010111, B01010101, B01000001, B01000000, B00000000, B00000000, B00010101, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00010111, B01010101, B01000001, B00000000, B00000000, B00000000, B00010101, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010111, B11010101, B00000001, B00000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00010000, B10000000, B00000001, B00000000, B00000000, B00011111, B11010101, B00000000, B00000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00011000, B10000000, B00000000, B00000000, B00000000, B00011111, B11010101, B00000000, B00000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11110100, B00000000, B00000000, B00000000, B00000000, B01010100, B00000000, B00000000, B00000000, B00010000, B00100000, B00000000, B00000000, B00000000, B00011111, B11110000, B00000000, B00000000, B00000000, B00000000, B01010100, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100100, B00000000, B00000000, B00000000, B00000000, B01110100, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100100, B00000000, B00000000, B00000000, B00000000, B01110100, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100100, B00000000, B00000000, B00000000, B00000000, B01110100, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11100100, B00000000, B00000000, B00000000, B00000000, B01111100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00111111, B11100100, B00000000, B00000000, B00000000, B00000000, B01111100, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00111111, B11100100, B00000000, B00000000, B00000000, B00000000, B11111110, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00011111, B11101101, B00000000, B00000000, B00000000, B00000000, B11111110, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00011111, B11101101, B00000000, B00000000, B00000000, B00001000, B01111110, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00011111, B11111101, B01000000, B00000000, B00000000, B00001000, B00111110, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00011111, B11111101, B01000000, B00000000, B00000000, B00001000, B00011111, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011111, B11111101, B01010000, B00000000, B00000000, B00001000, B00001111, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00011111, B11111111, B01010000, B00000000, B00000000, B00001000, B00011110, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00011111, B11111111, B01000000, B00000000, B00000000, B00001000, B00010110, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00011111, B11111111, B10000000, B00000000, B00000000, B00001000, B01010110, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011111, B11111111, B10000000, B00000000, B00000000, B00001000, B01010100, B10000000, B00000000, B00000000, B00000000, B00000011, B00000000, B00000000, B00000000, B00011111, B11111101, B10000000, B00000000, B00000000, B00001000, B01010100, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00011111, B11111101, B10000000, B00000000, B00000000, B00000000, B01010100, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00111111, B11111101, B10000000, B00000000, B00000000, B00100000, B01010100, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00111101, B11111101, B10000000, B00000000, B00000000, B00101000, B01010100, B00000000, B00000000, B00000000, B00000010, B00000001, B00000000, B00000000, B00000000, B00111101, B11111101, B10000000, B00000000, B00000000, B00101000, B01010100, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B01111101, B11111101, B11000000, B00000000, B00000000, B00100000, B01010100, B00000000, B00000000, B00000000, B01000010, B00000000, B11000000, B00000000, B00000000, B01111101, B11111101, B01010000, B00000000, B00000000, B00100000, B01010000, B00000000, B00000000, B00000000, B01000010, B00000000, B00010000, B00000000, B00000000, B01011101, B11111101, B01010000, B00000000, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B01000010, B00000000, B00000000, B00000000, B00000000, B00011101, B11111111, B01111010, B00000000, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B00000010, B00000010, B00100010, B00000000, B00000000, B00011111, B11111101, B01111010, B00000000, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00001000, B00100000, B00000000, B00000000, B00011111, B11111101, B01111010, B00000000, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00011111, B11110101, B11111010, B10000010, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B10000000, B00000000, B00011111, B11110101, B11111110, B10001010, B00000000, B00000000, B01010000, B00000000, B00001010, B00000000, B00000000, B00100000, B11010100, B00000000, B00000000, B00011111, B11010101, B00111110, B10101010, B00000000, B00000000, B01010000, B00000000, B00101010, B00000000, B00000000, B00000000, B00010100, B00000000, B00000000, B00011111, B11010101, B00111110, B10101010, B00000000, B00000000, B01010000, B00000000, B00101000, B00000000, B00001000, B00000001, B00000100, B00000000, B00000000, B00011111, B11010101, B00111110, B10101010, B00000000, B00000000, B01000000, B00000000, B10101000, B00000000, B00001000, B00000001, B00000100, B00000010, B00000000, B00011111, B11010101, B00111110, B11111000, B00000000, B00000000, B01000000, B00000000, B01100000, B00000000, B00001000, B00000001, B00000100, B00010000, B00000000, B00010111, B11010100, B00111010, B11111000, B00000000, B00000000, B00000000, B00000000, B01010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00110111, B11010100, B00111011, B11111000, B00000000, B00100000, B00000000, B00000000, B01010000, B00000000, B00110000, B00000000, B00000001, B00001000, B00000000, B00110111, B11010101, B00111011, B11110000, B00000000, B00100000, B00000000, B00000000, B01010000, B00000000, B00110010, B00000100, B00010001, B00000000, B00000000, B00110101, B11010000, B01101011, B11110000, B00000000, B00100000, B00000000, B00000000, B01000000, B00000000, B00110000, B00000000, B00100001, B00010000, B00000000, B00110101, B01010000, B00001011, B11110000, B00000000, B00100000, B00000000, B00000000, B01000000, B00000000, B00110000, B00000000, B00000001, B00010000, B00000000, B00110101, B01010100, B00000011, B11100000, B00000000, B00100000, B00000000, B00000000, B01000000, B00000000, B00110000, B00000100, B00000000, B00000000, B00000000, B00111101, B01010100, B00000011, B11100000, B00000000, B00100000, B00000000, B00000000, B11000000, B00000000, B00111000, B00010100, B00000000, B00000000, B00000000, B00111101, B01010100, B00000111, B11110000, B00000000, B00101000, B00000000, B00000000, B11000000, B00000000, B00111000, B00010100, B00000100, B00110000, B00000000, B00111111, B01010100, B00000111, B11010000, B00000000, B00101000, B00000000, B00000001, B11000000, B00000000, B00111010, B00000100, B00000000, B00010000, B00000000, B00111111, B01010100, B00010111, B11010000, B00000000, B00101000, B00000000, B00000001, B11000000, B00000000, B00111010, B00000100, B00010000, B00010000, B00000000, B00111101, B01010000, B00010111, B11010000, B00000000, B00101000, B00000000, B00000011, B01010000, B00000000, B00111000, B00000000, B00010000, B00000000, B00000000, B00111101, B01010000, B00010101, B11010000, B00000000, B00101000, B00000000, B00000001, B01010000, B00000000, B00111000, B00010000, B00010000, B00000000, B00000000, B00111101, B01000000, B00010101, B01010000, B00000000, B00101000, B00000000, B00000000, B01010000, B00000000, B00101000, B00000000, B00010000, B00000000, B00000000, B00111101, B01000000, B00000101, B01010000, B00000000, B00101000, B00000000, B00000000, B01010000, B00000000, B00101000, B01000000, B00000000, B00000000, B00000000, B00111101, B00000000, B00000101, B01010100, B00000000, B00101000, B00000000, B00000000, B01010000, B00000000, B00101000, B00000000, B00000000, B00000100, B00000000, B00111101, B00000000, B00000101, B01010100, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00101000, B00000000, B00000001, B00000100, B00000000, B00111101, B00000000, B00000100, B01010100, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00101001, B00000000, B00000000, B00000100, B00000000, B00111101, B00000000, B00000100, B01010100, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00111001, B00000000, B00000100, B00000100, B00000000, B00111101, B00000000, B00000000, B01010000, B00000000, B00101000, B00000000, B00000000, B00000000, B00000000, B00111001, B00000000, B00000000, B00000000, B00000000, B00111101, B00000000, B00000000, B01010000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00111001, B00000000, B00000000, B00010000, B00000000, B00111101, B00000000, B00000000, B01000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00111001, B00000000, B00000000, B01000000, B00000000, B00110101, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00110000, B00000000, B00000000, B00000000, B00000000, B00110101, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00110000, B00000000, B00000000, B00000000, B00000000, B00110101, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00110000, B00000000, B00000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010101, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000000, B00010000, B00010101, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000000, B00000000, B00010101, B00000010, B10000000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000000, B00000000, B00010101, B00000010, B10000000, B00000100, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000100, B00000000, B00010101, B00000010, B10100000, B00000100, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000000, B00000000, B00010101, B00000010, B10100000, B00000100, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00010001, B00000000, B00000000, B00000000, B00000000, B00010100, B10100010, B10100000, B00000100, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00010000, B10000000, B00000000, B00000000, B00000000, B00000100, B10100010, B10100000, B00010100, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00010000, B00000000, B00000010, B10100010, B10100000, B00000100, B00000000, B00000000, B10000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000100, B00000000, B00000010, B10100010, B10100000, B00000000, B00000000, B00000000, B00000010, B10000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000 }; //Bild_02 (Points) PROGMEM prog_uchar bild_02[] = { B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000100, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00010000, B00010000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000010, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000100, B00000010, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00001000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00010000, B00000000, B00000100, B00000000, B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00100000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000 }; //Bild_03 (RGB-Net) PROGMEM prog_uchar bild_03[] = { B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B10101000, B10101011, B10101010, B10101000, B10101010, B10101010, B10101010, B10101011, B10101000, B10100010, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B01010101, B01010101, B01010100, B01010101, B01011101, B01010111, B01010100, B01010101, B01010101, B01010101, B01010101, B01010100, B01010101, B01010111, B01011101, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B10101000, B10101010, B10101011, B10101010, B10101010, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B01010111, B01010100, B01010101, B01010101, B01010101, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B10101000, B10101011, B10101010, B10101000, B10101010, B00000010, B00000000, B00000001, B00000000, B00000000, B10101000, B10101010, B10101011, B10101010, B10101010, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B01010101, B01010101, B01010100, B01010101, B01011101, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001100, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B01010101, B01010101, B01010100, B01010101, B01011101, B01010111, B01010100, B01010101, B01010101, B01010101, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B10101000, B10101011, B10101010, B10101000, B10101010, B10101010, B10101010, B10101011, B10101000, B10100010, B10101000, B10101010, B10101011, B10101010, B10101010, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B01010101, B01010100, B01010101, B01010111, B01011101, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B10101010, B10101010, B10101011, B10101000, B10100010, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B01010101, B01010101, B01010100, B01010101, B01011101, B00000010, B00000000, B00000001, B00000000, B00000000, B01010101, B01010100, B01010101, B01010111, B01011101, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B10101000, B10101011, B10101010, B10101000, B10101010, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000, B00000000, B00000001, B00000000, B00000000, B00001000, B00000010, B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00001000 }; //############################################################################################################################################################ //Definitionen und Variablen # //############################################################################################################################################################ //Definition der Ausgangspins am Вµ-Controller #define latchPin 10 // Latch-Pin #define PIN_SCK 13 // SPI Clock #define PIN_MISO 12 // SPI Dateneingang #define PIN_MOSI 11 // SPI Datenausgang #define debug_pin 8 // LED an Pin 8 zum Debuggen #define LS_Pin 3 // Lichtschranke #define N_O_S 200 // Anzahl Sektoren #define v_offset 3 // Rotationsgeschwindigkeit des dargestellten Bildes #define TOL 20 // Toleranz unsigned long sector_time = 20; // Sektorzeit in Вµs unsigned int counter = 0; // zГ¤hlt spГ¤ter wieviele Sektoren wГ¤rend einer Umdrehung "geschaft" wurden unsigned int pointer = 0; // zeigt spГ¤ter auf die richtige Stelle im Programmspeicher unsigned int offset = 0; // Offset zum Pointer, der fГјr die Drehung des Bildes sorgt volatile byte LS = 0; // Austauschvariable zwischen Main-Prozedur und Interrupt-Service-Routine (LS = Licht-Schranke) byte mode = 1; // Modus unsigned long end_time = 0; // Endzeit eines Modus byte flag = 0; //############################################################################################################################################################ //Setup - Prozedur # //############################################################################################################################################################ void setup() { // Pins auf Ein- oder Ausgang stellen und einen Startwert zuweisen pinMode(latchPin, OUTPUT); pinMode(PIN_SCK, OUTPUT); pinMode(PIN_MOSI, OUTPUT); pinMode(debug_pin, OUTPUT); pinMode(PIN_MISO, INPUT); pinMode(LS_Pin, INPUT); digitalWrite(latchPin, LOW); digitalWrite(PIN_SCK, LOW); digitalWrite(PIN_MOSI, LOW); digitalWrite(debug_pin, LOW); digitalWrite(PIN_MISO, HIGH); // Internen Pull-Up-Widerstand aktivieren digitalWrite(LS_Pin, HIGH); // Internen Pull-Up-Widerstand aktivieren //SPI Komunikation vorbereiten SPCR = B01010000; //SPI Control Register (SPCR) // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | // | SPIE | SPE | DORD | MSTR | CPOL | CPHA | SPR1 | SPR0 | // SPIE - Enables the SPI interrupt when 1 // SPE - Enables the SPI when 1 // DORD - Sends data least Significant Bit First when 1, most Significant Bit first when 0 // MSTR - Sets the Arduino in master mode when 1, slave mode when 0 // CPOL - Sets the data clock to be idle when high if set to 1, idle when low if set to 0 // CPHA - Samples data on the falling edge of the data clock when 1, rising edge when 0 //SPR1 and SPR0 - Sets the SPI speed, 00 is fastest (4MHz) 11 is slowest (250KHz) SPSR = B00000000; //SPI Status Register auf 0 setzen //Alle LEDs aus all_leds_off(); digitalWrite(debug_pin, HIGH); // Warten bis Motor Nenndrehzahl erreicht hat for (byte a = 0; a < 50; a++) { while (digitalRead(LS_Pin) == HIGH) { delayMicroseconds(1); } delay(20); } digitalWrite(debug_pin, LOW); end_time = millis() + (random(10, 20) * 1000); mode = 1; //Interrupt vorbereiten attachInterrupt(1, Erkenne_Flanke, FALLING); } //############################################################################################################################################################ //Hauptprogramm # //############################################################################################################################################################ void loop() { LS = 0; if (flag == 0) { if (counter < (N_O_S)) { sector_time--; } if (counter > (N_O_S)) { sector_time++; } } if (counter == N_O_S) { flag = 1; } if ((counter < (N_O_S - TOL)) || (counter > (N_O_S + TOL))) { flag = 0; } if (end_time < millis()) { end_time = millis() + (random(10, 20) * 1000); flag = 0; mode++; if (mode == 4) { mode = 1; } } counter = 0; if (offset > (N_O_S - 1)) { offset = 0; } EnableSPI(); while (LS == 0) { if (counter < N_O_S) { pointer = counter; } else { pointer = N_O_S - 1; } pointer = pointer + offset; if (pointer > (N_O_S - 1)) { pointer = pointer - N_O_S; } pointer = pointer * 15; digitalWrite(latchPin, LOW); // LatchPin erden, damit LEDs nicht schon beim "Durchschieben" blinken switch (mode) { case 1: for (int l = 0; l < 15; l++) { SendRecSPI(pgm_read_byte_near(bild_01 + pointer + l)); // 15 Byte fГјr SR#15 bis SR#1 rausschieben } break; case 2: for (int l = 0; l < 15; l++) { SendRecSPI(pgm_read_byte_near(bild_02 + pointer + l)); // 15 Byte fГјr SR#15 bis SR#1 rausschieben } break; case 3: for (int l = 0; l < 15; l++) { SendRecSPI(pgm_read_byte_near(bild_03 + pointer + l)); // 15 Byte fГјr SR#15 bis SR#1 rausschieben } break; } digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren counter++; unsigned long end_micros = micros() + sector_time; while ((micros() < end_micros) && (LS == 0)) {} // Warten bis Sektorzeit vorГјber ist } DisableSPI(); offset = offset + v_offset; } //############################################################################################################################################################ //Interrupt-Service-Routine # //############################################################################################################################################################ void Erkenne_Flanke(void) { LS = 1; } //############################################################################################################################################################ //Hilfsfunktion zum Aussschalten aller LEDs # //############################################################################################################################################################ void all_leds_off(void) { EnableSPI(); digitalWrite(latchPin, LOW); // LatchPin erden, damit LEDs nicht schon beim "Durchschieben" blinken for (int l = 0; l < 15; l++) { SendRecSPI(0); // 15 Byte fГјr SR#15 bis SR#1 rausschieben } digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren DisableSPI(); } //############################################################################################################################################################ // Prozeduren fГјr die SPI # //############################################################################################################################################################ void EnableSPI(void) { SPCR |= 1 << SPE; } void DisableSPI(void) { SPCR &= ~(1 << SPE); } void WaitSPIF(void) { while (! (SPSR & (1 << SPIF))) { continue; } } void SendRecSPI(byte Dbyte) { SPDR = Dbyte; WaitSPIF(); //return SPDR; //Schiebregister schicken nichts zurГјck } //############################################################################################################################################################ //############################################################################################################################################################ //############################################################################################################################################################Вот весь код какой есть.Как прикрепить фото не знаю
При проверке кода выдает ошибку.
пожалуйста,установите версию Arduino IDE ниже чем 1.6.0,не нужна она в вашем случае...самое свежее не всегда самое лучшее..
а из ошибок ясно видно,что ругается только на массивы PROGMEM...но я не в силах в этом помочь,для самого темный лес еще эти PROGMEM,будем ждать знающих=)