argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Избираема "Програмиране на Arduino за напреднали" - зима 2012/13  (Прочетена 11098 пъти)

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Одобриха да проведа продължение на избираемата "Програмиране в среда Arduino" - за напреднали през зимният риместър на 2012/2013 уч. година. Отпуснаха 60 бройки, не 30, така че ще сме в големите зали 546/547. Записването ще е при мен на първи етап - 23.11.2012 547 КЗ 13:00 до 16:00 ч. Няма да има входен тест, условия и изисквания, но предимство би трябвало да имат посещавалите първата част. За редовно обучение, бакалавър, 2-4 курс (за 1 курс май беше по-сложно с инд. протокол, попитайте инспекторките). За задочно обучение съм обявил същата избираема 2 дни през декември 2012г (краят на очните занятия) - записване след 13.12.2012 при секретарките на ФМИ.  За магистри се оказа, че и с инд. протокол не може, така че не се записвайте, ако сте магистър (няма и да ви запишат - да посещавате можете, но няма да имате оценка).

Вече получих Motor Shield, 4 wheel Mobile Platform (small Robot Chassis), 4 сервота, стъпков двигател, ще поръчам и буустери за напрежение. Ще опитаме да препрограмираме и подобрим и роботчето 3pi Pololu и да му сложим безжичните модули. Така че имаме хардуера, няма да го чакаме.


http://www.ebay.com/itm/320962092205?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649


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

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

Съдържание (по седмици)
1.   Обзор на микроконтролерите и развойните платки. Представяне на хардуерната среда Arduino. Запознаване със софтуерната среда Arduino IDE. Преговор на наученото в част 1 на избираемата („Програмиране в среда Arduino”).
2.   Работа с дисплеи, бутони и I2C/TWI устройства.
3.   Контролен проект – управление на ТМ1638 дисплей с бутони и индикация.
4.   Експерименти с таймери, прекъсвания, управление на двигатели, серво и релета. Роботи и други изпълнителни устройства – проектиране на механизмите и алгоритмите.
5.   Тест на робот с 4WD и серво – реален експеримент.
6.   Управление на робота с безжична връзка – Bluetooth модул HC-06 и модул Wixel 433MHz.
7.   Задаване на индивидуален проект за разработване на робот, серво или друг механизъм. Обсъждане на основните трудности и проблеми. Начален sketch на проекта.
8.   Работа по проекта. Отстраняване на възникналите проблеми. Изготвяне на хардуерен прототип с прототипна платка.
9.   Довършване и тестване на проекта. Писане на техническа документация.
10.   Последно упражнение. Оформяне на оценките.

« Последна редакция: 19.01.2013, 10:25:54 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Предлагам да разгледаме обстойно алгоритъма на 3Pi Pololu робота.

http://www.pololu.com/file/0J195/line-maze-algorithm.pdf

Може да погледнете глава 7 и 8 на ръководството му:

http://www.pololu.com/docs/0J21/7

http://www.pololu.com/docs/0J21/8

http://www.pololu.com/file/download/3pi.pdf?file_id=0J169

http://www.pololu.com/catalog/product/975/resources

http://www.pololu.com/docs/pdf/0J22/building_line_courses.pdf

Ето и един лабиринт, ще го принтирам и пробваме

http://forum.pololu.com/download/file.php?id=132&sid=e026fa30e757adcd7d6b9abbae2dd8ea
« Последна редакция: 22.01.2013, 17:35:35 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Има ли мераклии да си направим РС Амбилайт с Ардуино?

http://www.instructables.com/id/Simple-and-cheap-DIY-ambilight/
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Пробвахме и ATtiny85 с Arduino, много е зарибяващо!

http://tronixstuff.wordpress.com/2011/11/23/using-an-attiny-as-an-arduino/
http://openenergymonitor.org/emon/buildingblocks/attiny

За 1.0.3 Arduino става само от тук http://hlt.media.mit.edu/?p=1695
онова по-горе е за 0.22 и не става на 1.0+ (за ATiny master.zip става дума, описанието на AtTiny в средата на Arduino).

http://www.instructables.com/id/ATTiny-powered-Arduino-Projects-I-made-it-at-Tec/?ALLSTEPS

http://code.google.com/p/arduino-tiny/

http://www.youtube.com/watch?feature=player_detailpage&v=30rPt802n1k

Поръчах и 5 броя ATtiny84, да видим кога ще дойдат. Ползвах www.futurlec.com - не съм купувал от тях досега. 5$ доставка, бива (от САЩ/UK/Australia уж не е от Китай). Ще видим... При тях ATtiny84 са  по 2.60$, 85 са по 1.15$ за брой. Ако доставката е бърза, ще купувам от тях занапред. Китайците ми писнаха с тия 35-45 дни доставка, голям праз, че е free shipping.

P.S. Futurlec пратиха с трекинг през Сингапурските пощи - е, те уж са по-бързи от китайските, до 10 дни идва средно. Искаше ми се да е от UK/USA, но не би... Ще кажа за колко време е дошло.

P.S. Дойде за 14-15 дена от Futurlec. Май съвпадна с Китайската Нова Година, затва се забави, гледам трекинга е на 16-ти в Сингапур, на 20-ти в Пловдив, а е поръчано на 4-ти и изпратено на 7-ми.
« Последна редакция: 20.02.2013, 15:56:00 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Дето ви показах MSP430 Launchpad - ето малко линкове и материали:

http://www.ti.com/tool/msp-exp430g2

https://github.com/energia/Energia/wiki/Getting-Started

https://github.com/energia/Energia/wiki/Hardware  - нашите са версия 1.5 LaunchPad MSP430G2553, вторият чип в комплекта е MSP430G2452.

http://tronixstuff.wordpress.com/2012/09/26/exploring-the-ti-msp430-platform-with-energia-arduino-compatible-ide/

Когато ползвате готов код за Ардуино, се налага леко променяне и съобразяване, но ако си правите нови неща и свикнете, е същото, както с Ардуино (говоря за работа с Energia).

Поръчах и един Stellaris LaunchPad с ARM (тия сакън да не видят от Arduino Due, макар че то по-скоро Due е тяхно копие) - https://estore.ti.com/Stellaris-LaunchPad.aspx - това обаче е с друг основен софтуер, но е яко за 20 лв. 80MHz ARM, 256K flash, 32K RAM. Най-якото е, че Energia го поддържа, това е последната платка в списъка, дето се чудехме в час кво е...
http://www.ti.com/lit/ug/spmu289a/spmu289a.pdf
Драйверите за ICDI USB интерфейса, няма ги в Energia май - http://forum.stellarisiti.com/blog/6/entry-13-stellaris-launchpad-driver-file-installation/
Указания за Stellaris & Energia: http://tronixstuff.wordpress.com/2013/02/02/exploring-the-ti-stellaris-platform-with-energia-arduino-compatible-ide/

Библиотеки за Енергия http://forum.stellarisiti.com/forum/64-energia-libraries/

Бях забравил, че съм купил лани и 1 брой CC110L RF BoosterPack http://www.ti.com/tool/430boost-cc110l - ще го донеса да го пробваме и него на избираемата.
http://msuraj.wordpress.com/2012/04/01/working-with-anaren-air-booster-pack/
http://www.element14.com/community/roadTestReviews/1371

А това са интересни проекти с MSP430 - http://dangerousprototypes.com/category/msp430/

P.S. - TI ползват вече DHL Global Forwarding, а не FeDex, така че няма да са вече по 4-5 дни доставките, дано не съм прав. Ще видим...
P.S.2 - Истинското DHL си е - куриери - дойде за 4 дена (защото има и DHL Global Mail - което е въздушна поща - около 10 дни и идва по пощата). Утре ще ви раздам на томбола 2 броя 430-ки!
P.S.3 - Дойде и Stellaris Launchpada с DHL за 6 дена (имаше 2 почивни).
« Последна редакция: 20.02.2013, 16:44:43 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

http://www.geek.com/articles/chips/how-its-made-raspberry-pi-edition-20121230/

Интересно клипче! Имам и Raspberry Pi model B. Скоро купих и GPIO кабелче, ама нямам време да го разцъкам по-сериозно, иначе в новата версия на Raspbian Wheezy (Debian клонинг) оправиха доста неща, най-вече HDMI изхода и вече е поносимо на ТВ-то.
« Последна редакция: 10.02.2013, 14:53:07 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Просто пускам не-редактирано от форума за МК

http://mcu-bg.com/mcu_site/viewtopic.php?p=145444&sid=cc2065b6f9cbbca78da82d7a92f9b557#p145444

И, невероятно, но факт: Ако ви дава Launch 4j: an error occurred while starting the application при стартиране на Arduini IDE или Energia, много често помага спирането (изваждането, ако е USB донгълче) на Bluetooth на вашия компютър. Не го вярвах, но при колегата се появи и се оправи само с това. Не помогна преинсталиране на Джава, триене на preferences.txt, сетване на readonly файловете в APPDATA на нормални, триенето на Sketch папката и т.н., помогнало на други с тази грешка!
« Последна редакция: 19.02.2013, 15:57:50 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Алтернативни, tweaked, версии на Ардуино и Енергия:

http://arduino.cc/forum/index.php?PHPSESSID=5678003255665ef476483d5c11626ad4&/topic,118440.0.html
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Тексас Инструментс вдигнаха цената на MSP430G2 LaunchPad на 5$ (беше 4.30$), но не е това проблемът - нямат наличност и са back ordered с очаквана доставка 20-03-2013. Иначе, поръчах още 3 броя, ама ще дойдат за пролетната ваканция, както гледам. Stellaris LM4F120 LaunchPad е все още наличен и на старата си цена от 12.99$ (засега).

P.S. Пратиха ги трите MSP430-ки на 1.03. Дойдоха на 6-ти.
« Последна редакция: 10.03.2013, 00:06:58 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page
Активен

lamerko

  • Неактивен Неактивен
  • Публикации: 211
    • Моят блог

От извесно време поглеждам към няколко контролера, но като започна да смятам всички интересни датчици и модули се получава една неприятна сума... дали има някъде китове с разнообразен набор от периферия на цена като за баш любители? :)
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Ами скъпичко е. Все пак ти препоръчвам TI Stellaris ARM за 13$ с доставка (виж по-горе има линк) С Енергия се програмира доста добре. А датчици и модули - няма как - зависи какви са. Един по един си ги купуваш и това е. Все пак вече има и Arduino Mega 2560 за 17.30$, ако искаш да си е чисто Ардуино, за съвместимост с кода и модулите по нета.

http://www.ebay.com/itm/251143019741

Комплектите идват по-скъпо реално...

Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Spectrum analysis with the Arduino

This type of spectrum analysis is done with a Fast Hartley Transform (FHT) using the OpenMusicLabs Arduino FHT library. The code as used, samples data points from the analog A0 channel at the rate of 40,000 Hz, and is able to sample and compute a 256-bin FHT at greater than 100 times per second.

http://vtchl.illinois.edu/node/557
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

https://www.youtube.com/watch?v=F2SYGGqxxEo
https://www.youtube.com/watch?v=dTzrARIHYgE

Хубаво туториалче за сервота с Ардуино

http://www.youtube.com/playlist?p=A567CE235D39FA84
И тези серийки са готини
« Последна редакция: 15.03.2013, 09:56:39 от Светослав Енков »
Активен

lamerko

  • Неактивен Неактивен
  • Публикации: 211
    • Моят блог

Така... реших най-после да отделя малко средства за играчки. На първо време си поръчах Raspberry Pi, което по непонятни причини се бави вече 3-та седмица. До тук добре, но идеята ми е да го свържа с Arduino контролер и неизвестен брой датчици (засега). Като за начало искам да си взема Arduino Mega 2560 (съвместима с оригиналната италианска версия), но на много места видях препоръки да си взема всъщност Arduino Uno, който го водят за... флагман?!! Или аз нещо не съм разбрал, или има някаква уловка. Но колкото и да се рових в нета, така и не можах да разбера дали има някакви предимства Uno-то пред 2560.

