За платформата

Тази статия цели да обясни в общи линии детайли за платформата Ардуино.

Първият въпрос е: какво е Ардуино?

Генерално Ардуино е бранд, чието име е станало нарицателно и за други подобни платформи. 

Полезно е да се знае, че под Ардуино се подразбира именно платформата и идеологията, която тя задава. Част от тази платформа са и платките с микроконтролер. Тази платка позволява по удобен начин да бъдат достъпни интерфейсите на микроконтролера.  Самият микроконтролер е чип, който съдържа вътре почти всичко, което е необходимо, но сам по себе си е сравнително безполезен. Платката, върху която е закрепен, вече го прави освен използваем, но и удобно използваем. 

В крайна сметка много често можете да срещнете, че някои автори наричат своите платки Ардуино или Ардуино- подобни. Това не е съвсем коректно, но вече е общоприето. 

Но нека се върнем на описанието на самата платформа. За да опишем платформата, по традиция ще ни трябват няколко ключови термина за компонентите, от които се състои платформата:

  1. Платка с микроконтролер – Въпреки общия термин, с който хората наричат платките с микроконтролер, всъщност съществуват доста брандове, които разработват и произвеждат подобни платки. Всяка от тези компании има собствени семейства платки. Платките в тези семейства се отличават предимно по формата си и по количеството входно/изходни пинове.

  2.  Входно/изходни пинове – това е физическа част от платката с микроконтролер, която е свързана със входно изходните изводи на микроконтролера. Служат за обмен на информация между външния свят и микроконтролера. Най-лесно може да се направи аналогия с тялото на човек: входните пинове възприемат информация т.е. са все едно “сетивата” на платката. Изходните пинове са частите на тялото, които могат да реагират на възприеманото от сетивата.

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

  4. Библиотеки – много често задачите, които ще решаваш и програмираш, имат рутинни и/или шаблонни части. Най-вероятно не си първият, който решава сходна задача. И тук е най-голямата сила на платформата. Други любознателни хора като теб са написали вече кода за управление и/или анализ на някакви данни и го предоставят със свободен достъп. И за да може ти да не си губиш времето с изобретяването на колело, можеш да изтеглиш този готов код и да разработваш само творческите неща от своя проект. Това позволява освен да спестиш време, но и да се учиш на добри или лоши практики, гледайки как някой друг е разработил някакво решение.

  5. Сензори и модули – Тази част е много интуитивна. Както споменахме по-горе, платката с микроконтролер има входно/изходни пинове. Съответно за тези пинове има сензори и модули. Сензорите се свързват към входните пинове и дават информация за външния свят на микроконтролера. А модулите на свой ред се връзват на изходните пинове и могат да бъдат управлявани от нашата програма.

Много често ще срещнеш лоши мнения за платформата. Те обикновено се пишат от прогресивни програмисти и хардуеристи, които критикуват отделните части на платформата. Аргументирайки се, казват, че за да работиш с Ардуино нямаш нужда въобще нищо да учиш и да знаеш.

Но истината е, че платформата е нито добра, нито лоша. Ардуино е платформа, която е направила програмирането и разработката на хардуер достъпна. Достъпна за хора като теб, но тази достъпност си има цена. Цената е, че всички сложни програмни неща са скрити от теб, а хардуерните понякога са просто недостъпни. Ние смятаме това даже за предимство тъй като в началото ще ти е лесно да започнеш. А като надградиш, ще се заровиш в по-дълбоки води и ще можеш да отключваш скритите елементи. 

Успешно програмиране и по-малко изгорели платки!