Как запрограммировать ардуино: Аrduino для начинающих. Пошаговое руководство.

Для Arduino START — Знаток

Смартфоны, самолеты, автомобили, телевизоры, стиральные машины, холодильники и даже современные утюги имеют в своем составе микроконтроллеры, которые управляют этой самой техникой и осуществляют связь либо с человеком, либо с другими приборами. Не говоря уже про робототехнику, которая невозможна без микроконтроллеров. С данным набором вы научитесь работать с Arduino — модулем, содержащим микроконтроллер из популярного семейства AVR, который можно запрограммировать на четырех языках:


Очень простой и интуитивно понятный графический язык программирования, специально разработанный компанией «ЗНАТОК» для делающих самые первые шаги в программировании.

Внимание! В этом языке предусмотрен логический переход к профессиональному языку программирования С++. Это реально круто!

Для получения инструкций для работы с языком Graph Z перейдите по этой ссылке: https://znatok. ru/link/?startgraphz

Рекомендуем скачать последнюю версию Graph Z (версия 0.9) перейдя по ссылке: https://znatok.ru/link/?graphZ-installer


C++ язык программирования для продвинутых пользователей. На этом языке возможно решение профессиональных задач.

Для получения инструкций для работы с языком C++ перейдите по этой ссылке: https://znatok.ru/link/?startcpp


Графический язык программирования начального уровня, нашедший очень широкое распространение в мире. В данном наборе не для всех схем можно написать программы на данном языке, но понять, что такое алгоритмы, условия, циклы вполне по силам.

Для получения инструкций для работы с языком Scratch перейдите по этой ссылке: https://znatok.ru/link/?start-scratch


Python не является основным языком для программирования микроконтроллеров, но его можно использовать для управления устройствами.

Для получения инструкций для работы с языком Python перейдите по этой ссылке: https://znatok.ru/link/?start-python

Несмотря на то, что на упаковке указан возраст 8+, этот набор будет весьма полезен детям более старшего возраста, вплоть до студенческого, 18+ .

Вы можете начать с предложенных в красочной инструкции проектов, закачав готовые программ с флэшки, входящей в набор, а затем создать множество своих оригинальных проектов. Полученные знания помогут вам в учебе, а в дальнейшем, создавать новые образцы роботов, бытовой техники, компьютеров, смартфонов, работая в высокотехнологичных компаниях. А это уже не игрушки.

Скачать содержимое USB flash-накопителя для Arduino START

(рекомендуем, т. к. здесь самые последние обновления)

 Перед сборкой схемы обязательно прочитайте инструкцию!

Как программировать Arduino на ассемблере | by smith_rich

Читаем данные с датчика температуры DHT-11 на «голом» железе Arduino Uno ATmega328p используя только ассемблер

Попробуем на простом примере рассмотреть, как можно “хакнуть” Arduino Uno и начать писать программы в машинных кодах, т.е. на ассемблере для микроконтроллера ATmega328p. На данном микроконтроллере собственно и собрана большая часть недорогих «классических» плат «duino». Данный код также будет работать на практически любой demo плате на ATmega328p и после небольших возможных доработок на любой плате Arduino на Atmel AVR микроконтроллере. В примере я постарался подойти так близко к железу, как это только возможно. Для лучшего понимания того, как работает микроконтроллер не будем использовать какие-либо готовые библиотеки, а уж тем более Arduino IDE. В качестве учебно-тренировочной задачи попробуем сделать самое простое что только возможно — правильно и полезно подергать одной ногой микроконтроллера, ну то есть будем читать данные из датчика температуры и влажности DHT-11.

Arduino очень клевая штука, но многое из того что происходит с микроконтроллером специально спрятано в дебрях библиотек и среды Arduino для того чтобы не пугать новичков. Поигравшись с мигающим светодиодом я захотел понять, как микроконтроллер собственно работает. Помимо утоления чисто познавательного зуда, знание того как работает микроконтроллер и стандартные средства общения микроконтроллера с внешним миром — это называется «периферия», дает преимущество при написании кода как для Arduino так и при написания кода на С/Assembler для микроконтроллеров а также помогает создавать более эффективные программы. Итак, будем делать все наиболее близко к железу, у нас есть: плата совместимая с Arduino Uno, датчик DHT-11, три провода, Atmel Studio и машинные коды.

Для начало подготовим нужное оборудование.

Писать код будем в Atmel Studio 7 — бесплатно скачивается с сайта производителя микроконтроллера — Atmel.

Atmel Studio 7

Весь код запускался на клоне Arduino Uno — у меня это DFRduino Uno от DFRobot, на контроллере ATmega328p работающем на частоте 16 MHz — отличная надежная плата. Каких-либо отличий от стандартного Uno в процессе эксплуатации я не заметил. Похожая чорная плата от DFBobot, только “Mega” отлетала у меня 2 года в качестве управляющего контроллера квадрокоптера — куда ее только не заносило — проблем не было.

DFRduino Uno

Для просмотра сигналов длительностью в микросекунды (а это на минутку 1 миллионная доля секунды), я использовал штуку, которая называется “логический анализатор”. Конкретно, я использовал клон восьмиканального USBEE AX Pro. Как смотреть для отладки такие быстрые процессы без осциллографа или логического анализатора — на самом деле даже не знаю, ничего посоветовать не могу.

Прежде всего я подключил свой клон Uno — как я говорил у меня это DFRduino Uno к Atmel Studio 7 и решил попробовать помигать светодиодиком на ассемблере. Как подключить описанно много где, один из примеров по ссылке в конце. Код пишется прямо в студии, прошивать плату можно через USB порт используя привычные возможности загрузчика Arduino -через AVRDude. Можно шить и через внешний программатор, я пробовал на китайском USBASP, по факту у меня оба способа работали. В обоих случаях надо только правильно настроить прошивальщик AVRDude, пример моих настроек на картинке

Полная строка аргументов:
-C “C:\avrdude\avrdude.conf” -p atmega328p -c arduino -P COM7 115200 -U flash:w:”$(ProjectDir)Debug\$(TargetName).hex:i

В итоге, для простоты я остановился на прошивке через USB порт — это стандартный способ для Arduio. На моей UNO стоит чип ATmega 328P, его и надо указать при создании проекта. Нужно также выбрать порт к которому подключаем Arduino — на моем компьютере это был COM7.

Для того, чтобы просто помигать светодиодом никаких дополнительных подключений не нужно, будем использовать светодиод, размещенный на плате и подключенный к порту Arduino D13 — напомню, что это 5-ая ножка порта «PORTB» контроллера.

Подключаем плату через USB кабель к компьютеру, пишем код в студии, прошиваем прямо из студии. Основная проблема здесь собственно увидеть это мигание, поскольку контроллер фигачит на частоте 16 MHz и, если включать и выключать светодиод такой же частотой мы увидим тускло горящий светодиод и собственно все.

Для того чтобы увидеть, когда он светится и когда он потушен, мы зажжем светодиод и займем процессор какой-либо бесполезной работой на примерно 1 секунду. Саму задержку можно рассчитать вручную зная частоту — одна команда выполняется за 1 такт или используя специальный калькулятор по ссылки внизу. После установки задержки, код выполняющий примерно то же что делает классический «Blink» Arduino может выглядеть примерно так:

еще раз — на моей плате светодиод Arduino (D13) сидит на 5 ноге порта PORTB ATmeg-и.

Но на самом деле так писать не очень хорошо, поскольку мы полностью похерили такие важные штуки как стек и вектор прерываний (о них — позже).

Ок, светодиодиком помигали, теперь для того чтобы практика работа с GPIO была более или менее осмысленной прочитаем значения с датчика DHT11 и сделаем это также целиком на ассемблере.

Для того чтобы прочитать данные из датчика нужно в правильной последовательность выставлять на рабочей линии датчика сигналы высокого и низкого уровня — собственно это и называется дергать ногой микроконтроллера. С одной стороны, ничего сложного, с другой стороны все какая-то осмысленная деятельность — меряем температуру и влажность — можно сказать сделали первый шаг к построению какой ни будь «Погодной станции» в будущем.

Забегая на один шаг вперед, хорошо бы понять, а что собственно с прочитанными данными будем делать? Ну хорошо прочитали мы значение датчика и установили значение переменной в памяти контроллера в 23 градуса по Цельсию, соответственно. Как посмотреть на эти цифры? Решение есть! Полученные данные я буду смотреть на большом компьютере выводя их через USART контроллера через виртуальный COM порт по USB кабелю прямо в терминальную программу типа PuTTY. Для того чтобы компьютер смог прочитать наши данные будем использовать преобразователь USB-TTL — такая штука которая и организует виртуальный COM порт в Windows.

Сама схема подключения может выглядеть примерно так:

Сигнальный вывод датчика подключен к ноге 2 (PIN2) порта PORTD контролера или (что то же самое) к выводу D2 Arduino. Он же через резистор 4.7 kOm “подтянут” на “плюс” питания. Плюс и минус датчика подключены — к соответствующим проводам питания. USB-TTL переходник подключен к выходу Tx USART порта Arduino, что значит PIN1 порта PORTD контроллера.

В собранном виде на breadboard:

Разбираемся с датчиком и смотрим datasheet. Сам по себе датчик несложный, и использует всего один сигнальный провод, который надо подтянуть через резистор к +5V — это будет базовый «высокий» уровень на линии. Если линия свободна — т.е. ни контроллер, ни датчик ничего не передают, на линии как раз и будет базовый «высокий» уровень. Когда датчик или контроллер что-то передают, то они занимают линию — устанавливают на линии «низкий» уровень на какое-то время. Всего датчик передает 5 байт. Байты датчик передает по очереди, сначала показатели влажности, потом температуры, завершает все контрольной суммой, это выглядит как “HHTTXX”, в общем смотрим datasheet. Пять байт — это 40 бит и каждый бит при передаче кодируется специальным образом.

Для упрощения, будет считать, что «высокий» уровень на линии — это «единица», а «низкий» соответственно «ноль». Согласно datasheet для начала работы с датчиком надо положить контроллером сигнальную линию на землю, т.е. получить «ноль» на линии и сделать это на период не менее чем 20 милсек (миллисекунд), а потом резко отпустить линию. В ответ — датчик должен выдать на сигнальную линию свою посылку, из сигналов высокого и низкого уровня разной длительности, которые кодируют нужные нам 40 бит. И, согласно datasheet, если мы удачно прочитаем эту посылку контроллером, то мы сразу поймем что: а) датчик собственно ответил, б) передал данные по влажности и температуре, с) передал контрольную сумму. В конце передачи датчик отпускает линию. Ну и в datasheet написано, что датчик можно опрашивать не чаще чем раз в секунду.

Итак, что должен сделать микроконтроллер, согласно datasheet, чтобы датчик ему ответил — нужно прижать линию на 20 миллисекунд, отпустить и быстро смотреть, что на линии:

Датчик должен ответить — положить линию в ноль на 80 микросекунд (мксек), потом отпустить на те же 80 мксек — это можно считать подтверждением того, что датчик на линии живой и откликается:

После этого, сразу же, по падению с высокого уровня на нижний датчик начинает передавать 40 отдельных бит. Каждый бит кодируются специальной посылкой, которая состоит из двух интервалов. Сначала датчик занимает линию (кладет ее в ноль) на определенное время — своего рода первый «полубит». Потом датчик отпускает линию (линия подтягивается к единице) тоже на определенное время — это типа второй «полубит». Длительность этих интервалов — «полубитов» в микросекундах кодирует что собственно пытается передать датчик: бит “ноль” или бит “единица”.

Рассмотрим описание битовой посылки: первый «полубит» всегда низкого уровня и фиксированной длительности — около 50 мксек. Длительность второго «полубита» определят, что датчик собственно передает.

Для передачи нуля используется сигнал высокого уровня длительностью 26–28 мксек:

Для передачи единицы, длительность сигнала высокого увеличивается до 70 микросекунд:

Мы не будет точно высчитывать длительность каждого интервала, нам вполне достаточно понимания, что если длительность второго «полубита» меньше чем первого — то закодирован ноль, если длительность второго «полубита» больше — то закодирована единица. Всего у нас 40 бит, каждый бит кодируется двумя импульсами, всего нам надо значит прочитать 80 интервалов. После того как прочитали 80 интервалов будем сравнить их попарно, первый “полубит” со вторым.

Вроде все просто, что же требуется от микроконтроллера для того чтобы прочитать данные с датчика? Получается нужно значит дернуть ногой в ноль, а потом просто считать всю длинную посылку с датчика на той же ноге. По ходу, будем разбирать посылку на «полу-биты», определяя где передается бит ноль, где единица. Потом соберем получившиеся биты, в байты, которые и будут ожидаемыми данными о влажности и температуре.

