Raspberry Pi:Примеры/Библиотека WiringPi/Quick2Wire и WiringPi/Установка и проверка

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



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 на коннекторе, находящемся в нижней части платы, снимите перемычки со встроенных светодиода и кнопки.

См.также

Внешние ссылки