Raspberry Pi:Примеры/Библиотека WiringPi/Quick2Wire и WiringPi/Установка и проверка
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Quick2Wire и WiringPi: Установка и проверка[1]
Спаяв Quick2Wire и проверив ее на отсутствие припойных «мостиков», подключаем ее к питанию и начинаем тестировать.
На главной плате есть светодиод и кнопка, которые можно при помощи перемычек подключить к GPIO-контактам. То есть, чтобы использовать светодиод и кнопку, рядом с ними должны стоять перемычки.
Кнопка подключена к контакту 0, а светодиод – к контакту 1. Когда вы нажимаете на кнопку, считывается значение «1».
Чтобы начать тест, проверьте, установили ли вы WiringPi. Затем впишите следующее:
gpio mode 0 in # контакт 0 для кнопки
gpio mode 1 out # контакт 1 для светодиода
while true; do gpio write 1 `gpio read 0`; done
Нажатие на кнопку должно зажечь светодиод. Если светодиод не загорелся, проверяем каждый элемент по отдельности. Сначала светодиод:
gpio write 1 1 # включение светодиода
gpio write 1 0 # выключение светодиода
Затем кнопку:
gpio read 0
Если нажать на кнопку, должно прийти значение «1». В противном случае – «0».
В нижней части главной платы находится внешний GPIO-коннектор, а также контакты для питания и «земли». Выходные GPIO-контакты оснащены добавочными резисторами, поэтому их можно подключать напрямую к светодиодам – я подключил светодиод между 0 вольт (т.е. между «землей» или GND) и 7-ым контактом, а затем:
gpio mode 7 out
while true; do gpio write 7 `gpio read 0`; done
Теперь я могу пользоваться кнопкой для включения/выключения светодиода на контакте 7 – аналогично примеру выше.
Тестируем плату. Светодиод подключен к контакту 7 и GND (0 вольт). Длинная ножка – к контакту 7. Также обратите внимание на перемычки рядом с светодиодом и кнопкой в правой части платы.
Итак, как видите, главная плата многофункциональна сама по себе, и при помощи BASH и командной строки мы можем провести пару занятных тестов.
Стандартная программа «Мигание» на языке C:
#include <stdio.h>
#include <wiringPi.h>
#define LED 1
int main (void)
{
printf ("Raspberry Pi Quick2Wire blink\n") ;
// "Мигание при помощи Raspberry Pi и Quick2Wire\n"
wiringPiSetup () ;
pinMode (LED, OUTPUT) ;
for (;;)
{
digitalWrite (LED, HIGH) ; // включение светодиода
delay (500) ; // задержка в мс
digitalWrite (LED, LOW) ; // выключение светодиода
delay (500) ;
}
return 0 ;
}
Компилируем при помощи:
gcc -o blink blink.c -lwiringPi
И запускаем:
sudo ./blink
Чтобы выйти, жмем на Ctrl + C .
Эту программу, наряду со всеми остальными для Quick2Wire, можно найти в папке «examples» > «q2w» в дистрибутивной папке WiringPi.
Если вы пока не хотите запускать C-программу, можно сделать это через BASH:
while true; do gpio write 1 1 ; sleep 0.5 ; gpio write 1 0 ; sleep 0.5 ; done
Это «blink.sh» в папке «q2w».
Также взгляните на программу «button.c». Она зажигает встроенный (красный) светодиод, но когда вы нажимаете на кнопку, она выключает его и зажигает светодиод, подключенный к контакту 7 (как показано наверху на примере желтого светодиода). Скомпилируйте и запустите эту программу, вписав:
make button
sudo ./button
Или воспользуйтесь командами для компиляции, как было показано выше.
Пользуясь этими наработками, вы можете использовать главную плату Quicl2Wire для создания простых проектов. Например, использующих встроенные светодиод и кнопку, а также 8-контактный коннектор в нижней части платы (для подключения дополнительных кнопок и светодиодов).
Примечание: Если вы хотите использовать контакты 0 и 1 на коннекторе, находящемся в нижней части платы, снимите перемычки со встроенных светодиода и кнопки.