Ок, мы начали писать код и для начала попробуем проверить, а работает ли вообще датчик, для этого мы просто положим линию на 20 милсек и посмотрим на линии, что из этого получится логическим анализатором.

Определения:

Как я уже писал сам датчик подключен на 2 ногу порта D. В Arduino Uno это цифровой выход D2 (смотрим для проверки Arduino Pinout).

Все делаем тупо: инициализировали порт на выход, выставили ноль, подождали 20 миллисекунд, освободили линию, переключили ногу в режим чтения и ждем появление сигналов на ноге.

Смотрим анализатором — а ответил ли датчик?

Да, ответ есть — вот те сигналы после нашего первого импульса в 20 милсек — это и есть ответ датчика. Для просмотра посылки я использовал китайский клон USBEE AX Pro который подключен к сигнальному проводу датчика.

Растянем масштаб так чтобы увидеть окончание нашего импульса в 20 милсек и лучше увидеть начало посылки от датчика — смотрим все как в datasheet — сначала датчик выставил низкий/высокий уровень по 80 мксек, потом начал передавать биты — а данном случае во втором «полубите» передается «0»

Значит датчик работает и данные нам прислал, теперь надо эти данные правильно прочитать. Поскольку задача у нас учебная, то и решать ее будем тупо в лоб. В момент ответа датчика, т.е. в момент перехода с высокого уровня в низкий, мы запустим цикл с счетчиком числа повторов нашего цикла. Внутри цикла, будем постоянно следить за уровнем сигнала на ноге. Итого, в цикле будем ждать, когда сигнал на ноге перейдет обратно на высокий уровень — тем самым определив длительность сигнала первого «полубита». Наш микроконтроллер работает на частоте 16 MHz и за период например в 50 микросекунд контроллер успеет выполнить около 800 инструкций. Когда на линии появится высокий уровень — то мы из цикла аккуратно выходим, а число повторов цикла, которые мы отсчитали с использованием счетчика — запоминаем в переменную.

После перехода сигнальной линии уже на высокий уровень мы делаем такую же операцию– считаем циклы, до момента когда датчик начнет передавать следующий бит и положит линию в низкий уровень. К счастью, нам не надо знать точный временной интервал наших импульсов, нам достаточно понимать, что один интервал больше другого. Понятно, что если датчик передает бит «ноль» то длительность второго «полубита» и соответственно число циклов, которые мы отсчитали будет меньше чем длительность первого «полубита». Если же датчик передал бит «единица», то число циклов которые мы насчитаем во время второго полубита будет больше чем в первым.

И для того что бы мы не висели вечно, если вдруг датчик не ответил или засбоил, сам цикл мы будем запускать на какой-то временной период, но который гарантированно больше самой длинной посылки, чтоб если датчик не ответил, то мы смогли выйти по тайм-ауту.

В данном случае показан пример для ситуации, когда у нас на линии был ноль, и мы считаем сколько раз мы в цикле мы считали состояние ноги контроллера, пока датчик не переключил линию в единицу.

Аналогичная подпрограмма используется для того, чтобы посчитать сколько циклов у нас должно прокрутиться, пока датчик из состояния ноль на линии переложил линию в состояние единицы.

Для расчета временных задержек мы будет использовать тот же подход, который мы использовали при мигании светодиодом — подберем параметры пустого цикла для формирования нужной паузы. Я использовал специальный калькулятор. При желании можно посчитать число рабочих инструкций и вручную.

Памяти в нашем контроллере довольно много — аж 2 (Два) килобайта, так что мы не будем жлобствовать с памятью, и тупо сохраним данные счетчиков относительно наших 80 ( 40 бит, 2 интервала на бит) интервалов в память.

Объявим переменную

CYCLES: .byte 80 ; буфер для хранения числа циклов

И сохраним все считанные циклы в память.

Теперь, для отладки, попробуем посмотреть насколько удачно посчиталось длительность интервалов и понять действительно ли мы считали данные из датчика. Понятно, что число отсчитанных циклов первого «полубита» должно быть примерно одинаково у всех битовых посылок, а вот число циклов при отсчете второго «полубита» будет или существенно меньше, или наоборот существенно больше.

