argon bulletin board

Факултети => Факултет по математика и информатика => Темата е започната от: Светослав Енков в 10.11.2011, 12:26:59

Титла: Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 10.11.2011, 12:26:59
Програмиране в среда Arduino

гл.ас. Светослав Енков (и проф. дмн. Георги Тотков)


Анотация
Целите на курса са студентите да придобият основни познания за програмирането на 8-битови микроконтролери Atmel AVR в среда Arduino и да се запознаят с принципите на създаването на прости схеми и устройства с тези контролери. Arduino e платформа за електронно прототипиране с отворен код, базирана на гъвкави и лесни за използване хардуер и софтуер. Системата общува със средата, получавайки сигнали от множество сензори и датчици и може да взаимодейства с нея, контролирайки светлини, дисплеи, двигатели и други устройства. Микроконтролерът в платката се програмира с Arduino език за програмиране (базиран на Wiring и подобен на С++) в развойна среда Arduino IDE (базирана на Processing). За нуждите на курса са осигурени по една платка Duemilanove и Mega2560, както и множество сензори, дисплеи, бутони и прототипни платки, с цел практическото усвояване и тестване на получените знания.

Изисквания
Основни познания по програмиране на С++, начални познания по електроника и електротехника (от курса по Физика в средното училище). Не се предвижда да има входен тест. Курсът завършва с разработка и защита на индивидуален проект (схема и програма на устройство с Arduino) и текуща оценка. Дисциплината е предназначена за студентите на ФМИ от всички специалности и курсове, но се препоръчва на студентите от специалност Информатика след 1-ви курс (при взети дисциплини Програмиране и ООП, както и Компютърни Архитектури).

Съдържание (по седмици)
1.   Обзор на микроконтролерите и развойните платки. Представяне на хардуерната среда Arduino. Запознаване със софтуерната среда Arduino IDE.
2.   Работа с цифровите входове и с аналоговите изходи. Принципи на PWM регулирането. Обща структура на софтуерен проект в Arduino средата. Секция Setup и секция Loop. Зареждане на проекта в паметта на контролера.
3.   Първи реално работещ проект – управление на светодиод, зумер и 16х2 дисплей.
4.   Работа с таймери, прекъсвания, управление на двигатели и релета. Роботи и други изпълнителни устройства.
5.   Основни принципи на връзката с потребителя при микроконтролерите – бутони, клавиатури, IR дистанционно управление и 320х240 сензорен дисплей.
6.   Управление на паметта, работа с външна памет – SD карта и външна RAM/EEPROM. Комуникация по I2C протокол. Безжични комуникации по 433MHz ASK протокол. Управление на LAN модул и връзка с Интернет.
7.   Задаване на индивидуален проект за разработване. Обсъждане на основните трудности и проблеми. Начален sketch на проекта.
8.   Работа по проекта. Отстраняване на възникналите проблеми. Изготвяне на хардуерен прототип с прототипна платка.
9.   Довършване и тестване на проекта. Писане на техническа документация.
10.   Представяне и защитаване на проекта. Крайна оценка.

За задочното обучение ще е по-съкратено съдържанието - все пак там ще е 2 дена по 10 часа.

Очаквам мнения и коментари, както и кой ще желае да се запише (не е записване тук).

Планирам занятията с редовното обучение да са 2 (зимен) триместър, в петък следобед. Не можело в събота, затова ще го направя поне да е в петък следобед, за да могат тези от вас, които работят, да се откопчат след 13:30 да идват поне на някои занятия.
Титла: Re:Анонс на нова избираема дисциплона - Програмиране на Ардуино
Публикувано от: lamerko в 10.11.2011, 12:40:17
Нещо, което бих записал. За съжаление е малко късно. Но се раздвам, че има подобна избираема. Както и че се дава възможност и на задочниците да я запишат.  Според мен ще е добре ако материалите станат публични - хора, които не са я записали, както и външни за унивеситета да имат достъп (до материалите).
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: griph в 10.11.2011, 19:35:25
С голямо желание ще се запиша!  :-) От няколко месеца чета за микроконтролери и тъй като имам интереси в областта на роботиката, много се радвам, че има такъв курс. Имам два въпроса - първо: могат ли да се запишат магистри втора година от двугодишната магистратура, и второ: необходими ли са стабилни познания по Асемблер?
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 10.11.2011, 20:14:55
Асемблер - не - езика е С++.

За Магистри не знам дали могат - писал съм Всички специалности на ФМИ, но не знам това включва ли магистри.

Ще слагам материали в сайта, така че които не могат да присъстват - ще участват 'задочно', като ще дойдат на 1-2 упражнения, не на 10-те. Важното е накрая да има работещ проект и придобити знания (аз помагам и извън часовете по чата и фейсбук).
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: griph в 10.11.2011, 20:34:13
Благодаря за бързия отговор! Зимния и пролетния семестър имаме избираеми дисциплини по учебен план, ще попитам инспекторката дали може да се запиша, предполагам, че тя ще знае.
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 10.11.2011, 22:59:55
Ако ти е готино, идвай без протокол, но няма да имаш кредити и оценка. Аз (докато има място в залата) няма да гоня хора. То няма и да има супер наплив (познавам си стоката, на РНР бяха тъпканак, после се изнизаха).
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Михаил Петров в 10.11.2011, 23:17:03
Аз съм вътре със сигурност само се надявам зимният триместър в петък да нямам съвпадащи занятия понеже съм 1 курс и нямам избирателни. Под краен проект в края на обучението се има в предвид ФИЗИЧЕСКИ или СОФТУЕРНО реализиран такъв.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 11.11.2011, 06:56:11
Ами то винаги са и двете неща - проекта си е скеч (софтуер) и схема (хардуер). Понеже няма как да има за всеки отделна платка (купил съм 2 с мои си пари - не мога да ви карам да си купувате и вие), ще го измислим някак си. Това да е проблема. Има и емулатори - http://emulare.sourceforge.net/ - Не съм го пробвал този Emulare - но изглежда ОК, ще го пробваме и него.

За 1 курс - вие нямате право на избираема официално, но има начини - с инд. протокол накрая и важи за 2 курс. Питайте инспекторката.

Стига да нямате лекции баш по това време - упражненията се разместват.

Предполагам дотогава ще работи и Роболаб и ще може да ползваме и механизми за роботи към края на курса (за редовните).
Титла: Re:Анонс на нова избираема дисциплона - Програмиране на Ардуино
Публикувано от: Емил Дойчев в 15.11.2011, 11:56:00
Да, забравих да кажа, че ще сложа материалите и прогреса на лекциите в Интернет. Още умувам къде (сигурно в сайта на ПУ или ФМИ, че моят сайт си има все пак трафик лимит и е платен).

Мога да ти предложа да използваш библиотеката на DeLC (http://delc.fmi.uni-plovdiv.bg). Платформата е Liferay, ползва Фокус за оторизация. Има възможност за задаване на детайлни права по факултет/специалност/курс/група... Другото го знаеш. Ако решиш - пиши да направим необходимите настройки.
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 15.11.2011, 12:12:22
Ще използваме по всяка вероятност Библиотеката на DeLC портала. Сигурно и тестовете и форума ще ползваме, ако е възможно.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 16.11.2011, 10:27:16
Вече почвам да качвам материали. Все още има проблеми (с големината на файловете, най-вече).

http://delc.fmi.uni-plovdiv.bg/bg - логвате се тук с Фокус регистрацията си.
Избирате Библиотека. Избирате Избираеми Дисциплини. Избирате подпапка Програмиране в среда Arduino. И там засега е само подпапка Books (засега 3 книги, защото лимита е 3МВ, а другите книги са по-големи). В по-горните папки ще слагам и материали и проекти, а ще можете и вие да си качвате материали, за да не ползвате общи пощи и файл-шеринг системи.

ПП. Лимита вече е 100МВ и съм качил още материали.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 16.11.2011, 20:38:58
За студенти 1 курс Информатика / БИТ, процедурата е следната: след като приключи записването и ако има свободни места (за мераклиите ще има), се записвате при секретарките в 330 кабинет при Константина Иванова и веднага или накрая на семестъра си взимате индивидуален протокол от инсп. Ненка Трайкова за оценката.

Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 17.11.2011, 12:09:19
http://www.sparkfun.com/products/10745

http://www.ixbt.com/news/hard/index.shtml?15/25/49

Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Rick в 17.11.2011, 15:32:11
Аз питах инспекторката в каб. 330, дали е възможно ние, студентите от магистърските програми, да запишем избираема дисциплина от списъка, който е обявен за бакалавърските програми и отговорът беше положителен. Каза ми, че трябва да отида на обявената дата за записване и да упомена пред преподавателя, че съм в магистърска програма, за да ме добави той в края на списъка си. И така, можем ли да се запишем?
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: jdbc в 09.12.2011, 10:33:28
...
 Има и емулатори - http://emulare.sourceforge.net/ - Не съм го пробвал този Emulare - но изглежда ОК, ще го пробваме и него.
...

На прима-виста работи, малко странно обаче. Отне ми доста време докато разбера как се правят елементарни връзки - прецизно кликане в/у пиновете (които са по 1 пиксел широки линийки) му е майката. Документация - йок.
Към момента сценария за работа ми изглежда така:
0.) Дефиниране на идеята - какво точно ще представлява проекта. Преглед в emulare дали разполагаме с необходимите компоненти.
1.) Сетъп на тестовата постановка - борд + външен хардуер в emulare.
Предупреждение - по-честичко Save-айте борда, щото emulare гърми често(поне при мен)
2.)  Пишете програмата във офиц. среда за разработка
3.)  Компилирате, като преди това чеквате опцията
File->Preferences->Show verbose output during:compilation
4.) От съобщенията генерирани по време на компилацията, в прозореца под сорса,
се локализира файла с компилирания код, който ще се зареди в emulare, например:
C:\DOCUME~1\bongo\LOCALS~1\Temp\build1634757864387928133.tmp\bongo.cpp.hex
... при вас ще се казва по друг начин, търсите файла с разширение .cpp.hex
5.) Зареждане на кода във виртуалния микроконтролер, който е сетъпнат в 1.), става така:
right-click в/у микроконтролер-а и -> Load program
6.) старт ! : Run->Start
Още няколко хинта:
* emulare емулира atmega328p
* Полезно е да се следи състоянието на пиновете по време на ринтайма, става с right-click в/у микроконтролер-а и -> Pins
* За да не се чудите, кой пин къде е, на сайта има ПинМапинг:
http://www.arduino.cc/en/Hacking/PinMapping
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 09.12.2011, 12:11:00
Браво за положените старания да опишеш процеса - ще бъде полезно на колегите ти. При мене на Win XP пък виртуалният СОМ порт ми се инсталираше 15 минути и бях загубил вече надежда (пък виждах, че не е забило). Та, с тия опън-сорс неща търпение му е майката, а и мазол на Ctrl-S или Save All.

Вече имаме още 1 Arduino Mega2560 и 1 3pi Pololu роботче с 2 безжични модула и 1 Pololu AVR програматор. http://erelement.com/robots/pololu-3pi-robot

Да изкажа сърдечна благодарност на фирма Пастел Студио и Христо Инджов за дарението!

Сега ще поръчам с мои пари ей това, че го пропуснах, а без него няма как да ползваме безжичният модул: http://erelement.com/robots/3pi-expansion-kit
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: jdbc в 09.12.2011, 13:20:40

Вече имаме още 1 Arduino Mega2560 и 1 3pi Pololu роботче с 2 безжични модула и 1 Pololu AVR програматор. http://erelement.com/robots/pololu-3pi-robot

Тоя малкия е голям змей !
- Описание на 3pi Pololu: http://www.youtube.com/watch?v=TxxYvlARPqk
- Състезание по заобикаляне на препятствия: http://www.youtube.com/watch?v=SwSKEaJcOV8
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Георги Соколов в 19.12.2011, 09:38:38
Хайде малко коледно настроение за нашите роботизирани специалисти:

http://www.engadget.com/2011/12/19/arduino-hack-lights-up-the-tree-with-every-email-spammers-get-i/
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 03.01.2012, 21:19:26
Най-сетне тръгна отново (12 дни Коледен блякаут) DeLC

http://delc.fmi.uni-plovdiv.bg/en/library/-/document_library/view/46683

тук съм качил материалите. Ще добавям и нови.

Дойдоха ми и двете развойни платки MSP-EXP430G2 Launchpad и една 430BOOST-SENSE1 Capacitive Touch BoosterPack, като сега си поръчах и чакам и една MSP-EXP430FR5739 Experimenter Board от TI, та ще разнообразим и сравним TI MSP430 Launchpad с Ардуино (AtMega 328P/2560). Особено по-скъпичката EXP430FR5739  е много готинка, ама и тия MSP-EXP430G2 са на смешна цена 4.30$ с доставката (при това доставят с FedEx Express Intl Priority куриер, паднах - за 4 дни от САЩ - дават до 3 платки да се купят и пише SAMPLE, буустерпака е 10$, а 5739 е 29$). Code Composer Studio е от сорта на Eclipse, огромно, бавно и мощно IDE.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 11.01.2012, 09:40:56
Петък, 13-ти януари, 12:45, 532 К.З. - ако няма промяна.

На първото занятие смятам да е повече теория и запознаване с нещата.

В DeLC съм сложил книгите и слайдовете.

Имаме вече и едно Arduino Nano.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 14.02.2012, 16:06:04
http://www.ecs.umass.edu/ece/m5/tutorials/tip122_transistor_tutorial.html

http://www.ecs.umass.edu/ece/m5/tutorials/tutorials.html

http://arduino-for-beginners.blogspot.com/

Хубави указания за връзване на неща към Ардуино - използвайте за вашите проекти.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 23.02.2012, 13:40:26
Надъхвам се за това (вижте пидефа) http://www.ti.com/tool/ez430-chronos (https://estore.ti.com/eZ430-Chronos-433-Chronos-Wireless-development-tool-in-a-watch-P1734.aspx), обаче нямам нерви за разправии с Fedex и митницата отново, не и докато не се оправи времето, иначе за парите - ще ми излезе 49$ + 20% ДДС на тях + 1 лв банков превод + 12 лв комисиона за Fedex за освобождаване от Митница Летище София. Пълномощно вече съм им дал (с указание за многократно използване), дано го пазят, че иначе и за него 6 лв и ходене до нотариус. EORI номер вече си имам... Абе, 101.50 лв някъде, ако не се наложи нотариус. Но е готино - има термометър, висотомер/барометър и триосен акселерометър (става за крачкомер) и най-важното - има възможност за препрограмиране и връзка с до 4 външни 433Mhz сензора (има такива за сърдечен ритъм, за кръвно налягане, за квото се сетите). Малко неудобно са направили препрограмирането - разглобява се часовника, за да се осигури достъп до JTAG/USB конектора, можеха да го измислят с чисто microUSB - на Garmin са така моделите с подобни функции (ама те, първо са 3-4 х по-скъпи, второ се свързват само с Garmin аксесоари на луда цена и трето, нямат препрограмиране /изключвам одобрен от Garmin firmware update/). То и тук има простотии, че безплатните компилатори на TI за CC430 са лимитирани до 16КБ изходен код, но тук има начини за заобикаляне или други компилатори.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 29.02.2012, 10:33:03
Дойде и ултразвуковият далекомер.

http://iteadstudio.com/application-note/arduino-ultrasonic-ranging-with-hc-sr04/
http://www.elechouse.com/elechouse/images/product/Arduino%20Ultrasonic%20Range%20Detection%20Sensor/Arduino%20Ultrasonic%20Range%20Detector.pdf

И модула с 2 релета по 10А. Вече може да управляваме сериозни неща.
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 01.03.2012, 14:45:17
Дойдоха и 2 LCD Keypad shield-a.

http://www.robotshop.com/dfrobot-lcd-keypad-shield-arduino-1.html

Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 02.03.2012, 08:55:04
Роботче-художник с Ардуино http://www.3dnews.ru/news/625358
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 02.03.2012, 18:27:09
Дойде и това стъпково двигателче с ULN2003 управляващ чип

http://www.ebay.co.uk/itm/5V-4-phase-Stepper-Motor-Driver-Board-ULN2003-Arduino-/220885759668?pt=LH_DefaultDomain_0&hash=item336dd136b4#ht_2168wt_1396

http://iteadstudio.com/store/index.php?main_page=product_info&products_id=274

Ще пробваме този проект, нашето двигателче е 5 волтово
http://www.betasix.net/connecting-a-unipolar-stepper-to-arduino/
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 03.03.2012, 17:36:58
Поръчах 30 сини и 40 бели светодиода, да пробваме 3х3х3 кубче:

http://www.planetarduino.org/?cat=71

http://www.youtube.com/watch?v=JxUbwSWTUqU

http://simharry3.wordpress.com/2011/02/08/3x3x3_led_cube_pt1/

Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 04.03.2012, 18:32:28
Поръчах и едно такова дисплейче

http://ladyada.net/products/nokia5110/

http://www.sparkfun.com/products/10168
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: radko87 в 08.03.2012, 14:09:58
Ето един полезен линк http://www.robotev.com

Аз от тук пазарувам, пичовете са големи фенове а и на сайта има бая полезни линкове.
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: Светослав Енков в 08.03.2012, 19:26:48
Знам ги Роботев, но за жалост са точно 2 пъти по-скъпи от Ebay. Предимство е, ако не ти се чака. Иначе са си пичове, да! И курсове, семинари, състезания организират. Ползвам някои материали от тях (книжки и линкове).
Титла: Re:Анонс на нова избираема дисциплина - Програмиране на Ардуино
Публикувано от: 4olkata в 16.03.2012, 22:09:09
http://vbox7.com/play:a74908c406 - 3x3x3 Кубчето готово работещо след два Петъка запояване и разпояване и т.н.т...забавно беше.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 16.03.2012, 23:00:49
Благодаря на мераклиите. Кубчето е много ефектно. http://vbox7.com/play:a74908c406

Мисля да оферирирам за мераклиите свободно достъпни занимания с контролерите и чарковете по време на моите занятия по Курсов Проект 1 пролетният семестър. Е, оценки няма да има, но ще си се пробвате, ако имате мерак и свободно време. Засега се очертава да имам четвъртък следобед 13-15ч и сряда 10-15ч. Има и семинари на РобоЛаб - ще видим как и къде да ги обявяваме и кога да са.
Титла: Re:Анонс на нова избираема дисциплина - Прогр
Публикувано от: Светослав Енков в 01.04.2012, 12:17:29
Не е първоаприлска шега, тоя е маниак http://hackaday.com/2011/09/09/program-an-arduino-using-your-sound-card/

И изобщо в хак-ъ-дей при търсене на Ардуино дава интересни и шантави идеи http://hackaday.com/?s=arduino