Ардуино

Урок за Arduino с Python за начинаещи

Урок за Arduino с Python за начинаещи

Когато сте започнали да играете с дъски Arduino, стандартният език за програмиране се предоставя от Arduino. Този език е изключително полезен за започване и дори може да се използва за реална употреба. Хората, които са го използвали от известно време, обаче забелязват няколко ограничения. Вече може да сте свикнали да програмирате в Python. Поради тази причина разработчиците са изобретили Micropython.

С Micropython имате всички основи на Python, с ограничения поради хардуера, на който най-накрая го използвате. Тази статия няма да обсъжда тези ограничения. Надяваме се, че имате ясна представа за това какво може да направи един микроконтролер. Най-вероятно ще откриете, че може да направи много повече, отколкото сте си представяли преди да започнете.

Някои решения

Има множество начини, по които можете да започнете да програмирате Arduino с помощта на Python. Преди да започнете, искате да помислите дали подготвяте нова програма Arduino или искате да говорите с такава. Има няколко библиотеки, които създават нови програми Arduino, заобикаляйки стандартната система за програмиране, която те предоставят.

Имате дъски, които вече изпълняват Micropython; можете да ги намерите на съответните им начални страници.

Може да искате да създадете програма на Python, която говори със стандартен микроконтролер. Ако го направите, имате няколко библиотеки за интерфейс за Python. Добре известни са Micropython и CircuitPython; това са готови дистрибуции за работа на специални дъски. Можете да компилирате за други дъски, ако имате уменията.

Mu-редакторът за микропитон

Лесен за използване редактор е mu-редактор. Този редактор е подготвен така, че да открива вашата дъска на серийния порт, ако имате такъв. Ако нямате такъв, можете да започнете да работите с обикновен Python. За да изберете, променете режима от горния ляв ъгъл. Стандартният Python работи и можете да свикнете с редактора.

Този редактор има няколко IDE функции, като попълване на код, подчертаване и можете да започнете REPL. Всички тези функции работят дори когато са свързани директно към платката. За да инсталирате редактора, можете да го намерите в хранилището на вашата дистрибуция.

$ sudo apt инсталира micropython mu-editor mu-editor-doc

Това са всички инструменти, от които се нуждаете с дъска, на която вече има Micropython. Един прост код, който можете да опитате, е честото мигане на светодиода на платката. За да стигнете до хардуера, като светодиод, трябва да импортирате библиотеката.

от светодиода за импортиране на pyb
време за импортиране
състояние = Невярно;
докато е вярно:
време.сън (0.5)
ако състояние == невярно:
LED (включен);
състояние = Вярно;
друго:
LED (изключен);
състояние = Невярно;

Използвайте горния код, за да изпробвате новата си дъска. Имайте предвид, че 'pyb' ще варира от дъска до дъска, Adafruit използва машината. Отделете време да научите какви са стойностите на вашите дъски от документацията.

REPL - Прочетете, оценете, отпечатайте, повторете

Когато използвате MicroPython или който и да е Python, имате наличен REPL. Това е чудесен начин да тествате кратки фрагменти от код. В този случай можете да го използвате, за да откриете какви модули са налични. Функцията help () върши чудесна работа, като ви води през основите на това, което имате на разположение.

Когато стартирате help () без параметри, той ви дава списък с опции. След това е интерактивно; въведете това, за което трябва да попитате, и насоки за използването му.

Използвайте REPL, за да намерите какви библиотеки поддържа дъската. Това е малко по-труден метод за обучение, но имате навика да използвате вградената документация. За да научите истински, трябва да вземете няколко урока и да надградите нещо друго върху тях.

Табла с Micropython

Най-лесният начин да започнете програмирането за Arduino с помощта на Python е да си купите готова за това платка. Дъските, които съществуват на пазара, са впечатляващи и идват от много доставчици. Основните библиотеки са CircuitPython и Micropython.

Впечатляваща дъска идва от Adafruit, наречена Circuit Playground. Тези дъски са кръгли, което е странно. По-важното е, че те имат 10 Neopixels на борда и това е само визуалната част. Няколко сензора са на дъската, включени са също два бутона и плъзгащ се превключвател. Входните / изходните щифтове са направени за използване на алигаторни клипове, като същевременно са налични като капацитивни сензорни бутони.

Seedstudio има и набор от платки, поддържащи CircuitPython. Те се предлагат в диапазон от много малки до много способни. WiPy 2.0 е малка дъска, която е готова за работа, въпреки че е полезно да вземете антенния комплект. Платката разполага с WiFi модул за ESP32, един RGB светодиод и ключ за нулиране. Получавате много по-малко хардуер, но размерът е 42 мм х 20 мм х 3.5 мм и все още имате много щифтове на дъската.

Прости проекти за започване

След като направите програмата си за мигане, със сигурност ще искате да опитате нещо по-трудно. Уверете се, че имате нещо завладяващо, което е предизвикателно, но разрешимо. Ето няколко предложения.

Направете програма, която мига една светлина с равномерно темпо. В същото време направете бутон за включване и изключване на друга лампа. Бързо ще видите ограниченията на забавянето ()!

Направете MIDI контролер.

Направете проста алармена система, използвайки инфрачервен сензор и някои NeoPixels.

Заключение

Най-добрият начин да започнете с MicroPython е да вземете прилична дъска, която вече поддържа MicroPython или CircuitPython и да започнете да изпробвате вашите идеи. Тъй като идеята е да контролирате други неща, потърсете пакет или комплект, който съдържа няколко сензора и дисплей или два.

Честито хакване.

Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...