здравствуйте это вновь я. у меня появился вопрос? я постепенно ознакомившись с кодом заметила вот что. то что в в самом коде глобуса используется работа с SPI, а библиотека не подключена. как я поняла, это что подключение SPI прописано в ручную. вот этот кусочек //SPI Control Register (SPCR)//регистор контроля SPI (SPCR)
// 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);
Вопрос? а в чём причина такого подключения. библиотеку наверное было бы проще прописать. чем вручную конфигурировать шину.и еще вопрос? а можно изобразить вот такой алгоритм этого кода. рассказываю. нолики и единицы каждой картинки превратить превратить в документ с расширением txt, для того что бы не лепить программы создающие файлы с расширением DAK или какие либо другие расширения, далее записать эти файлы на SD карту, далее организовать считывание содержимого с SD карты и передачу в основную программу .вопрос? будет ли содержимое написанное в формате текстового документа считываться как код для работы программы. или программные файлы должны иметь некое другое расширение? заранее спасибо
про библиотеку поняла. то что сделано, сделано правильно. ну а насчет второго, не знаю. буду думать. сам код много места не занимает, а значит можно постараться прописать все что необходимо для работы с SD картой. я пока что освоила написание программ в программе FLProg. только не смейтесь, паять умею, а программирование изучаю учусь стараюсь научиться. буду стараться, есть цель сделать самой, а не купить готовое. ну если вам будет не затруднительно, подскажете? ну так, по мелочи что нибудь. буду признательна.
пока что освоила написание программ в программе FLProg. только не смейтесь, паять умею, а программирование изучаю учусь стараюсь научиться. буду стараться, есть цель сделать самой, а не купить готовое. ну если вам будет не затруднительно, подскажете? ну так, по мелочи что нибудь. буду признательна.
вот это напрасно, совершенно напрасно, начните с разбора примеров в ардуино
и это тоже делаю в первую очередь. FLProg я использую для того, что бы и понять и разобраться с тем как выглядит написанный код при поставленной задачи и весь его разобрать до костей для полного понимания. так и учусь, уроки в интернете смотрю именно по ардуино и т.д.
и это тоже делаю в первую очередь. FLProg я использую для того, что бы и понять и разобраться с тем как выглядит написанный код при поставленной задачи и весь его разобрать до костей для полного понимания. так и учусь, уроки в интернете смотрю именно по ардуино и т.д.
Думаю, по обоим пунктам Вы не правы:
1. Вряд ли FLProg может помочь понять, как выглядит нормальный код.
2. Вряд ли следует выбирать уроки или книжки "именно по Ардуино". Осваивать программирование для ПК не менее интересно и не менее полезно. Тем более, что по моему опыту при разработке сложных проектов для Ардуино нередко больше кода приходится писать именно для ПК, начиная с отработки алгоритмов и заканчивая подготовкой массивов для табличных функций.
а что все так стали возмущаться. мне хочется научиться писать программы для контроллеров. что ни будь из этих контроллеров собирать. про ники всякие меня действительно зовут инна. а почта заведена специально на левое имя заведена, что бы враг не догадался !!! просто прошу поддержки знаниями. кому сколько знаний не жалко.
а что все так стали возмущаться. мне хочется научиться писать программы для контроллеров. что ни будь из этих контроллеров собирать. про ники всякие меня действительно зовут инна. а почта заведена специально на левое имя заведена, что бы враг не догадался !!! просто прошу поддержки знаниями. кому сколько знаний не жалко.
1. Скажу банальность, но для того, чтобы научиться, необходимо учиться. А форум - это не учебное заведение, и стать им не сможет. Следовательно, научиться можно либо на курсах, либо самостоятельно. Но для последнего нужно читать учебник и выполнять имеющиеся там упражнения, а не задавать вопросы на форуме.
2. Если Вы будете на Си писать так же, как сейчас пишете по-русски, у Вас ничего не получится, - компилятор Вас не поймет.
вопрос? подскажите пожалуйста как в указанном мною ранее коде, прописать такую вещь. что бы основной алгоритм программы не нарушать, но массив картинки принимался по UART порту.только по Rx как это прописать в коде правильно. будьте так добры. пожалуйста.
Atmega 328. все что надо сделать, это убрать основной массив картинки и отключить библиотеку #include <avr/pgmspace.h> и просто прописать вход на UART порт. что бы было все тоже самое, но массив картинок поступал из другого устройства по Tx-Rx. вот и все что я придумала.
инна. вы похоже вообще не въезжаете. в чем проблема. Дело не в "мощности", а в том что полученные картинки надо где-то хранить. У атмега328 недостаточно памяти для этого.
У Atmega2560 памяти побольше, но не намного, смена контроллера не отменяет того. что идея получения картинки по UART довольно-таки сомнительная
хорошо, есть у меня такая вещь 3D LED CUBE 8x8x8 и там реализована такая функция,передача картинок по Tx-Rx. все на атмеги328.
8х8х8 =256. Даже если это RGB - это 750 байт. но скорее всего куб у вас монохром. тогда одна картинка для него ВСЕГО 64 байта - примерно в 20 раз меньше, чем для POV дисплея.
А если вы собрались запускать на дисплее "простенькие видео" - вам будет необходимо закачать на ардуино 3000 байт на каждый кадр. Для 10 кадров в секунду (минимум для видео) - вам понадобится канал 30кбайт/сек = 240 КБит/сек Это не считая времени работы вашей программы
ребята дорогие вот есть одна ссылочка https://www.youtube.com/watch?v=Icf7bDy5kYI, там имея примерно такую же схемотехнику реализованы эффекты, помогите мне такое же реализовать. больше ничего не надо. пожалуйста
ребята дорогие вот есть одна ссылочка https://www.youtube.com/watch?v=Icf7bDy5kYI, там имея примерно такую же схемотехнику реализованы эффекты, помогите мне такое же реализовать. больше ничего не надо. пожалуйста
нет. просто статическая картинка крутится по окружности. потом следующая, в коде можно поменять только время между отображаемыми картинками. вот в этой строке end_time = millis() + (random(10,20) * 10000); поменяв 1000 на 10000, а как сделать, то что в видеоролике показано не знаю.помогите
это я поняла вот ролик по ссылке Atmega328+74HC595 18шт и 48LED. у меня сделано тоже самое. один к одному. а как эти картинки оживить как в ролике по ссылке. кучу картинок можно загрузить если 328 поменять на 2560. 70 картинок я загрузила, а как сделать что бы диодики как в ролике двигались, не знаю. помогите.больше мне ничего не надо. насколько я понимаю, надо как то по другому сам фай анимации составить.
как сделать анимационную картинку, я поняла. необходимо сделать много последовательных кадров в котором будет прописано смещение допустим одного диода на ступеньку выше и так далее от низа к верху, а далее весь этот код прочитать последовательно. тогда и получится эффект движения. простой пример 1 картинка 200 меридианов 00000001, 2 картинка 200 меридианов 00000010, 3 картинка 200 меридианов 00000100 и т.д но все является одним файлом . а потом все это быстро прочитать. можно ли это реализовать. так как файл станет иметь 200 меридианов * на 6 или 8 и т.д. будет ли скетч читать фай программы 200*48 прочитывать без остановки на 200 меридиане. так как программа может прочитать только 200 меридианов, то есть один кадр и на этом остановиться и через время начать читать следующий кадр. вот в этой строке записано case 1: for (int l=0; l<3; 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
я могу прислать только весь набор файлов по которым я все сделала. нужна почта куда могу послать файлы. там их не много. про регистры, это все понятно как дописать количество картинок. и с количеством диодов я тоже разобралась еще давно,все просто там где указано 15 бит меняется на 18, дописывается строка и в строке добавляется порядковый номер картинки, ну и сами картинки сверху порядковый номер .а вот как сделать как в видео показано https://www.youtube.com/watch?v=Icf7bDy5kYI, ума пока не хватает. к нему прилагалось JAVA приложение. платы я все сделала небольшими. а коробка сама большая вышла этого устройства. (10,20)*1000) как я поняла 1-количество кадров в секунду, а 1000 время отображения картинки. меняя последнее. смена картинок происходит быстро или медленно. и пробовала я на работоспособность на PROTEUS
JAVa приложение позволяет делать эту игрушку до 80 диодов. все тоже самое, только корпуса добавляем по желанию и память контроллера меняем, вместо 328 я вставила 2560, 70 картинок поместилось. изначально на 40 LEDs было заложено.
осталось выделить из гифки картинки. занести в прошивку и определиться со временем отображения каждой картинки
принцип ясен, далее буду думать, изобретать. если появятся вопросы, буду задавать. не возражаете? спасибо.
принцип ясен, далее буду думать, изобретать. если появятся вопросы, буду задавать. не возражаете? спасибо.
кто тут боярыне возразить может )))
спасибо большое
здравствуйте это вновь я. у меня появился вопрос? я постепенно ознакомившись с кодом заметила вот что. то что в в самом коде глобуса используется работа с SPI, а библиотека не подключена. как я поняла, это что подключение SPI прописано в ручную. вот этот кусочек //SPI Control Register (SPCR)//регистор контроля SPI (SPCR)
digitalWrite(debug_pin, HIGH);
Вопрос? а в чём причина такого подключения. библиотеку наверное было бы проще прописать. чем вручную конфигурировать шину.и еще вопрос? а можно изобразить вот такой алгоритм этого кода. рассказываю. нолики и единицы каждой картинки превратить превратить в документ с расширением txt, для того что бы не лепить программы создающие файлы с расширением DAK или какие либо другие расширения, далее записать эти файлы на SD карту, далее организовать считывание содержимого с SD карты и передачу в основную программу .вопрос? будет ли содержимое написанное в формате текстового документа считываться как код для работы программы. или программные файлы должны иметь некое другое расширение? заранее спасибо
То есть вместо одной строки вы хотите библиотеку прицепить и считаете что это будет лучше ???
Хранить картинки можно как угодно и где угодно - справитесь ли вы с этим не известно ...
Если считывать откуда то, то надо буфер в оперативке 3000 байт !!!
про библиотеку поняла. то что сделано, сделано правильно. ну а насчет второго, не знаю. буду думать. сам код много места не занимает, а значит можно постараться прописать все что необходимо для работы с SD картой. я пока что освоила написание программ в программе FLProg. только не смейтесь, паять умею, а программирование изучаю учусь стараюсь научиться. буду стараться, есть цель сделать самой, а не купить готовое. ну если вам будет не затруднительно, подскажете? ну так, по мелочи что нибудь. буду признательна.
пока что освоила написание программ в программе FLProg. только не смейтесь, паять умею, а программирование изучаю учусь стараюсь научиться. буду стараться, есть цель сделать самой, а не купить готовое. ну если вам будет не затруднительно, подскажете? ну так, по мелочи что нибудь. буду признательна.
вот это напрасно, совершенно напрасно, начните с разбора примеров в ардуино
и это тоже делаю в первую очередь. FLProg я использую для того, что бы и понять и разобраться с тем как выглядит написанный код при поставленной задачи и весь его разобрать до костей для полного понимания. так и учусь, уроки в интернете смотрю именно по ардуино и т.д.
и это тоже делаю в первую очередь. FLProg я использую для того, что бы и понять и разобраться с тем как выглядит написанный код при поставленной задачи и весь его разобрать до костей для полного понимания. так и учусь, уроки в интернете смотрю именно по ардуино и т.д.
Думаю, по обоим пунктам Вы не правы:
1. Вряд ли FLProg может помочь понять, как выглядит нормальный код.
2. Вряд ли следует выбирать уроки или книжки "именно по Ардуино". Осваивать программирование для ПК не менее интересно и не менее полезно. Тем более, что по моему опыту при разработке сложных проектов для Ардуино нередко больше кода приходится писать именно для ПК, начиная с отработки алгоритмов и заканчивая подготовкой массивов для табличных функций.
Что «оно» генерирует, там профессиональный программист «ногу сломит», как в нем вообще разобраться можно, тем более новичку???
Коллеги, ведь всё уже давно написано, не ай-яй-яй?
Гггг, я уже давно ники не читаю, если бы ты не сказал и не обратил бы внимания вообще ))))
а что все так стали возмущаться. мне хочется научиться писать программы для контроллеров. что ни будь из этих контроллеров собирать. про ники всякие меня действительно зовут инна. а почта заведена специально на левое имя заведена, что бы враг не догадался !!! просто прошу поддержки знаниями. кому сколько знаний не жалко.
FLProg программа скупая. возможностями ограничена. написание кода самостоятельно, дает большие возможности.
.
а что все так стали возмущаться. мне хочется научиться писать программы для контроллеров. что ни будь из этих контроллеров собирать. про ники всякие меня действительно зовут инна. а почта заведена специально на левое имя заведена, что бы враг не догадался !!! просто прошу поддержки знаниями. кому сколько знаний не жалко.
2. Если Вы будете на Си писать так же, как сейчас пишете по-русски, у Вас ничего не получится, - компилятор Вас не поймет.
вопрос? подскажите пожалуйста как в указанном мною ранее коде, прописать такую вещь. что бы основной алгоритм программы не нарушать, но массив картинки принимался по UART порту.только по Rx как это прописать в коде правильно. будьте так добры. пожалуйста.
МК какой ?
Atmega 328. все что надо сделать, это убрать основной массив картинки и отключить библиотеку #include <avr/pgmspace.h> и просто прописать вход на UART порт. что бы было все тоже самое, но массив картинок поступал из другого устройства по Tx-Rx. вот и все что я придумала.
http://arduino.ru/forum/programmirovanie/arduino-i-pov-massiv?page=2#comment-595158 видимо вам ни чем не говорит ??? https://www.microchip.com/wwwproducts/en/ATmega328
Ваши желания не согласуются с возможностями !
используемый контроллер не обладает серьезным функционалом для реализации желаемого. я правильно поняла?
а если желания такие же, но контроллер Atmega2560. результат можно реализовать? все же мощнее.
инна. вы похоже вообще не въезжаете. в чем проблема. Дело не в "мощности", а в том что полученные картинки надо где-то хранить. У атмега328 недостаточно памяти для этого.
У Atmega2560 памяти побольше, но не намного, смена контроллера не отменяет того. что идея получения картинки по UART довольно-таки сомнительная
хорошо, есть у меня такая вещь 3D LED CUBE 8x8x8 и там реализована такая функция,передача картинок по Tx-Rx. все на атмеги328.
хорошо, есть у меня такая вещь 3D LED CUBE 8x8x8 и там реализована такая функция,передача картинок по Tx-Rx. все на атмеги328.
8х8х8 =256. Даже если это RGB - это 750 байт. но скорее всего куб у вас монохром. тогда одна картинка для него ВСЕГО 64 байта - примерно в 20 раз меньше, чем для POV дисплея.
А если вы собрались запускать на дисплее "простенькие видео" - вам будет необходимо закачать на ардуино 3000 байт на каждый кадр. Для 10 кадров в секунду (минимум для видео) - вам понадобится канал 30кбайт/сек = 240 КБит/сек Это не считая времени работы вашей программы
да куб монохром. вот теперь доходчиво разъяснили. спасибо, поняла.
используемый контроллер не обладает серьезным функционалом для реализации желаемого. я правильно поняла?
Не совсем так.
Тут важно учитывать 3 фактора:
- характеристики задачи,
- характеристики контроллера,
- характеристики исполнителя (грубо говоря, квалификация программиста).
Т.е. ответ на Ваш вопрос не столь категоричен, но в Вашем случае - верен.
Вполне вероятно, что для Вас полезным может оказаться использование внешней микросхемы памяти: http://arduino.ru/forum/programmirovanie/primer-ispolzovaniya-esp-psram64h-s-arduino
stm32p103c8t6 а если вот этот контроллер использовать. для начала возможно этот проект под него переписать? а далее по списку
ребята дорогие вот есть одна ссылочка https://www.youtube.com/watch?v=Icf7bDy5kYI, там имея примерно такую же схемотехнику реализованы эффекты, помогите мне такое же реализовать. больше ничего не надо. пожалуйста
stm32p103c8t6 а если вот этот контроллер использовать. для начала возможно этот проект под него переписать?
этот явно лучше, но я бы все равно не стал с UART-а кадры читать - не успеете, скорее всего.
Лучше взять быструю SPI-флеш , тем более что у этого контроллера два SPI-канала c возможностью асинхронного чтения через DMA
ребята дорогие вот есть одна ссылочка https://www.youtube.com/watch?v=Icf7bDy5kYI, там имея примерно такую же схемотехнику реализованы эффекты, помогите мне такое же реализовать. больше ничего не надо. пожалуйста
а у вас сейчас не так разве?
нет. просто статическая картинка крутится по окружности. потом следующая, в коде можно поменять только время между отображаемыми картинками. вот в этой строке end_time = millis() + (random(10,20) * 10000); поменяв 1000 на 10000, а как сделать, то что в видеоролике показано не знаю.помогите
как сделать, то что в видеоролике показано не знаю.помогите
ну всего ничего - загрузить куда-то кучу последовательных картинок и показывать по порядку.
это я поняла вот ролик по ссылке Atmega328+74HC595 18шт и 48LED. у меня сделано тоже самое. один к одному. а как эти картинки оживить как в ролике по ссылке. кучу картинок можно загрузить если 328 поменять на 2560. 70 картинок я загрузила, а как сделать что бы диодики как в ролике двигались, не знаю. помогите.больше мне ничего не надо. насколько я понимаю, надо как то по другому сам фай анимации составить.
как сделать анимационную картинку, я поняла. необходимо сделать много последовательных кадров в котором будет прописано смещение допустим одного диода на ступеньку выше и так далее от низа к верху, а далее весь этот код прочитать последовательно. тогда и получится эффект движения. простой пример 1 картинка 200 меридианов 00000001, 2 картинка 200 меридианов 00000010, 3 картинка 200 меридианов 00000100 и т.д но все является одним файлом . а потом все это быстро прочитать. можно ли это реализовать. так как файл станет иметь 200 меридианов * на 6 или 8 и т.д. будет ли скетч читать фай программы 200*48 прочитывать без остановки на 200 меридиане. так как программа может прочитать только 200 меридианов, то есть один кадр и на этом остановиться и через время начать читать следующий кадр. вот в этой строке записано case 1: for (int l=0; l<3; 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;
Какой то троллинг пошел ...
Какой то троллинг пошел ...
это да, корпусов 18, а сдвигать думает на 15...
Шлите девайс...вместе разберёмся...коль с программированием хуже чем с паяльником...
я могу прислать только весь набор файлов по которым я все сделала. нужна почта куда могу послать файлы. там их не много. про регистры, это все понятно как дописать количество картинок. и с количеством диодов я тоже разобралась еще давно,все просто там где указано 15 бит меняется на 18, дописывается строка и в строке добавляется порядковый номер картинки, ну и сами картинки сверху порядковый номер .а вот как сделать как в видео показано https://www.youtube.com/watch?v=Icf7bDy5kYI, ума пока не хватает. к нему прилагалось JAVA приложение. платы я все сделала небольшими. а коробка сама большая вышла этого устройства. (10,20)*1000) как я поняла 1-количество кадров в секунду, а 1000 время отображения картинки. меняя последнее. смена картинок происходит быстро или медленно. и пробовала я на работоспособность на PROTEUS
так тут 40 светодиодов, а речь шла о 48
JAVa приложение позволяет делать эту игрушку до 80 диодов. все тоже самое, только корпуса добавляем по желанию и память контроллера меняем, вместо 328 я вставила 2560, 70 картинок поместилось. изначально на 40 LEDs было заложено.
скажите как вам приложение переслать,перешлю
а это почта? arduino (at) orviss.ru вроде не похоже