Съдържание:

Последователна комуникация на Arduino и Python - Дисплей на клавиатурата: 4 стъпки
Последователна комуникация на Arduino и Python - Дисплей на клавиатурата: 4 стъпки

Видео: Последователна комуникация на Arduino и Python - Дисплей на клавиатурата: 4 стъпки

Видео: Последователна комуникация на Arduino и Python - Дисплей на клавиатурата: 4 стъпки
Видео: Когда тренер - твой друг😏 2024, Юли
Anonim
Arduino и Python серийна комуникация - дисплей на клавиатурата
Arduino и Python серийна комуникация - дисплей на клавиатурата

Този проект е създаден за потребители на Mac, но може да бъде приложен и за Linux и Windows, единствената стъпка, която трябва да бъде различна, е инсталацията.

Стъпка 1: Инсталиране на софтуер

Инсталиране на софтуер
Инсталиране на софтуер
  1. Изтеглете и инсталирайте Arduino ->
  2. Изтеглете и инсталирайте Python 2.7 ->
  3. Изтеглете библиотеката на Python „pyserial -2.7.tar.gz“->
  4. Разархивирайте pyserial-2.7.tar.gz
  5. Отворете терминала и въведете:

cd /users/"Your-User-Account"/Downloads/pyserial-2.7

sudo python setup.py install

Софтуерната инсталация е готова!

Стъпка 2: Окабеляване

Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
  1. Arduino Uno
  2. Клавиатура Sparkfun с 12 бутона

Окабеляването се извършва без външни резистори, вместо това използвах вътрешните Pullup-резистори на микроконтролера (вътрешните Pullup-резистори на Arduino имат стойност от 20K-Ohm до 50K-Ohm)

За да активирате вътрешните Pullup-резистори, задайте INPUT-Pins HIGH в кода

Ако използвате друга клавиатура, погледнете информационния лист за правилното окабеляване, в противен случай това може да повреди вашия микроконтролер

Стъпка 3: Arduino код

Кодът на Arduino
Кодът на Arduino
  • Първо дефинираме символна матрица за ключовете
  • Клавиатурата използва обикновени съединители за превключване, които са подредени в 4 реда (щифтове 7, 2, 3 и 5) и 3 колони (щифтове 6, 8 и 4), дефинирани като масиви rowPins и colPins
  • Функцията setup ()

    • Отворете серийния портал с Serial.begin ();
    • Задайте колони като ИЗХОД-ПИНОВЕ ВИСОК
    • Активирайте Pullup-Resistors, за да направите това, задайте редове като INPUT-Pins HIGH;
  • Функцията getkey ()

    • Задайте всеки ред LOW и проверете дали една от колоните е LOW. Поради издърпващите резистори всички редове са ВИСОКИ, докато един ключ не бъде натиснат надолу. Натиснатият ключ генерира LOW-сигнал на входа INPUT. Това LOW показва натиснатия ключ в този ред и колона
    • Изчакайте, докато ключът бъде освободен и върне символа на keymap-Array или 0, ако не е натиснат ключ
    • Използвайте забавяне (debounceTime), за да стабилизирате сигнала

Стъпка 4: Код на Python_2.7

Код на Python_2.7
Код на Python_2.7
  • Импортирайте серийната библиотека
  • Определете свързана променлива = FALSE, по -късно тази променлива се използва за тестване дали серийната връзка е налична или не
  • Отворете серийния порт със serial. Serial ("Име на вашия сериен порт", бод)

    • За да получите името на вашия сериен порт, щракнете върху -> Инструменти/Сериен порт в Arduino IDLE
    • бодът трябва да е същият като в кода на Arduino
  • В рамките на цикъл while тест, ако връзката е налична или не чете серийния сигнал и задава променливата connected = TRUE, тя се затваря, докато не получи серийна връзка
  • След връзката прочетете сериала в цикъл while и поставете този вход в нова променлива "var"
  • затворете порта с ser.close ()

Препоръчано: