Если вы пишете код на языке C или C++, поиск и устранение ошибок работы с памятью, таких, как утечки, выход за границы массива или обращение к неинициализированной памяти, могут доставить немало хлопот. Существует по крайней мере два инструмента для решения этих проблем — Valgrind (не путать с Vagrant!) и Clang’овский MemorySanitizer. Последний работает исключительно под Linux и показал себя несколько сырым и не слишком гибким инструментом, поэтому поговорим о Valgrind. Он довольно гибок и работает везде. Кроме того, в отличие от MemorySanitizer, Valgrind может находить неинициализированные данные с точностью до одного бита. Из недостатков Valgrind стоит отметить сравнительно низкую скорость работы.

RepRap — это проект открытого и дешевого DIY 3D-принтера. Существует множество модификаций RepRap. По моим наблюдениям, модификация Prusa i3 является наиболее популярной. Коль скоро речь идет об открытом проекте, вы можете изготовить и купить все необходимые детали самостоятельно, или же купить готовый набор для сборки. Как вы можете знать из предыдущий постов, я предпочитаю приобретать готовые наборы.

Ранее в заметке Мой первый радиоуправляемый робот на Arduino мы управляли гусеничным роботом при помощи пары устройств NRF24L01. Если помните, для этого приходилось использовать дополнительную Arduino с Joystick Shield. Притом вся эта конструкция получалась довольно громоздкой и неудобной, особенно если учитывать, что джойстику нужно от чего-то питаться, а также тот факт, что NRF24L01 для работы нужен дополнительный переходник со стабилизатором напряжения. Поэтому сегодня мы рассмотрим альтернативный подход, заключающийся в использовании Bluetooth-модуля HC-05.

Помните, я рассказывал про DIY сверлильный станок «Буратор»? Так вот, у CustomElectronics есть аналогичный проект DIY паяльной станции, называется Simple Solder MK936. Как и «Буратор», это полностью открытый проект. Вы можете изготовить паяльную станцию самостоятельно, или купить готовый набор для сборки. Резать оргстекло я пока не умею, а попробовать собрать паяльную станцию очень хотелось, поэтому заказал готовый набор. Из Екатеринбурга в Москву он шел обычной почтой около недели.

Ранее в этом блоге было рассмотрено несколько ЖК-дисплеев / индикаторов и их использование из Arduino. Существенным их недостатком является довольно большой размер, а также вес. Зачастую это не является проблемой. Например, если вы собираете DIY паяльную станцию в самодельном корпусе, там как-то без разницы, какого размера дисплей. С другой стороны, если вам нужен дисплей, скажем, на квадрокоптере, тут вес и размер становятся критически важными. Поэтому сегодня мы научимся работать с очень маленьким и легким экранчиком от телефона Nokia 5110.

В заметке Мой первый радиоуправляемый робот на Arduino мы познакомились с электродвигателями и научились управлять ими при помощи микроконтроллера. Серводвигатель (он же сервопривод, сервомотор или сервомашинка) — не менее полезное механическое устройство. В отличие от электродвигателя, который постоянно крутится, или, если питание не подано, не крутится, серводвигатель умеет поворачивается на заданный угол (часто от 0 до 180 градусов) и оставаться в таком положении. Просто так управлять одним серводвигателем не очень-то интересно, поэтому давайте сразу рассмотрим пример использования четырех серводвигателей в робо-руке MeArm.

Благодаря заметке Два способа мультиплексирования светодиодов на примере микроконтроллеров AVR мы с вами знаем, что можно управлять сотней светодиодов, используя всего лишь 11 пинов микроконтроллера. Но что делать, если нужно управлять двумястами или, скажем, тысячью светодиодами? Оказывается, что изученные способы мультиплексирования могут быть улучшены, да так, что используя всего лишь три пина микроконтроллера можно управлять абсолютно любым количеством светодиодов! И в этом нам помогут следующие микросхемы.

Мало что может сравниться по крутизне с разработкой высоконагруженных веб-проектов типа Facebook или ковырянии ядра Linux. В качестве примечательного исключения можно привести разработку самопальных роботов у себя дома. И знаете, что? Оказывается, полученных нами на данный момент знаний в электронике и программировании микроконтроллеров уже более чем достаточно для создания первого робота!

Трудно переоценить удобство беспроводной связи. Можно управлять самодельными роботами, передавать на расстоянии звук, да и вообще любую информацию, и все это безо всяких ненужных проводов. В мире Arduino существует множество устройств беспроводной связи, вспомнить хотя бы XBee, APC220 / APC230, а также всевозможные Bluetooth и Wi-Fi модули. Но сегодня мы рассмотрим, пожалуй, одно из самых дешевых и широко распространенных решений на базе чипа NRF24L01.

Напомню, что ранее в этом блоге рассказывалось об изготовлении печатных плат при помощи ЛУТ. Это хороший метод, но со своими ограничениями. Например, если немного передержать утюг, тонер потечет и близко расположенные дорожки склеятся. То есть, если вы решили использовать SMD-чипы, метод становится практически непригодным. Кто-то успешно решает эту проблему, покупая в дополнение к и без того не дешевому и занимающему место лазерному принтеру еще и ламинатор. Но я решил попробовать другой метод. Метод заключается в использовании пленочного фоторезиста.