@aveal здравствуйте. пишу результат проверки последнего скетча. результат точно такой же как и с предыдущим. фото прилагаю (оно один в один) , но на предмет неисправности схемы или неправильного соединения выводов ESP k 74HC595 по SPI скажу так. есть такая программа FL-Prog как ее называют кубики складывать!!!! кубики складывать меня еще давно научили, то-есть понимать работу логических элементов, но иногда в ней тоже приходится писать, а с этим тоже провал.... но набросала не сложный тест из кубиков для проверки правильности подключения выводов. схему теста прилагаю. загрузила и О!! работает. переключает поочередно диодики-значит спиай подключено правильно. но вот что я заметилав фл-прог так это то что при подсоединении на вход фото диода который сбрасывает цикл или если кнопкой нажимать на корпус вместо фотодиода, то в ручную .то-есть медленно,переключение происходит по кольцу, но как только частота переключения фотодиода увеличивается (например на фотодиод воздействовать через диск приделанный к мотору, а в нем отверстие для излучателя, на подобии щелевых датчиков . переключение останавливается полностью. или в место фото диода пробовала датчик холла -магнитик медленно подносишь переключается .моторчик магнитик крутит-эффект пропадает. скорость моторчика понижаешь до 1 оборот/сек или пол-сек переключение по кольцу работает в ФЛ-Прог.)) такое ощущение что вход не успевает обрабатывать данные. при загрузке скетча глобуса , если при использовании АТМЕГА328 воздействовать в ручную на датчик фото-лед происходит некая смена информации и диоды меняются, а на есп32 такого не происходит, сколько не воздействуй. как засветилось то что показала так и стоит.получается что фото-лед не управляет информацией .только когда я включаю конструкцию на есп32 или на атмега328 на вращение конструкции с начального цикла ни один диод не светится,и результат для атмега328 появляется картинка, а с использованием есп32 появляется вот такая ерунда. для обоих вариантов информация выводится после нескольких секунд 5-7сек вращения конструкции. но я много видела видео и фоток построение схем на POV эффекте с использованием ESP32 и у всех на вход стоит также фотодиод для сброса цикла строки и все работает и моторы там стоят не только простые 1200об/мин , а в некоторых самоделках показаны моторы от квадрокоптеров, то-есть там как мин 15000-30000об/мин и работает. только к этим проектам нет никакого описания и т.д. просто видео или фотки готовой игрушки. а эта чем хороша, что к ней есть все , но сейчас тоже уже не найти например 3D симулятора который показывает работу программы JAVA как будет выглядеть на самом глобусе. его уже нет в нете.
я что бы вас не вводить в заблуждение предварительно все проверила на предмет ошибок сборки, сразу скажу ОШИБОК НЕТ. слишком просто там все 4 контакта между есп и обвязкой. 3pin-SPI, 1pin FOTO LED. это получается программная ошибка. то-есть что то после того как влезли в код что то не учли. а вот что ????? вот еще зип там вся схемотехника сборки в платах. схемы как таковой нет. с плат рисовала.
@olga549 Помимо SPI там надо еще PROGMEM искоренить, обновил - https://disk.yandex.ru/d/Ad5ZOdKRKpm63A
@aveal здравствуйте проверила последний тест 3 ничего не меняется картинка одна и таже что и в предыдущих. только вот что я нашла разбираясь тоже сама. я читала правила написания скетча и проверяла и появился вопрос. вот пример из кода
void EnableSPI(void)
{
// SPCR |= 1 << SPE; ----вот здесь фигурных скобок быть не должны,в обоих случаях, если в них ничего нет. пересмотрев кучу написанных скетчей, пустых скобок не нашла такого типа что бы в них ничего не было. то-есть в них обязательно должна быть функция помещена. значит они не нужны раз вы 2-ным слешем отключили функцию, но стоит их убрать и начинаются снова ошибки, это неправильно сконфигурирован SPI. я все таки схожусь во мнении. может и ошибаюсь . обычные круглые есть пустые, а фигурных нет..... значит скобки {} играют роль, а в них ничего нет.......
} //включитьSPI
void DisableSPI(void)
{
// SPCR &= ~(1 << SPE);
} //отключитьSPI
void SendRecSPI(byte Dbyte)//отправить запись SPI
{
hspi.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE0));
hspi.transfer(Dbyte);
hspi.endTransaction();
}
Фигурные скобки ограничивают тело функции, они должны в данном случае быть. Эти функции непонятно зачем вообще были нужны в первичном скетче, поэтому я закомментировал по-быстрому все, что в них было (в данном случае по одной строке).
В принципе, следующий шаг - проверить, что прерывание срабатывает. Завтра посмотрю более детально скетч.