Следва другия проблем - връзката между Raspberry Pi и Arduino. Изглежда има вариант за връзка през USB, но като цяло го отхвърлям. Остава варианта през GPIO интерфейса. За съжаление не успях да намеря разбираема документация за една такава връзка - това, което видях, са едни елементарни схеми за свързване, но се замислих дали в този случай няма да ми потрябва I2C разширителна платка, която по принцип не е много евтина.

Идеята на цялата простотия е следната: raspberry-то да послужи за сървър с достъп до Интернет и някои сървърни услуги (база данни, уеб и т.н.), директна комуникация с контролера, който да предава данните от датчиците и чрез интерфейс, писан от мен тези данни да се вкарат в базата и да се визуализират по подходящ начин. По тази причини не ми се вижда добра идея да използвам USB-то като връзка между контролера и малинката - ако успея да подкарам GPIO като UART, това предполагам, че ще свърши много добра работа.

И конкретно въпросите:

1. Кое от двете да си взема - Arduino Mega 2560 или Arduino Uno?!! Mega 2560 изглежда добре, но препоръките в нета за Uno ме притесняват;
2. Има ли някъде достъпна информация относно комуникацията между контролера и Raspberry Pi през GPIO?
3. Ако реша да ползвам LCD дисплей на самото  Raspberry Pi, но в същото време искам да направа връзка през GPIO с контролера (LCD-то също ще използва GPIO), трябва ли да се набутам с достатъчно скъпа разширителна GPIO/I2C платка?



Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Arduino Uno е с AtMega 328P чип - няма никакви предимства пред Arduino Mega 2560, което е с чип AtMega2560, който е с повече рам, флаш, изводи, всичко. Единственото предимство на Uno е по-ниската цена.

Raspberry Pi е добре да го вързваш по GPIO пиновете с Arduinо-то. Няма друг начин. Вече ти ще си прецениш дали по обикновен UART (като 2560 има дори 4 UARTa) или по какъвто си решиш начин с цифровите вход-изходи на 2560 през GPIO-то. С UART ще стане по-лесно. С I2C също ще стане, но предполагам че ще имаш и доста I2C датчици и ще ти трябва I2C-то за връзка и с тях (не че не позволява шерване, ама).

   http://arduino.cc/en/Reference/serial
   http://elinux.org/RPi_Serial_Connection

Връзка по USB с Arduino е излишна, иначе може и с нея. RPi си има 2 USB-та и ако прежалиш едното, ще можеш да си го ползваш за връзка с Arduino-то по USB, но като UART - и то, ако намериш как да инициализираш USB-то на RPi за връзка с Arduino-то. Няма смисъл, защото платките си имат нормални UART-ове.

За въпрос 3 - зависи от това, колко изхода му трябват на LCD-то за комуникация с RPi (т.е. зависи от интерфейса). Аз бих ползвал LCD с I2C - универсална работа. Но и други протоколи стават, стига да са серийни (т.е. да ползват по-малко от 4-5 извода за връзка с дисплея, изключвам тия за захранването). Има и специални дисплеи LCD, за които на самото RPi има изведен отделен куплунг, но ми се виждат скъпи и не-универсално решение.
Това тук е излишно скъпо, но дава поглед над ситуацията https://www.sparkfun.com/products/11743
има и по-евтино решение http://www.adafruit.com/blog/2013/03/22/raspberry-pi-playing-video-on-2-2-lcd/ на практика I2C LCD е най-универсалното решение.
« Последна редакция: 25.04.2013, 18:00:43 от Светослав Енков »
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page

Бях забравил да ви спомена, че има и софтуерна реализация на USB 1.1 за AVR/Arduino, верно без корекция на грешки и всички екстри, но върши чудна работа понякога:

http://www.obdev.at/products/vusb/index.html

и порта за Arduino http://code.google.com/p/vusb-for-arduino/

http://code.rancidbacon.com/ProjectLogArduinoUSB

Върши чудна работа за добавяне на USB функционалност към ATtiny84/85, например, без добавяне на скъпи FTDI или PL2303 чипове към вашият проект. Е, леко е бъгаво, иска си напасване и внимаване, докато с външен USB чип е по-лесно и по-стандартно, ама пък нека имаме алтернатива.
Активен