Останні новини

Початок роботи з GPIO на Raspberry Pi

Якщо ви вважаєте, що Arduino був крутим, просто почекайте, поки ви не отримаєте Raspberry Pi - ці речі приголомшливі. Крім того, що вони є повнофункціональними комп'ютерами, вони також мають набір висновків введення/виведення загального призначення. Так само, як Arduino, ми можемо використовувати їх для створення проектів електроніки - і на диво легко почати.

Сьогодні ми підключимо реле і використовуємо його для включення світлодіоду, але ви також можете легко включити лампу.

Це введення служить першою частиною більш великого проекту з автоматизації будинку. Крістіан вже заклав основи для початку роботи з Pi, тому я не буду повторювати початкові кроки завантаження ОС або підключення SD-карти - я припускаю, що у вас вже встановлена працююча система Raspian.

Попередження: хоча Raspberry Pi можна використовувати аналогічно Arduino, потрібно трохи більше уваги. Контакти Pi працюють при напрузі 3,3 В, тоді як Arduino використовує 5 В. Хоча Arduino можна зламати, зламати Pi набагато простіше, оскільки контакти безпосередньо підключені до вбудованого чіпа - посилка 5В вниз може його обсмажити.

Тому будьте дуже обережні при спробі відтворити проекти Arduino на своєму Pi - або дотримуйтеся конкретного керівництва по Pi, або переконайтеся, що добре розбираєтеся в базовій електроніці.

Вимоги:

  • NPN-транзистор, такий як P2N2222A
  • Резистор 1к
  • Реле; Я використовую 4-релейний модуль 5v, який має додаткову вбудовану схему захисту (тому немає необхідності в додаткових діодах
  • Світлодіод і резистор 220 Ом для тестування
  • Прокласти кабель

Розгалужувальний кабель («Cobbler Kit»)

Контакти GPIO розташовані на бічній панелі Pi, поруч з роз'ємом відеовиходу RCA.

Хоча ви могли б технічно підключити деякі сполучні кабелі з внутрішнім кінцем безпосередньо до них, вони не позначені якимось корисним способом, і тому ви, швидше за все, щось зламаєте. Замість цього отримаєте відривний кабель, наприклад, від Adafruit, або один з багатьох більш дешевих клонів на eBay. Можливо, вам доведеться припаяти це, так як воно прийде у формі набору.

Хоча на боці плати є виїмка для позначення правильного розміщення кабелю, сторона Pi - ні. Переконайтеся, що контакти 3v і 5v у далекому кутку Pi поєднані з відповідними контактами на платі. Звичайно, якщо ви купили чохол, в якому не видно заголовок GPIO, вам потрібно буде працювати з голим Pi або вирізати дірку.

Крім того, ви можете отримати повну дошку, яка прикріплюється поверх вашого Pi, і зазвичай поставляється з набором корисних компонентів.

Основний ланцюг

Налаштуйте схему, як описано нижче. Я пропустив релейну схему, так як це буде змінюватися. Використовуйте клеми NO (нормально замкнуті) і COM вашого реле для вашого світлодіоду або іншого пристрою.

Використовуйте контакт 4 від Raspberry Pi. На моїй панелі обговорення вона позначена + GPCLK0; незалежно від того, це четвертий висновок, рахуючи від 3V3.

Тестування командного рядка

У наступних прикладах я припускаю, що ви увійшли через SSH або іншим чином як користувач root. Якщо ні, вам потрібно буде ввести деякі з команд за допомогою sudo для підвищення привілеїв.

Для початку нам потрібно встановити WiringPi.

git clone git://git.drogon.net/wiringPi cd wiringPi./build

Припускаючи, що все пройшло добре, тепер ми повинні мати можливість безпосередньо керувати GPIO з командного рядка наступним чином:

gpio -g mode 4 out
gpio -g написати 4 1

Перша команда схожа на функцію налаштування Arduino, де ми говоримо, що Pi використовує висновок 4 в якості виходу. Наступна команда записує значення 1 на вивід, який повинен запустити транзистор, активувати реле, замкнути ланцюг для світлодіоду і включити його.

Приголомшливі. Якщо це не так, поверніться і перевірте свою проводку. Реле клацає?

пітон

Хоча Python не є єдиним способом зв'язку з висновками GPIO, він зазвичай вважається найпростішим і найбільш часто зустрічається в існуючих проектах. На відміну від C, Python порівняно легко підібрати (ось 5 сайтів для вивчення Python сайтів для вивчення програмування на Python).

Почніть з встановлення наступних додатків Python:

apt-get install python-dev apt-get install python-rpi.gpio

Тепер створіть новий файл з назвою test.py. якщо ви використовуєте командний рядок, введіть

nano test.py

Вставте або введіть наступне (також у цю вставку):

import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) for x in range(0,10): time.sleep(5) GPIO.output(4,1) time.sleep(5) GPIO.output(4,0)

Це дуже простий скрипт Python, який включає світлодіод (або щось ще, що ви підключили до свого реле) на 5 секунд, потім вимикаєте на 5 секунд, 10 разів. Ви повинні бути в змозі зрозуміти більшу частину коду. Рядок GPIO.setmode просто використовується для визначення схеми нумерації висновків, яку ми будемо використовувати.

Це воно! Щоб запустити код, введіть:

python test.py

Наступного тижня ми трохи опрацюємо налаштування і зробимо деякі цікаві речі, такі як додавання голосового управління. Якщо ви збираєтеся додати високовольтні електричні елементи в релейний ланцюг, вам потрібно бути впевненим, що ви використовуєте реле з відповідним номіналом на дроті під напругою, і переконайтеся, що все укладено так, щоб воно не потрапляло під цікаві пальці. немовлят або мами. А якщо серйозно, будь у безпеці.

Будь ласка, залишайте свої питання, коментарі, відгуки і хайкуси в полі нижче - але пам'ятайте, що я буду оцінювати вас з використання граматики.