Для того чтобы передавать данные в большой компьютер будем использовать USART контроллера, который через USB кабель будет передавать данные в программу — терминал, например PuTTY. Передаем опять же тупо в лоб — засовываем байт в нужный регистр управления USART-а и ждем, когда он передастся. Для удобства я также использовал пару подпрограмм, типа — передать несколько байт, начиная с адреса в Y, ну и перевести каретку в терминале для красоты.

Отправив в терминал число отсчётов для 80 интервалов, можно попробовать собрать собственно значащие биты. Делать будем как написано в учебнике, т.е. в datasheet — попарно сравним число циклов первого «полубита» с числом циклов второго. Если вторые пол-бита короче — значит это закодировать ноль, если длиннее — то единица. После сравнения биты накапливаем в аккумуляторе и сохраняем в память по-байтово начиная с адреса BITS.

Итак, здесь мы собрали в памяти начиная с метки BITS те пять байт, которые передал контроллер. Но работать с ними в таком формате не очень неудобно, поскольку в памяти это выглядит примерно, как:
34002100ХХ, где 34 — это влажность целая часть, 00 — данные после запятой влажности, 21 — температура, 00 — опять данные после запятой температуры, ХХ — контрольная сумма. А нам надо бы вывести в терминал красиво типа «Temperature = 21.00». Так что для удобства, растащим данные по отдельным переменным.

Определения

И сохраняем байты из BITS в нужные переменные

После этого преобразуем цифры в коды ASCII, чтобы данные можно было нормально прочитать в терминале, добавляем названия данных, ну там «температура» из флеша и шлем в COM порт в терминал.

PuTTY с данными

Для того, чтобы это измерять температуру регулярно добавляем вечный цикл с задержкой порядка 1200 миллисекунд, поскольку datasheet DHT11 говорит, что не рекомендуется опрашивать датчик чаще чем 1 раз в секунду.

Основной цикл после этого выглядит примерно так:

Прошиваем, подключаем USB-TTL кабель (преобразователь)к компьютеру, запускаем терминал, выбираем правильный виртуальный COM порта и наслаждаемся нашим новым цифровым термометром. Для проверки можно погреть датчик в руке — у меня температура при этом растет, а влажность как ни странно уменьшается.

Ссылки по теме:
AVR Delay Calc
Как подключить Arduino для программирования в Atmel Studio 7
DHT11 Datasheet
ATmega DataSheet
Atmel AVR 8-bit Instruction Set
Atmel Studio
Код примера на github

Как я могу запрограммировать Arduino на чистом C/C++?

спросил

Изменено 11 месяцев назад

Просмотрено 27 тысяч раз

Я новичок и хочу изучить AVR C/C++. Могу ли я сделать это с помощью Arduino? (Я спрашиваю это, потому что у меня уже есть один).

Если да, то может ли кто-нибудь сказать мне, с помощью какой IDE я могу писать код на чистом C/C++, а затем прошивать его в Atmega328P на Arduino? Или мне лучше взять AVR и программатор?

Я искал по всему Интернету, и я действительно запутался во всей терминологии. Может ли кто-нибудь объяснить это мне?

8

Да, приобретите программатор AVR.

1) Вы можете прошить свою плату arduino с помощью avrdude/avr-gcc

. Установите эти инструменты, найдите техническое описание atmega328 (погуглите), используйте распиновку платы для подключения к вашему программатору (stk500v2/ISP) и вуаля!

2) Имейте в виду, что, «вручную» прошивая ваш атмага на плате arduino, вы удаляете загрузчик, который необходим для загрузки ваших скетчей из ARDUINO IDE.

3) Используйте свою любимую C/C++ IDE

4

Если вы новичок, я предлагаю вам написать C в Arduino IDE. Библиотеки очень полезны, и я думаю, что среда Arduino/Wiring/Processing покроет все ваши потребности.

Ознакомьтесь с Lightblue Bean (http://punchthrough.com/bean/), это хороший пример возможностей этой платформы. Его могут использовать даже опытные программисты встраиваемых систем, поскольку базовый регистр по-прежнему доступен.

Сейчас я программирую на Ti MSP430, и хотя я могу оценить его возможности, мне не хватает простоты Arduino; гораздо проще начать работу с Arduino.

Перейдите по адресу http://arduino.cc/en/main/software, чтобы загрузить версию 1.0.6. Программное обеспечение IDE, подключите Arduino, перейдите в Tools->Board, чтобы выбрать Arduino, выберите соответствующий порт «tty» в Tools->Serial_Port. Тогда пиши на чистом Си и скачивай. В IDE есть множество примеров.

Arduino запрограммирован на C/C++. Существует распространенное заблуждение, что у Arduino есть собственный язык. См. эту ссылку С++ против языка Arduino? для полного обсуждения Arduino как C/C++ и упрощений, которые предлагает Arduino. Кроме того, вы можете увидеть код ядра Arduino здесь.

С веб-сайта Arduino:

Могу ли я запрограммировать плату Arduino на C?
На самом деле вы уже есть; язык Arduino — это просто набор функций C/C++, которые можно вызывать из вашего кода. Ваш скетч подвергается незначительным изменениям (например, автоматическая генерация прототипов функций), а затем передается непосредственно компилятору C/C++ (avr-g++). Все стандартные конструкции C и C++, поддерживаемые avr-g++, должны работать в Arduino. Подробнее см. на странице процесса сборки Arduino.

Arduino предлагает простую кривую обучения от новичков до экспертов. Так что просто скачайте последнюю версию Arduino IDE, установите ее и наслаждайтесь.

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

Как запрограммировать Raspberry Pi Pico с помощью Arduino IDE

(Изображение предоставлено Tom’s Hardware) Код подключения

для вашего Raspberry Pi Pico можно разделить на две категории. Самый простой способ для новых пользователей — использовать версию Python, такую ​​как MicroPython или CircuitPython. Более продвинутый способ — писать код на C/C++ для более уверенных пользователей.

Теперь у нас есть третий способ написания кода для нашего Raspberry Pi Pico — через среду разработки Arduino IDE, которая использует «язык Arduino», производный от C++. Поскольку Arduino существует уже много лет, существует множество уже существующих «набросков» (термин Arduino для программ) и руководств по нему. Если вы раньше работали с платами Arduino, возможно, вы хорошо знакомы с этой мощной IDE и языком.

Raspberry Pi Pico

(Изображение предоставлено PiShopUs)

Посмотреть на PiShop.us

Мы прошли множество различных процессов установки и нашли два проекта, созданных сообществом, которые упрощают процесс установки до нескольких шагов. . Первый — pico-setup-windows , который представляет собой порт Windows официального сценария установки Pico. Второй — Arduino-Pico , который добавляет поддержку Raspberry Pi Pico в IDE Arduino. В этом руководстве мы покажем вам, как настроить компьютер с Windows или Ubuntu для написания кода Arduino на Raspberry Pi Pico 9.0005

Как запрограммировать Raspberry Pi Pico в Arduino IDE для Windows

1. Загрузите установщика pico-setup-windows . Это довольно большая загрузка.

2. Запустить программу установки.

(Изображение предоставлено Tom’s Hardware)

3.   Убедитесь, что выбраны все компоненты d. Это установит на ваш компьютер около 360 МБ файлов и приложений. Включая файлы, необходимые для создания файлов C/C++, Visual Studio Code и контроля версий Git.

(Изображение предоставлено Tom’s Hardware)

4. Нажмите «Установить », чтобы установить все приложения. Это может занять некоторое время, и иногда может показаться, что он застрял, но наберитесь терпения.

(Изображение предоставлено Tom’s Hardware)

5. Загрузите Arduino IDE и установите его на свой компьютер. Мы выбрали версию 1.8.13, но бета версии 2.0 тоже работает.

6. Откройте приложение Arduino и перейдите к File >> Preferences .

7. В диспетчере дополнительных плат добавьте эту строку и нажмите ОК .

 https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
 

(Изображение предоставлено Tom’s Hardware)

8. Перейдите в Инструменты >> Плата >> Диспетчер плат .

(Изображение предоставлено Tom’s Hardware)

9. Введите «pico» в поле поиска , а затем установите плату Raspberry Pi Pico / RP2040 . Это вызовет еще одну большую загрузку размером примерно 300 МБ.

(Изображение предоставлено Tom’s Hardware)

10. Перейдите в Инструменты >> Плата >> Платы Raspberry Pi RP2040 и выберите Raspberry Pi Pico .

(Изображение предоставлено Tom’s Hardware)

11. Подключите Raspberry Pi Pico и с помощью диспетчера устройств найдите COM-порт , к которому он подключен.

(Изображение предоставлено Tom’s Hardware)

12. В разделе «Инструменты» >> «Порт» установите COM-порт для Raspberry Pi Pico.

(Изображение предоставлено Tom’s Hardware)

13. Открыть файлы >> Примеры >> Основы >> Мигните , чтобы проверить, что мы можем написать код для Arduino.

(Изображение предоставлено Tom’s Hardware)

14. Нажмите «Загрузить », чтобы записать код в Raspberry Pi Pico. Скетч Blink по умолчанию будет мигать зеленым светодиодом рядом с портом micro USB на Raspberry Pi Pico.

(Изображение предоставлено Tom’s Hardware)

(Изображение предоставлено Tom’s Hardware)

Окно вывода сообщит нам, когда загрузка будет завершена. Посмотрите на свой Raspberry Pi Pico, и вы увидите, что зеленый светодиод мигает один раз в секунду.

Как запрограммировать Raspberry Pi Pico в Arduino IDE для Linux

В этом руководстве мы использовали Ubuntu, но те же инструкции должны работать и для других дистрибутивов на основе Debian, таких как ОС Raspberry Pi.

1. Откройте терминал и используйте wget для загрузки официального сценария установки Pico .

 $ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
 

2. В том же терминале изменить загруженный файл, чтобы он стал исполняемым .

 $ chmod +x pico_setup.sh
 

3. Запустите pico_setup.sh , чтобы начать процесс установки. Введите пароль sudo, если будет предложено.

 $ ./pico_setup.sh
 

4. Загрузите Arduino IDE и установите его на свой компьютер. Мы выбрали версию 1.8.13, но бета версии 2.0 тоже работает.

5. Откройте терминал и добавьте своего пользователя в группу «дозвон».

Эта группа может обмениваться данными с такими устройствами, как Arduino. Использование «$USER» автоматически использует ваше имя пользователя.

 $ sudo usermod -a -G dialout «$USER»
 

6. Выйдите из системы или перезагрузите компьютер , чтобы изменения вступили в силу.

7. Откройте приложение Arduino и перейдите в File >> Preferences .

8. В диспетчере дополнительных плат добавьте эту строку и нажмите ОК .

 https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
 

(Изображение предоставлено Tom’s Hardware)

9. Перейдите в Инструменты >> Доска >> Диспетчер плат .

10. Введите «pico» в поле поиска , а затем установите плату Raspberry Pi Pico/RP2040 . Это вызовет еще одну большую загрузку размером примерно 300 МБ.

(Изображение предоставлено Tom’s Hardware)

11. Перейдите в Инструменты >> Плата >> Платы Raspberry Pi RP2040 и выберите Raspberry Pi Pico .

(Изображение предоставлено Tom’s Hardware)

12. Подключите Raspberry Pi Pico

13. Запустите команду, чтобы найти USB-устройство , которое идентифицируется как Raspberry Pi Pico. В нашем случае это был ttyACM0.

 $ dmesg 

(Изображение предоставлено Tom’s Hardware)

14. Открыть файлы >> Примеры >> Основы >> Мигните , чтобы проверить, можем ли мы написать код для Arduino.

(Изображение предоставлено Tom’s Hardware)

15. Нажмите «Загрузить », чтобы записать код в Raspberry Pi Pico. Скетч Blink по умолчанию будет мигать зеленым светодиодом рядом с портом micro USB на Raspberry Pi Pico.

(Изображение предоставлено Tom’s Hardware)

Окно вывода сообщит нам, когда загрузка будет завершена. Посмотрите на свой Raspberry Pi Pico, и вы увидите, что зеленый светодиод мигает один раз в секунду.

(Изображение предоставлено Tom’s Hardware)

Учебники по Raspberry Pi Pico:

  • Как настроить и запрограммировать Raspberry Pi Pico
  • Как припаять контакты к вашему Raspberry Pi Pico
  • Как получить Wi-Fi, Интернет на Raspberry Pi Pico
  • Как использовать OLED с Raspberry Pi Pico
  • Как использовать ультразвуковой датчик с Raspberry Pi Pico

Лес Паундер — помощник редактора Tom’s Hardware.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *