Raspberry Pi:Аппаратные средства/Распиновка GPIO/ATmega 328p/Arduino через SPI
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
ATmega 328p/Arduino через SPI
Знаете ли вы, что при помощи вашей Pi можно напрямую питать и программировать ATmega 328p/Arduino? Причем для этого нужны всего несколько проводов, макетная плата (она же бридборд), кварцевый резонатор на 16 МГц и немного конденсаторов на 22 пикафарад.
Если хотите попробовать, то можно начать, к примеру, с этого урока.
Вам надо будет установить AVRDude, модифицированный Гордоном Хендерсоном (Gordon Henderson).
Теперь подключите BCM 8 (CE0; на Raspberry Pi) к Reset (RST; на Arduino), BCM 9 (MISO) — к D12 (MISO), BCM 10 (MOSI) — к D11 (MOSI), BCM 11 (SCLK) — к D13 (SCLK).
Затем запитайте ATmega от контактов 3v3 и GND на Pi, после чего убедитесь, не запущено ли у вас лишних SPI-драйверов и правильно ли все подключено:
avrdude -p m328p -c gpio
Чтобы компилировать скетчи Arduino, введите следующую команду:
sudo apt-get install arduino arduino-mk
Этого базового мейк-файла для начала должно хватить. Создаем базовый скетч, называем его mysketch.ino и запускаем:
export BOARD=atmega328
make
avrdude -p m328p -c gpio -e -U flash:w:build-cli/Arduino.hex
- Использует четыре GPIO-контакта