
Мазмуну:
- 1 -кадам: Бардык бөлүктөрдү чогулткула
- 2 -кадам: Электр өткөргүчтөрү
- 3 -кадам: Python пакетин орнотуу
- 4 -кадам: Мисалдарды орнотуу
- 5 -кадам: I2C иштетүү
- 6 -кадам: Run Calibratethresholds
- 7 -кадам: Өзгөртүп, анан Readkeypadwithtimeout иштетүү
- 8 -кадам: Бир пин клавиатурасы кантип иштейт
- 9 -кадам: Жыйынтык
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51

ЖООПКЕРЧИЛИК: БУЛ АЧЫК БУЛАК ПРОДУКЦИЯСЫН КОЛДОНУУ КӨРСӨТМӨСҮ: БИР ПИН АЧкыч. Бул 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 пакетин орнотуу


Терминал терезесин ачып, төмөнкү буйруктарды териңиз:
sudo apt-get update
анда
pip3 Progetto-One-Pin-Keypad орнотуу
пакетти жана анын керектүү көз карандылыктарын орнотуу
4 -кадам: Мисалдарды орнотуу

Мен үйдүн/пинин астындагы репозиторийди жайгаштыруу үчүн dev папкасын түздүм, эгер сиз дагы ушундай кылгыңыз келсе (ал толугу менен милдеттүү эмес), бул буйрукту аткарыңыз:
mkdir dev
андан кийин, папкага өтүү үчүн, териңиз:
cd dev
Акырында, репозиторийди клондоштуруу үчүн, төмөнкү буйрукту киргизиңиз:
git clone
5 -кадам: I2C иштетүү



ADS1115 ADC (Digital Converter аналогу) Raspberry Pi менен байланышуу үчүн I2C (Inter-Integrated Circuit) протоколуна таянат, демейки боюнча I2C автобусу өчүрүлгөн, аны иштетүү үчүн, териңиз:
sudo raspi-config
сизди көк конфигурация терезесине алып барат, ошол жерден жебе баскычтарын жана киргизүү баскычын колдонуп, тандаңыз
- Interfacing Options
- I2C
- Андан кийин түшүңүз
Кеңеш: Жогорудагы скриншотторго кайрылуу бир аз жардам бериши мүмкүн! Эгерде сиз дагы эле тыгылып жатсаңыз, коркпоңуз! Sparkfunдан укмуштуудай жасоо ыкмасына кайрылыңыз!
6 -кадам: Run Calibratethresholds

Эгерде сизде жок болсо, репозиторийге өтүңүз жана бул буйруктарды колдонуп мисалдар папкасына өтүңүз:
Кеңеш: 'cd Prog' териңиз, андан кийин Tab бассаңыз, ал репозиторийдин аталышын автоматтык түрдө толтурушу керек!
cd Progetto_One_Pin_Keypad_Python_Package
анан териңиз:
cd мисалдары
Андан кийин, бул буйрукту колдонуп calibratethresholds мисалын иштетиңиз:
python3 калибрлөө чектери
жана тактаңызды калибрлөө үчүн консолдо көрсөтүлгөн көрсөтмөлөрдү аткарыңыз. Калибрлөө бардык баскычтарды басып өткөндөн кийин, жаңы аналогдук баалуулуктарыңызды текшерип көрүңүз, алар "Башта" деп суралганда, кээ бир баскычтарды басуу менен иштээрин текшериңиз, эгер жаңы баалуулуктар так эместиги далилденсе, программаны өлтүрүп Ctrl C колдонуңуз. кайра
Калибрлөө мисалы сизге кийинки мисалда керек болгон 2 сап кодун бериши керек, консолду ачык кармаңыз жана/же экөөнү тең көчүрүңүз!
7 -кадам: Өзгөртүп, анан 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 клавиатурасынын дизайнынын көбү Хари Вигунанын чыңалуу бөлүштүргүчүнүн ишке ашуусуна негизделген, ал 16 пиндик клавиатурада ар бир баскыч үчүн уникалдуу аналогдук баалуулукту алуу үчүн. Бир пин клавиатуранын дизайны негизинен ошол эле бойдон калат, бир нече өзгөртүүлөр менен. Эгерде сиз One Pin баскычтобунун иштеши боюнча мыкты үйрөткүчтү кааласаңыз, анда бул жерден Хари Вигунанын эң сонун видеосун көрүңүз!
9 -кадам: Жыйынтык

Бул көрсөтмөдө, биз бир пинтүү клавиатура тактаңызды кантип баштоо керектигин талкууладык. Эми, сиздердин кызыктарыңыз, эмне үчүн readKeypadInstantaneous мисалынын эскизи эч качан колдонулган эмес деп ойлошуңуз мүмкүн, себеби ал анча деле пайдалуу эмес, анткени баскычты чакырганда басуу керек, readKeypadInstantaneous () функциясы негизинен жөнөкөйлөтүү үчүн колдонулат readKeypadWithTimeout () китепканада. Эгерде ал көзүңүзгө түшүп калса, анда аны айланып өтүүдөн тартынбаңыз. Happy Hacking!
Эгерде сизде кандайдыр бир суроолор болсо, астына комментарий калтырыңыз же [email protected] электрондук почтасына кат жазыңыз. Баары жакшы, Progetto Company P. S. Убада кылынгандай, башкармалыктын бүркүт файлдарына шилтеме.
Сунушталууда:
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: 6 кадам (сүрөттөр менен)

Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: Бул үйрөткүчтө мен сизге бир эле аналогдук кирүүчү пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окууну көрсөтөм
Raspberry Pi B+ Баштоо боюнча көрсөтмө: 6 кадам

Raspberry Pi B+ Баштоо боюнча көрсөтмө: Бул малина pi b+ моделин баштоо боюнча окуу куралы
Бир пин 4 × 4 баскычтоп: 10 кадам

Бир пин 4 × 4 баскыч баскычы: Мен баскычты көргөн сайын, ал көп казыктар менен келет, бул сиздин Arduino төөнөгүчтөрүңүздүн чоң калдыгы, андыктан биз бир жана бир гана пин менен клавиатураны иштете алабызбы? .Жооп бул жерде
Топурактын нымдуулук сенсорун колдонуу боюнча толук көрсөтмө W/ Практикалык мисал: 7 кадам

Топурактын нымдуулук сенсорун колдонуу боюнча толук көрсөтмө W/ Практикалык мисал: Бул жана башка укмуштуудай сабактарды ElectroPeakтин расмий сайтынан окуй аласыз Обзор Бул колдонмодо сиз топурактын ным сенсорун кантип колдонууну үйрөнөсүз. Практикалык мисалдар кодду өздөштүрүүгө жардам берүү үчүн берилет. Сиз эмнени үйрөнөсүз: Кантип топурак
DIYMall RFID-RC522 жана Nokia LCD5110ду Arduino менен колдонуу боюнча дагы бир көрсөтмө: 8 кадам (сүрөттөр менен)

DIYMall RFID-RC522 жана Nokia LCD5110ду Arduino менен колдонуу боюнча дагы бир көрсөтмө: Эмне үчүн мен DIYMall RFID-RC522 жана Nokia LCD5110 үчүн башка инструкцияны түзүү керектигин сездим? Чынын айтсам, мен өткөн жылы ушул түзмөктөрдүн экөөнү тең колдонуп, концепцияны далилдөөнүн үстүндө иштеп жаткам жана кандайдыр бир жол менен "туура эмес"