Работа Arduino с базой данных

wilny
Offline
Зарегистрирован: 22.03.2016

День добрый! Сразу скажу, что Arduino даже в руках не держал и тема программирования для меня далека. Но обладаю опытом программирования производственных контроллеров марки Siemens (LOGO! и S7-200) и то только на лабораторных работах. В данный момент хочу использовать Arduino в дипломной работе, тема которой Автоматизированный склад, а точнее его модель. Его цель будет управление штабелером. Буду очень признателен получить информацию где что-то почитать и посмотреть, чтобы узнать, как возможно при помощи Arduino вести базу данных, которая будет сообщать пользователю о заполненности склада и местенахождения определенных объектов при этом управляю шаговыми двигателями штабалера.

esisl
Offline
Зарегистрирован: 21.05.2015

У ардуино 2 кб озу и 30 кб флеша. Какая БД?

P.S. чисто теоретически можно прикрутить SD-карту, потом написать эмулятор x86 и запускать на том, что получилось какой-нить PARADOX :) Вполне можно выдавит аналог IBM PC XT :D

Vad33
Vad33 аватар
Offline
Зарегистрирован: 02.06.2015

wilny пишет:

День добрый! Сразу скажу, что Arduino даже в руках не держал и тема программирования для меня далека. Но обладаю опытом программирования производственных контроллеров марки Siemens (LOGO! и S7-200) и то только на лабораторных работах. В данный момент хочу использовать Arduino в дипломной работе, тема которой Автоматизированный склад, а точнее его модель. Его цель будет управление штабелером. Буду очень признателен получить информацию где что-то почитать и посмотреть, чтобы узнать, как возможно при помощи Arduino вести базу данных, которая будет сообщать пользователю о заполненности склада и местенахождения определенных объектов при этом управляю шаговыми двигателями штабалера.

Вам нужно смотреть в сторону плат ардуино с мощным процессором типа Arduino Due или Galileo.

Но в принципе примитивную БД можно соорудить и на чем то вроде Arduino MEGA 2560 или Arduino ZERO

+ SD карта. Все зависит от конкретных обьемов и требований. 

 

http://playground.arduino.cc/Code/DatabaseLibrary

 

 

wilny
Offline
Зарегистрирован: 22.03.2016

Могу подробнеее объяснить суть задачи.

Планируется соорудить макет со складом (примерно 12 ячеек). Штабелер будет управляться от шагового двигателя, думаю, что найти урок на youtube не  будет проблемой. Но как объяснить штабелеру в какую ячейку положить предмет, а еще и дать ему это запомнить, для меня пока что загадка.

Vad33
Vad33 аватар
Offline
Зарегистрирован: 02.06.2015

wilny пишет:

Могу подробнеее объяснить суть задачи.

Планируется соорудить макет со складом (примерно 12 ячеек). Штабелер будет управляться от шагового двигателя, думаю, что найти урок на youtube не  будет проблемой. Но как объяснить штабелеру в какую ячейку положить предмет, а еще и дать ему это запомнить, для меня пока что загадка.

Если просто на 12 ячеек, то можно например сделать для плоской модели склада

3-х мерный массив в котором

1 элемент - координата ячейки по горизонтали,

2 элемент - координата по вертикали или глубине, 

3  элемент - номер предмета. если номер =0 значит ячейка свободна.

если нужен объемный склад, добавляем элемент координаты объема,

если еще нужен номер ячейки - добавляем элемент номер ячейки.

Получится 5-ти мерный массив. А дальше делаем процедуры и функции

работы с массивом, например поиск по номеру ячейки или по номеру предмета

перемещение в ячейкуи т.д.

Для 12 ячеек, думаю, можно и на обычной Ардуине UNO сделать.

Либо массив, либо использовать готовую библиотеку DB.ZIP, про которую писал выше.

В общем - вариантов куча.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Если для диплома, то сойдет и в EPROM запоминать. http://robocraft.ru/blog/arduino/82.html

Выдели сколько надо ячеек и записывай туда коды коробочек.

Если для жизни, то проще ПК задействовать, а управлять шаговиками уже через arduino. А то завтра бухгалтерия придет и попросить автоматизировать отчетность остаткоd, движений, всякую FI-FO, а еще в цвете и в желательно в Екселе.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

И еще.

Если на 12 ячеек, то база нафиг не нужна. Проще перебором искать каждый раз.

Создаешь три массива по 12 ячеек.

Массив1 0-12 коды продуктов.

Массив2 0-12 координата Х

Массив3 0-12 координата У

 

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

И еще.

Я вот не понимаю, как можно проучится 5 лет в институте на радиофаке и не могти ардуину запрограммировать.

wilny
Offline
Зарегистрирован: 22.03.2016

Благодарю за ответы!

не 5 лет и не радиофака)

но проблему в уровне умений програмирования вижу и сам, поэтому и предупредил изначально.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

И еще.

Брось нафиг этот штабелер.

Лучше выжигатель на б.у. DVD-ROMах сделай. Хоть полезная вещь в доме останется. Создай тему на форуме, забрось схему и исходники. Потом в резюме хоть сослаться на раскрученную ветку можно будет. Это зачтется работодателем, как практическая реализация интерестного проекта. Или интерестный универсальный тестер сделай.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

И еще.

Для тех кто не "шарит" в программировании и оно ему нафиг не нужно, а сцу*о автоматизировать что то надо.

Для тех кто осилил Logo. http://flprog.ru/

https://geektimes.ru/company/flprog/blog/269946/

wilny
Offline
Зарегистрирован: 22.03.2016

Тема моего диплома - часть макета на 2х человек. Да и сама тема мне очень интересна, проблема только в отсутствиии знаний програмирования. 

Если интересно, то предполагается конструирование примерно похожего варианта:

https://youtu.be/-kSIhIP3d0Y

wilny
Offline
Зарегистрирован: 22.03.2016

Вот за это действительно большое спасибо!

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Я вот не понимаю наших дебильных тем для диплома.

Когда я заканчивал Универ, то тоже преподаватели страдали "интерестной темой". 12 листов чертежей и 150 листов записки. Лучше бы конструкцию молотка на диплом делал, но правильно, с нормальными расчетами, пакетом чертежей, ведомостью покупных, технологичесской картой...

Vad33
Vad33 аватар
Offline
Зарегистрирован: 02.06.2015

Okmor пишет:

Я вот не понимаю наших дебильных тем для диплома...

Кто не умеет ничего делать - руководит, а кто не умеет руководить - учит.  )))

wilny
Offline
Зарегистрирован: 22.03.2016

Извиняюсь, за глупый вопрос. Но я правильно понимаю, что при помощи FLProg я смогу зпрограмировать контроллер? И на управление двигателями, которые при помощи ходовых винтов будут перемещать штабелер и саму базу ячеек склада?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

esisl пишет:

У ардуино 2 кб озу и 30 кб флеша. Какая БД?

P.S. чисто теоретически можно прикрутить SD-карту, потом написать эмулятор x86 и запускать на том, что получилось какой-нить PARADOX :) Вполне можно выдавит аналог IBM PC XT :D

Поправлю таки: У ардуино разных - очень разное количество ОЗУ, есть и меньше и больше. Так к примеру у ATmega2560 - уже 8килобайт, а у ATxmega есть модели и по 32 килобайта ОЗУ. А кроме этого, у некоторых моделей (ATmega128A, ATmega2560,..) есть шина расширения ОЗУ (x-bus): напрямую до 64 килобайт, а косвенно - хоть до скольки хочется (рисовал схему на 2Мб+8к родных и делал макетку на 64кб + 8кб родных для Мега2560 .. тут где-то есть тема).

Это так, исключительно для справки, а то народ подумает что это "всё что есть"

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Okmor, оффтоп конечно, но встаньте на место руководителя, которому вешают на шею по нескольку дипломников - недоучек .. и так КАЖДЫЙ ГОД. Какая нафиг разница, что они будут лепить в своем дипломе?

Недоучек - имхо, потому что даже в мое время нормально отучившийся студент свою тему диплома начинал искать и собирать по-немногу уже курса так с 3-го (при 5-6 полных в ВУЗ), когда начиналась специализация и заканчивалось "общее высшее образование" и к диплому - вопрос "что делать?" уже не стоял. Особо продвинутые (была пара таких на моей памяти) не только внедряли свои дипломы, но ещё и на них же кандидатские защищали. И, ежели чел. доучился до диплома, но так и не нашел тему и получает её от препода .. ну стоит ли тут судить что темы "дебильные"? Каков студент - такова и тема.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

автору.

СУБД на Ардуино - организовать не получится ни на каком, но пользовать его некое подобие на SD-карте для чтения чего-то извне подготовленного - вполне. Управление исп. устройствами лучше организовывать на Мега2560. Она имеет полный набор аппартных средств для решения этой задачи. Остальное - урезанные варианты "для бедных" с целью удешевления конкретных конструкций. И только.

Vad33
Vad33 аватар
Offline
Зарегистрирован: 02.06.2015

Arhat109-2 пишет:

автору.

СУБД на Ардуино - организовать не получится ни на каком.

СУБД и база данных - это несколько разные вещи (так для уточнения).

Олег М.
Олег М. аватар
Offline
Зарегистрирован: 22.11.2015

Vad33 пишет:
Кто не умеет ничего делать - руководит, а кто не умеет руководить - учит.  )))

Забыл добавить: Кто не умеет учить - контролирует их !

Artemiy
Offline
Зарегистрирован: 20.10.2014

Хотел тоже ответить автору, но меня уже опередили. Ардуино не совсем подходит для работы с БД. Иначе на ней придется все изобретать самому. Это как убить слона дротиками. Можно. Но понадобится миллион дротиков. Нельзя ли взять нормальную реляционную СУБД, всю выборку на ней делать, а управление штабелером (или что там у Вас) сделать на ардуине? ДА и то, тут тема не диплома, а чего-то более грандиозного. В дипломном проекте сейчас освещается какая-то часть функционала, которая в последующем может быть допилена и выпущена в свет. Без претензий на точность, гибкость и т.п.

Не претендую на истину. Сам не люблю, когда спрашиваю о конкретной вещи, а мне советуют выбрать другую альтернативу. Но я представляю как с ардуиной вы будете писать километры кода по выборке ноликов. Не проще ли взять что-то более гибкое и кошерное?

faeton
faeton аватар
Offline
Зарегистрирован: 21.03.2016

Ребята, шо вы говорите про парадоксы и килобайты? Если это штаберёр, то внешний сервер данных ему в руки хоть свой, хоть SQL, хоть с оболочкой через телнет, http... Но без навыков программирования, как признаётся автор, это затруднительно... :)