Подключаем внешнюю флеш-память SD-Card к МиниБоту — различия между версиями
SkyStorm (обсуждение | вклад) м |
MiBBiM (обсуждение | вклад) (ссылка на магазин) |
||
(не показано 40 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
[[Категория:МиниБот]] | [[Категория:МиниБот]] | ||
− | |||
− | + | [[Изображение:maket_SD-Card.jpg|thumb]] | |
− | |||
− | |||
− | |||
− | + | Писать собственно сильно нечего, всё предельно просто как валенок.<br /> | |
− | + | Легким движением руки паяем переходничек о шести проводках согласно схемы. <br /> | |
+ | На самом МиниБоте ничего перепаивать не надо. <br /> | ||
+ | Эксперементальным путем установлена работоспособность SD-карт при питании 4.1В (но это не говорит о том что и ваши SD-карты такие же не прихотливые ;-)).На крайний случай на период тестов запускайте МиниБот при разряженом до 3.6В акуумуляторе.<br /> | ||
+ | Затем честно себе копируем код теста SD-карты. После этого разрешается править данный код на свое усмотрение... :-)))<br /> | ||
+ | Память так же как и сам Минибот и все остальные компоненты можно приобрести здесь http://www.MiniBot.ru <br /> | ||
+ | Удачи коллеги в создании искусственного интеллекта!... :-)))<br /> | ||
− | |||
− | + | '''Исходники''' [[Медиа:test_SD-Card.rar]] | |
− | |||
− | |||
− | + | '''Чтение из SD-Card''' | |
− | + | <source lang="vb"> | |
− | ' | ||
− | |||
− | |||
− | |||
− | + | Sd_address = 0 ; Gosub Read_sd_data 'после чтения данные будут лежать в массиве Sd_data | |
− | |||
− | |||
− | + | </source> | |
− | + | '''запись в SD-Card''' | |
− | + | <source lang="vb"> | |
− | + | Sd_address = 0 ; Gosub Clear_sd_buffer 'Очистить буфер для чтения/записи SD карты | |
− | + | Sd_data(1) = 10 | |
+ | Sd_data(2) = 20 | ||
+ | Sd_data(3) = 30 | ||
+ | Sd_data(4) = 40 | ||
+ | Sd_data(5) = 50 | ||
+ | Sd_data(6) = 60 | ||
+ | Sd_data(7) = 70 | ||
+ | Sd_data(8) = 80 | ||
+ | Sd_data(9) = 90 | ||
+ | Sd_data(10) = 100 | ||
+ | ' и так можно до 512 | ||
− | + | Gosub Write_sd_data 'Записать данные в SD карту | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | </source> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Изображение:Распиновка SD-Card.GIF|thumb]] | |
− | + | [[Изображение:MiniBot - SD-Card.GIF|thumb]] | |
− | + | [[Изображение:1.GIF|thumb]] | |
− | + | [[Изображение:тест.GIF|thumb]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <!-- | |
− | + | Здесь я постараюсь оформить свои давние мысли о применении памяти в элементах ИИ.<br /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Если подходить к памяти с точки зрения организации элементов ИИ, то для начала для начала несколько фактов:<br /> | |
− | + | 1. Флеш-память нынче дешева как никогда и при этом постоянно цена еще падает чутли не ежемесячно. По состоянию на 5 июля 2008г. '''2Гб''' micro-SD в розницу стоила '''268р.''' при этом она умещается на ногте и имеет толщину меньше 1мм.<br /> | |
− | + | 2. Операция поиска у живых организмов происходит '''параллельно''', а не последовательно как принято у нас в программировании. А именно, из милллиона записей БД мы в программировании чтоб найти что либо должны перебрать почти весь список т.е. нам потребуется почти миллион тактов на поиск, у живых же организмов на это уходит несколько тактов при этом размер базы для них не имеет никакого значения. Мы конечно применяем разного рода ухищрения в виде предварительной сортировки и индексации, но это всё от безисходности. Факт остается фактом, чем больше БД тем больше времени уходит на поиск. При этом как такого тактования применяемого сейчас сплош и рядом в микропроцессорах у живых организмов нет. А оно собственно и не надо. Посмотрите как работает паралельная озушка, у нее никакого тактового нет. Но об этом чуть позже...<br /> | |
− | + | 3. флеш-память можно расматривать как скучкованную в одном месте гору микросхем отдельных памятей по 512 байт. В случае с вышеупомянутой 2ГБ карточкой это 3.967.488 микросхемок по 512б <br /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Изображение:Мгновенное голосование.GIF|thumb]] | |
− | + | Итак для примера рассмотрим самый простой пример, необходимо подсчитать общее количество единичек поступивших на вход, у нас есть три пути:<br /> | |
+ | --- С помощью микроконтроллера или микропроцессора написать соответсвующий '''последовательный''' код. Вывод чем больше у нас входов тем дольше мы будем подсчитывать.<br /> | ||
+ | --- С помощью логики собрать схему приведенную на рисунке 11.12 Тут всё хорошо никакого тактования, подсчет происходит мгновенно. Одно плохо, если необходимо увеличить количество входов, то прийдется перепаивать схему.<br /> | ||
+ | --- Собрать схему на флешевой памяти. Входа в нашем случае это адресные линии, выход это шина данных. Ложка дегтя которая сразу бросается в глаза, такой вариант прийдется обучать. Но позвольте господа, именно так у живых существ и просиходит! И помоему мы как раз этого и добивались! :-) И обучать-то прийдется всего только один раз, при современных скоростях это займет доли секунд<br /> | ||
− | + | И вот тут мы плавно и незаметно подошли к понятию '''ассоциативной''' памяти.<br /> | |
+ | Схеме на базе памяти по большому счету всё равно что там у нее на входах, она четко запомнила, когда на входе то-то, то на выходе должно быть то-то. Я считаю что такому принципу работает любой нейрон, хоть сложения хоть вычитания с умножением, хоть распознования образов. Т.е. в процессе обучения устанавливается ассоциация входного сигнала с номером образа.<br /> | ||
− | |||
− | |||
− | + | И сдается мне, что весь наш интеоект базируется на трех китах:<br /> | |
− | + | -- ПИД регулирования поставленной цели согласно приоритетов<br /> | |
− | + | -- Ассоциативной памяти<br /> | |
− | + | -- И системы голосования распознаных образов<br /> --> | |
− | |||
− | |||
− | </ |
Текущая версия на 09:09, 6 января 2009
Писать собственно сильно нечего, всё предельно просто как валенок.
Легким движением руки паяем переходничек о шести проводках согласно схемы.
На самом МиниБоте ничего перепаивать не надо.
Эксперементальным путем установлена работоспособность SD-карт при питании 4.1В (но это не говорит о том что и ваши SD-карты такие же не прихотливые ;-)).На крайний случай на период тестов запускайте МиниБот при разряженом до 3.6В акуумуляторе.
Затем честно себе копируем код теста SD-карты. После этого разрешается править данный код на свое усмотрение... :-)))
Память так же как и сам Минибот и все остальные компоненты можно приобрести здесь http://www.MiniBot.ru
Удачи коллеги в создании искусственного интеллекта!... :-)))
Исходники Медиа:test_SD-Card.rar
Чтение из SD-Card <source lang="vb">
Sd_address = 0 ; Gosub Read_sd_data 'после чтения данные будут лежать в массиве Sd_data
</source>
запись в SD-Card <source lang="vb">
Sd_address = 0 ; Gosub Clear_sd_buffer 'Очистить буфер для чтения/записи SD карты
Sd_data(1) = 10 Sd_data(2) = 20 Sd_data(3) = 30 Sd_data(4) = 40 Sd_data(5) = 50 Sd_data(6) = 60 Sd_data(7) = 70 Sd_data(8) = 80 Sd_data(9) = 90 Sd_data(10) = 100
' и так можно до 512
Gosub Write_sd_data 'Записать данные в SD карту
</source>