Мазмуну:

Бир пин клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө: 9 кадам
Бир пин клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө: 9 кадам

Video: Бир пин клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө: 9 кадам

Video: Бир пин клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө: 9 кадам
Video: Откат перехода с Windows 11 на Windows 10 ✅ Не обновлять до Windows 11 ✅ #SanTenChan 2024, Июль
Anonim
One Pin клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө
One Pin клавиатурасы Raspberry Pi колдонуу боюнча көрсөтмө

ЖООПКЕРЧИЛИК: БУЛ АЧЫК БУЛАК ПРОДУКЦИЯСЫН КОЛДОНУУ КӨРСӨТМӨСҮ: БИР ПИН АЧкыч. Бул DIY долбоору эмес. КЕСЕПТЕРДИ ӨЗҮҢҮЗ КЫЛГЫҢЫЗ КЕЛСЕ, БҮРКҮТТҮН ФИЛЬМДЕРИН ӨРГҮТҮҮЧҮ АКЫРЫНДА ТАБЫҢЫЗ

One Pin клавиатурасы деген эмне?

One Pin клавиатурасы матрицалык баскычтопту колдонууну жеңилдетет жана баалуу I/O төөнөгүчтөрүңүздү башка максаттар үчүн сактап коюуга мүмкүндүк берет. А 16 баскычтуу матрицалык баскычтоп, адатта, микроконтроллерге же бир такталуу компьютерге 8 санариптик кирүүнү талап кылат. Эң популярдуу Arduinos сизди 14 гана санарип казык менен чектейт, андыктан 16 баскычтуу клавиатура сизди долбооруңуздун калган бөлүгүнө 6 казык менен гана калтырат. Бул ресурстун жетишсиздиги кымбат дизайнды алмаштырууга же микроконтроллердин кымбатташына алып келиши мүмкүн. One Pin Keypad модулу бул санариптик киргизүүлөрдүн баарына болгон муктаждыкты жок кылат. Аталышынан көрүнүп тургандай, бир пин клавиатурасы бир гана пин (аналогдук киргизүү) плюс GND жана VCC туташууларын колдонот, андыктан клавиатураңыздын зымдары тез эле түшөт! Raspberry Pi колдонуучулары үчүн (бул окуу куралынын максаттуу аудиториясы) ADS1115 аналогун санариптик которгучка талап кылат, бул чын эле оңой. One Pin Keypad Python пакети (камтылган) дагы убакытты жана күчтү үнөмдөө менен, баскычтопту киргизүү үчүн керектүү программалоону жөнөкөйлөтөт.

Arduino колдонуу боюнча колдонмо үчүн бул жерди басыңыз.

1 -кадам: Бардык бөлүктөрдү чогулткула

Бардык бөлүктөрдү чогулткула!
Бардык бөлүктөрдү чогулткула!

One Pin клавиатура тактаңызды баштоо үчүн, сизге керек болот:

  • Бир пин клавиатура тактасы
  • Ардуино кандайдыр бир даамга ээ (бул учурда An Arduino Nano колдонулган)
  • 3 M/F секирүүчү кабель,
  • 4 R/M ЖЕ 4 дагы M/F секирүүчү кабели, сиздин Raspberry Piңизде кандай аталыштар бар экендигине жараша
  • 16 баскычтуу мембрана баскычтобу
  • Нан тактасы (Бул жерде чындыгында кичинекейи колдонулат)
  • ADS1115 модулу (Adafruit же клондон)
  • Интернет байланышы бар Raspberry Pi жана Raspbian OS (мен Stretch колдонгом)
  • Raspberry Pi аксессуарлары (HDMI кабели, электр менен жабдуу, dongles, монитор ж.б. Raspberry Pi даамына жараша болот)

2 -кадам: Электр өткөргүчтөрү

Кабелдөө!
Кабелдөө!
Кабелдөө!
Кабелдөө!

Фритзинг диаграммасына, сүрөткө же экөөнө ылайыктуу, бир пин клавиатурасын зым менен тандаңыз.

Көңүл буруңуз: Fritzing диаграммасындагы жазуу One Pin клавиатурасын билдирет (жана GND VCC жана AOUT аббревиатуралары One Pin клавиатура тактасынын pinoutsун белгилейт)

3 -кадам: Python пакетин орнотуу

Python пакетин орнотуу!
Python пакетин орнотуу!
Python пакетин орнотуу!
Python пакетин орнотуу!

Терминал терезесин ачып, төмөнкү буйруктарды териңиз:

sudo apt-get update

анда

pip3 Progetto-One-Pin-Keypad орнотуу

пакетти жана анын керектүү көз карандылыктарын орнотуу

4 -кадам: Мисалдарды орнотуу

Мисалдарды орнотуу
Мисалдарды орнотуу

Мен үйдүн/пинин астындагы репозиторийди жайгаштыруу үчүн dev папкасын түздүм, эгер сиз дагы ушундай кылгыңыз келсе (ал толугу менен милдеттүү эмес), бул буйрукту аткарыңыз:

mkdir dev

андан кийин, папкага өтүү үчүн, териңиз:

cd dev

Акырында, репозиторийди клондоштуруу үчүн, төмөнкү буйрукту киргизиңиз:

git clone

5 -кадам: I2C иштетүү

I2C иштетүү
I2C иштетүү
I2C иштетүү
I2C иштетүү
I2C иштетүү
I2C иштетүү

ADS1115 ADC (Digital Converter аналогу) Raspberry Pi менен байланышуу үчүн I2C (Inter-Integrated Circuit) протоколуна таянат, демейки боюнча I2C автобусу өчүрүлгөн, аны иштетүү үчүн, териңиз:

sudo raspi-config

сизди көк конфигурация терезесине алып барат, ошол жерден жебе баскычтарын жана киргизүү баскычын колдонуп, тандаңыз

  1. Interfacing Options
  2. I2C
  3. Андан кийин түшүңүз

Кеңеш: Жогорудагы скриншотторго кайрылуу бир аз жардам бериши мүмкүн! Эгерде сиз дагы эле тыгылып жатсаңыз, коркпоңуз! Sparkfunдан укмуштуудай жасоо ыкмасына кайрылыңыз!

6 -кадам: Run Calibratethresholds

Calibratethresholds иштетүү!
Calibratethresholds иштетүү!

Эгерде сизде жок болсо, репозиторийге өтүңүз жана бул буйруктарды колдонуп мисалдар папкасына өтүңүз:

Кеңеш: 'cd Prog' териңиз, андан кийин Tab бассаңыз, ал репозиторийдин аталышын автоматтык түрдө толтурушу керек!

cd Progetto_One_Pin_Keypad_Python_Package

анан териңиз:

cd мисалдары

Андан кийин, бул буйрукту колдонуп calibratethresholds мисалын иштетиңиз:

python3 калибрлөө чектери

жана тактаңызды калибрлөө үчүн консолдо көрсөтүлгөн көрсөтмөлөрдү аткарыңыз. Калибрлөө бардык баскычтарды басып өткөндөн кийин, жаңы аналогдук баалуулуктарыңызды текшерип көрүңүз, алар "Башта" деп суралганда, кээ бир баскычтарды басуу менен иштээрин текшериңиз, эгер жаңы баалуулуктар так эместиги далилденсе, программаны өлтүрүп Ctrl C колдонуңуз. кайра

Калибрлөө мисалы сизге кийинки мисалда керек болгон 2 сап кодун бериши керек, консолду ачык кармаңыз жана/же экөөнү тең көчүрүңүз!

7 -кадам: Өзгөртүп, анан Readkeypadwithtimeout иштетүү

Өзгөртүп, анан Readkeypadwithtimeout иштетүү
Өзгөртүп, анан Readkeypadwithtimeout иштетүү
Өзгөртүп, анан Readkeypadwithtimeout иштетүү
Өзгөртүп, анан Readkeypadwithtimeout иштетүү
Өзгөртүп, анан Readkeypadwithtimeout иштетүү
Өзгөртүп, анан Readkeypadwithtimeout иштетүү

Эми сиздин бир пин баскычыңыз калибрленгенде, аны колдонууга убакыт келди. Сиз муну vi аркылуу буйрук сабынан кыла алсаңыз да, мен жеке IDLE сыяктуу IDE колдонууну артык көрөм.

IDLEди ачыңыз (сизге python3 версиясы керек) жана төмөнкү саптарды өзгөртүңүз:

Сиз көчүргөн аналогдук маани массиви эсиңиздеби? 13 -линияны (төмөндү караңыз) ошол жаңы калибрленген аналогдук баалуулуктарга алмаштырыңыз.

# ex: my_thresholds = [калибрленген маанилер бул жерде болмок]

бул менен алмаштырылган:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Андан кийин, коддун кийинки сабын 23 -саптан кийин кошуңуз (төмөндү караңыз):

keypad.useCalibratedThresholds (my_thresholds)

23 -саптан кийин кошулат:

# ex: keypad.use_calibrated_thresholds (сиздин массивдин аты)

22ден 24кө чейинки саптарды аягында окшош кылуу:

# Эгерде калибрленген баалуулуктар колдонулуп жатса, төмөндөгү_калибрленген_белгилерди колдонуңуз:

# ex: keypad.use_calibrated_thresholds (сиздин массивдин аты)

keypad.use_calibrated_thresholds (my_thresholds)

Бул бүткөндөн кийин, кодду иштетип, кээ бир баскычтарды басуу менен сынап көрүңүз! Мисал эскизин долбоорлоруңузга ылайыкташтыруудан тартынбаңыз! Унутпаңыз, read_keypad_with_timeout баскычты символ катары кайтарат жана күтүү убактысы миллисекунд менен белгиленет! Эгерде сиз күтүү убактысын каалабасаңыз, клавиатураны колдонуңуз. NO_TIMEOUT туруктуу.

8 -кадам: Бир пин клавиатурасы кантип иштейт

One Pin клавиатурасы кантип иштейт
One Pin клавиатурасы кантип иштейт
One Pin клавиатурасы кантип иштейт
One Pin клавиатурасы кантип иштейт

One Pin клавиатурасынын дизайнынын көбү Хари Вигунанын чыңалуу бөлүштүргүчүнүн ишке ашуусуна негизделген, ал 16 пиндик клавиатурада ар бир баскыч үчүн уникалдуу аналогдук баалуулукту алуу үчүн. Бир пин клавиатуранын дизайны негизинен ошол эле бойдон калат, бир нече өзгөртүүлөр менен. Эгерде сиз One Pin баскычтобунун иштеши боюнча мыкты үйрөткүчтү кааласаңыз, анда бул жерден Хари Вигунанын эң сонун видеосун көрүңүз!

9 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Бул көрсөтмөдө, биз бир пинтүү клавиатура тактаңызды кантип баштоо керектигин талкууладык. Эми, сиздердин кызыктарыңыз, эмне үчүн readKeypadInstantaneous мисалынын эскизи эч качан колдонулган эмес деп ойлошуңуз мүмкүн, себеби ал анча деле пайдалуу эмес, анткени баскычты чакырганда басуу керек, readKeypadInstantaneous () функциясы негизинен жөнөкөйлөтүү үчүн колдонулат readKeypadWithTimeout () китепканада. Эгерде ал көзүңүзгө түшүп калса, анда аны айланып өтүүдөн тартынбаңыз. Happy Hacking!

Эгерде сизде кандайдыр бир суроолор болсо, астына комментарий калтырыңыз же [email protected] электрондук почтасына кат жазыңыз. Баары жакшы, Progetto Company P. S. Убада кылынгандай, башкармалыктын бүркүт файлдарына шилтеме.

Сунушталууда: