Тема: замена Arduino328 на ESP32WROOM32U
здравствуйте уважаемые форумчане сайта. хочу у вас попросить помощи, кому не сложно и не жалко уделить немного времени. просьба вот какая. есть у меня вот такая игрушка сделанная мною по описанию из интернета. все работает, но построена она на Atmega328 и 74HC595. подскажите что нужно изменить в скетче что бы сменить контроллер с Atmega328 на ESP32WROOM-32U. только и всего. ни каких функций связанных с WIFI не требуется. просто что бы скетч можно было загрузить в ESP как в ардуинку и все. функционал остался тот же. я весь скетч разобрала на составные части. и поняла что принцип очень прост, но при попытке его изменить под ядро ESP32-WROOM-32U не получается самостоятельно, выдает ошибки компилятор. самой не получается, честно скажу мало знаний пока..... помогите пожалуйста. разобравшись со скетчем - поняла что в скетче SPI сконфигурирован в ручную для снижения памяти и без использования библиотеки. поэтому я так думаю что для ESP32-WROOM-32U что бы не усложнять решение вопроса, нужно все что связано SPI заменить готовой библиотекой, а остальной алгоритм адаптировать под ESP32-WROOM-32U, но не меняя функционал, но самостоятельно попробовав это сделать выдает ошибки. что бы изменить пины грамотно, для начала я посмотрела какие пины используются в ESP32-WROOM-32U для шины SPI-(MOSI/IO23-74hc595/14, SCK/IO18-74hc595/11, RCK/IO26-74hc595/12, FOTO DIODE/IO33, но как их в скетче обозначить я честно признаюсь , не знаю или PIN или GPIO или IO. все, больше ничего не требуется. индикаторный диод не обязателен.) то-есть как грамотно записать все это в скетче, не знаю. файлы все прилагаю. будьте так добры и снисходительны. помогите его изменить или подскажите как надо правильно написать. я по вашим подсказкам сама изменю под ESP32-WROOM-32U. больше из него не надо ничего делать. буду признательна если откликнитесь. или что нужно изменить, что бы правильно стал работать. буду рада если кто откликнется.
//############################################################################################################################################################
//Externe Bibliotheken einbinden//интегрировать внешние библиотеки
//############################################################################################################################################################
#include <avr/pgmspace.h>
//############################################################################################################################################################
//Programmspeicher beschreiben//написать програмную память
//############################################################################################################################################################
//Bild_01 (Globus)//земля
const byte bild_01[] PROGMEM=
{
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
};
//############################################################################################################################################################
//Definitionen und Variablen//определения и переменные
//############################################################################################################################################################
//Definition der Ausgangspins am µ-Controller//определение выходных выводов на микроконтроллер
#define latchPin 10 // Latch-Pin//защелка
#define PIN_SCK 13 // SPI Clock//SPI часы
#define PIN_MISO 12 // SPI Dateneingang//SPI ввод данных
#define PIN_MOSI 11 // SPI Datenausgang//SPI вывод данных
#define debug_pin 8 // LED an Pin 8 zum Debuggen//LED на вывод 8 для отладки
#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//колличество секторов за 1 оборот
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)//переменная обмена между основной процедурой и процедурой обработки прерываний (LS=световой барьер)
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//подготовьте SPI общение
SPCR = B01010000;
//SPI Control Register (SPCR)//регистор контроля SPI (SPCR)
// | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
// | SPIE | SPE | DORD | MSTR | CPOL | CPHA | SPR1 | SPR0 |
// SPIE - Enables the SPI interrupt when 1//SPIE - включает SPI прерывание кода
// SPE - Enables the SPI when 1//SPE - включает SPI когда 1
// DORD - Sends data least Significant Bit First when 1, most Significant Bit first when 0//DORD - отправляет младший значащий бит данных сначала, когда 1, старший значащий бит первым, когда 0
// MSTR - Sets the Arduino in master mode when 1, slave mode when 0//MSTR - устанавливает Arduino в режим мастер, когда 1, в режиме Slave, когда 0
// CPOL - Sets the data clock to be idle when high if set to 1, idle when low if set to 0//CPOL - устанавливает часы данныхв режим ожидания, когда высокий, если установлено в 1, в режиме ожидания, когда низкий, если в 0
// CPHA - Samples data on the falling edge of the data clock when 1, rising edge when 0//CPHA - осуществляет выборку данных по падающему фронту тактовых импульсов данных, когда 1, по ребристому фронту , когда 0
//SPR1 and SPR0 - Sets the SPI speed, 00 is fastest (4MHz) 11 is slowest (250KHz)//SPR1 и SPR0 - устанавливает скорость SPI, 00 самая быстрая (4мГц) 11 самая медленная (250кГц)
SPSR = B00000000; //SPI Status Register auf 0 setzen//установить регистр статуса SPI на 0
//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 == 2) {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//сдвиньте 15 байтов для SR#15 в SR#1
break;
}
digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren//установите фиксатор в положение ВЫСОКИЙ и активируйте все SR
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//сдвиньте 15 байтов для SR#15 в SR#1
digitalWrite(latchPin, HIGH); // LatchPin auf HIGH setzen und damit alle SR aktivieren//установите фиксатор в положение ВЫСОКИЙ и активируйте все SR
DisableSPI();
}
//############################################################################################################################################################
// Prozeduren für die SPI//процедуры для 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//возвращение SPDR//скользящие регистры ничего неотправляют обратно
}
//############################################################################################################################################################
//############################################################################################################################################################
//############################################################################################################################################################