За платформата
Тази статия цели да обясни в общи линии детайли за платформата Ардуино.
Първият въпрос е: какво е Ардуино?
Генерално Ардуино е бранд, чието име е станало нарицателно и за други подобни платформи.
Полезно е да се знае, че под Ардуино се подразбира именно платформата и идеологията, която тя задава. Част от тази платформа са и платките с микроконтролер. Тази платка позволява по удобен начин да бъдат достъпни интерфейсите на микроконтролера. Самият микроконтролер е чип, който съдържа вътре почти всичко, което е необходимо, но сам по себе си е сравнително безполезен. Платката, върху която е закрепен, вече го прави освен използваем, но и удобно използваем.
В крайна сметка много често можете да срещнете, че някои автори наричат своите платки Ардуино или Ардуино- подобни. Това не е съвсем коректно, но вече е общоприето.
Но нека се върнем на описанието на самата платформа. За да опишем платформата, по традиция ще ни трябват няколко ключови термина за компонентите, от които се състои платформата:
- Платка с микроконтролер – Въпреки общия термин, с който хората наричат платките с микроконтролер, всъщност съществуват доста брандове, които разработват и произвеждат подобни платки. Всяка от тези компании има собствени семейства платки. Платките в тези семейства се отличават предимно по формата си и по количеството входно/изходни пинове.
- Входно/изходни пинове – това е физическа част от платката с микроконтролер, която е свързана със входно изходните изводи на микроконтролера. Служат за обмен на информация между външния свят и микроконтролера. Най-лесно може да се направи аналогия с тялото на човек: входните пинове възприемат информация т.е. са все едно “сетивата” на платката. Изходните пинове са частите на тялото, които могат да реагират на възприеманото от сетивата.
- Среда за разработка (Arduino IDE) – Микроконтролерът, закрепен на платката, сам по себе си не работи. В по-нататъшните уроци ще разбереш, че всъщност за да работи микроконтролерът е необходимо някой да му даде инструкция. Тази инструкция се пише на програмен език, обикновено “C/C++”. Програмният език представлява набор от логически инструкции, различните комбинации на които построява сложни логически взаимодействия. Но този език е разбираем от човек и е абсолютно неразбираем от чиповете. Чиповете разбират само 0 и 1. По-подробно за това ще говорим във следващите статии. Също така е необходимо по някакъв начин да изпратим кода до нашата платка. Именно за тези две функции служи средата за разработка. Тя “компилира” – така да се каже превежда на разбираем за мкроконтролера език – нашия код. След което изпраща чрез USB или програматор този преведен в 0 и 1 код до платката.
Средата за разработка може да сеизтегли от тук: за WINDOWS или за MAC или за LINUX - Библиотеки – много често задачите, които ще решаваш и програмираш, имат рутинни и/или шаблонни части. Най-вероятно не си първият, който решава сходна задача. И тук е най-голямата сила на платформата. Други любознателни хора като теб са написали вече кода за управление и/или анализ на някакви данни и го предоставят със свободен достъп. И за да може ти да не си губиш времето с изобретяването на колело, можеш да изтеглиш този готов код и да разработваш само творческите неща от своя проект. Това позволява освен да спестиш време, но и да се учиш на добри или лоши практики, гледайки как някой друг е разработил някакво решение.
- Сензори и модули – Тази част е много интуитивна. Както споменахме по-горе, платката с микроконтролер има входно/изходни пинове. Съответно за тези пинове има сензори и модули. Сензорите се свързват към входните пинове и дават информация за външния свят на микроконтролера. А модулите на свой ред се връзват на изходните пинове и могат да бъдат управлявани от нашата програма.
Много често ще срещнеш лоши мнения за платформата. Те обикновено се пишат от прогресивни програмисти и хардуеристи, които критикуват отделните части на платформата. Аргументирайки се, казват, че за да работиш с Ардуино нямаш нужда въобще нищо да учиш и да знаеш.
Но истината е, че платформата е нито добра, нито лоша. Ардуино е платформа, която е направила програмирането и разработката на хардуер достъпна. Достъпна за хора като теб, но тази достъпност си има цена. Цената е, че всички сложни програмни неща са скрити от теб, а хардуерните понякога са просто недостъпни. Ние смятаме това даже за предимство тъй като в началото ще ти е лесно да започнеш. А като надградиш, ще се заровиш в по-дълбоки води и ще можеш да отключваш скритите елементи.
Успешно програмиране и по-малко изгорели платки!