Съдържание:

Мога ли да използвам TinyLiDAR в Scratch?: 3 стъпки
Мога ли да използвам TinyLiDAR в Scratch?: 3 стъпки

Видео: Мога ли да използвам TinyLiDAR в Scratch?: 3 стъпки

Видео: Мога ли да използвам TinyLiDAR в Scratch?: 3 стъпки
Видео: Scratch 2024, Юли
Anonim
Мога ли да използвам TinyLiDAR в … Scratch?
Мога ли да използвам TinyLiDAR в … Scratch?

Получаваме искания от време на време, за да попитаме дали tinyLiDAR ще работи на тяхната конкретна изчислителна платформа. Въпреки че tinyLiDAR е проектиран като лесен за използване LiDAR сензор за Arduino UNO, нищо не го спира да се използва на други платформи като Raspberry Pi (както е показано в предишните инструкции тук). Тоест, ако платформата има I2C шина и може да поддържа функцията за разтягане на часовника на спецификацията I2C. И така - какво ще стане, ако вашата платка дори не поддържа I2C? - нищо че часовникът разтяга нещата … Е, това би бил предизвикателен сценарий, но в действителност той наистина съществува за ултра популярния език за визуално програмиране, наречен "Scratch".

Потърсете го в Google, ако не сте чували досега, но накратко, това е чудесен първи език за всеки, който може да навлезе ума си в сферата на програмирането. Scratch е създаден от MIT Media Lab и съществува повече от 16 години. Това е goto език за обучение на децата да кодират по целия свят. Всеки може да започне да го използва безплатно - тъй като обикновено работи на вашия работен плот в уеб браузър. Проверете тук, ако искате.

TL; DR версия

ДА! С нова функция, наречена "Режим на ултразвукова емулация" в tinyLiDAR f/w версия 1.3.9

Стъпка 1: Издраскайте какво?

Сега има много аромати на Scratch в дивата природа. Любителите на роботиката са склонни да използват версиите, фокусирани върху GPIO, като ScratchGPIO или други модифицирани версии като ScratchX, които могат да бъдат направени да поддържат всеки „експериментален хардуер“. Всичко това е чудесно за напреднали потребители, но основните версии, които са инсталирани по подразбиране на pi, ще бъдат нашият фокус за тази инструкция, тъй като те имат доста ограничени хардуерни опции.

Raspbian Stretch Desktop на pi идва с две предварително инсталирани версии на Scratch. А именно "Scratch" и "Scratch 2". Ще използваме първата, известна още като „Scratch 1.4 (NuScratch)“и ще я използваме „офлайн“, за да можем да използваме функцията GPIO сървър.

Можете да изтеглите официалното изображение на работния плот на pi тук.

По някаква причина създателите на Scratch решиха да поддържат само няколко от най-често достъпните сензори от големи компании като Lego и др. Интересното е, че те също решиха да добавят поддръжка за HC-SR04. Това, разбира се, е повсеместният ултразвуков сензор за разстояние, който просто извежда единична ширина на импулса, пропорционална на измереното разстояние.

Точността на измерването може да варира малко в зависимост от температурата на въздуха, влажността и целевия материал, както е споменато тук, тук и тук. Но като цяло, почти всяка платформа може да измери ширината на импулса на това устройство.

Стъпка 2: Нова функция

Нова функция
Нова функция

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

Хайде да го направим

Добре - бихме могли, затова просто добавихме нова функция към tinyLiDAR (от фърмуера 1.3.9), наречена "Режим на ултразвукова емулация". Можете да получите достъп до него, като използвате командата "u" от актуализирания терминал GUI tinyLiDAR.

Използването му ще промени настройките в енергонезависимата памет, така че ще направи tinyLiDAR да изглежда точно като общ ултразвуков сензор, дори след като го изключите. Можете да го върнете към нормален I2C режим, като натиснете бутона за нулиране и издадете командата "az". Допълнителни подробности са в ръководството за потребителя.

За да направим живота още по -опростен, ние правим сензора tinyLiDAR наличен предварително зададен за този нов ултразвуков режим на емулация от нашия уебсайт. Просто поръчайте версията "-u".

Виж, ма, без запояване

Не е необходимо запояване, а също и макет, тъй като включените кабели "Grove to Female 4pin" ще се включат директно в щифтовете на Raspberry pi заглавието. Задействащият щифт е жълтият проводник, а ехото е бял проводник. Черното и червеното са за сила, разбира се. Вижте основната снимка по -горе за подробности.

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

Поради това вече можете да правите измервания с tinyLiDAR, като използвате ултразвуковата скица по подразбиране „PING“, която се доставя с всяка Arduino IDE без промени в кода! Можете да опитате и без забавяне.

Разбира се, можете да зададете параметри като висока точност, дълги разстояния и т.н. на вашите измервания на LiDAR, преди да изберете командата "u" и след това тя ще прави тези измервания всеки път, когато види падането на задействащия щифт, както е показано на диаграмата по -горе.

Опасност, Уил Робинсън

Обърнете внимание, че ултразвуковият сензор SR04 се нуждае от някои резистори, за да предотврати повреждането на захранването +5v на вашето пи. Но тъй като tinyLiDAR работи първоначално от +3.3v, няма нужда никакви резистори да взаимодействат с pi:)

Стъпка 3: Кодирайте го

Кодирането му
Кодирането му
Кодирането му
Кодирането му

И така, какъв точно е кодът, от който се нуждаем, за да работи tinyLiDAR в Scratch?

Радвам се, че попита!

Това е само въпрос на плъзгане на няколко прости блока за излъчване, както е показано на снимките по -горе.

За да активираме GPIO пиновете, можем да издадем „broadcast gpioserveron“. След това, за да конфигурираме задействащия щифт, издаваме „broadcast config16out“След това можем да конфигурираме ехо щифта чрез „broadcast config26in“и след това да стартираме измерванията чрез „broadcast ultrasonictrigger16echo26“. Това ще доведе до непрекъснато извършване на измервания при около 140 мс ритъм. Можете да прочетете измерените данни, като използвате сензорния блок „стойност на сензора за ултразвуков разстояние“.

Е, това е засега, благодаря за четенето и не забравяйте да разгледате забавната малка демо програма на Scratch (споделена тук), която направихме, наречена "tinyLiDAR_catch_me" и … Scratch On!;)

Препоръчано: