Агуулгын хүснэгт:

Нэг зүү товчлууртай Raspberry Pi ашиглах гарын авлага: 9 алхам
Нэг зүү товчлууртай Raspberry Pi ашиглах гарын авлага: 9 алхам

Видео: Нэг зүү товчлууртай Raspberry Pi ашиглах гарын авлага: 9 алхам

Видео: Нэг зүү товчлууртай Raspberry Pi ашиглах гарын авлага: 9 алхам
Видео: BTT Manta M8P v2 - CM4 with Fluidd Pi 2024, Арваннэгдүгээр
Anonim
Нэг зүү товчлуур Raspberry Pi ашиглах гарын авлага
Нэг зүү товчлуур Raspberry Pi ашиглах гарын авлага

Анхааруулга: ЭНЭ НЭГДСЭН БҮТЭЭГДЭХҮҮНИЙ ХЭРЭГЛЭЭНИЙ ГАРЫН АВЛАГА: НЭГ ПИН ТҮЛХҮҮР. Энэ бол DIY төсөл биш юм. Хэрэв та самбарыг өөрөө хийхийг хүсвэл сургалтын төгсгөлд бүргэдийн файлыг олох боломжтой

One Pin товчлуур гэж юу вэ?

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

Arduino ашиглах гарын авлагыг энд дарж үзнэ үү.

Алхам 1: Бүх эд ангиудыг цуглуул

Бүх эд ангиудыг цуглуул!
Бүх эд ангиудыг цуглуул!

One Pin товчлуурын самбарыг эхлүүлэхийн тулд танд дараахь зүйлс хэрэгтэй болно.

  • Нэг зүү бүхий товчлуурын самбар
  • Бага зэргийн амттай Arduino (энэ тохиолдолд Arduino Nano ашигласан)
  • 3 M/F холбогч кабель,
  • Таны Raspberry Pi дээр ямар төрлийн толгой байгаагаас хамааран 4 M/M OR 4 өөр M/F холбогч кабель
  • 16 товчлууртай мембран товчлуур
  • Талхны самбар (Энд үнэхээр жижиг хэсгийг ашигладаг)
  • ADS1115 модуль (Adafruit эсвэл клоноос)
  • Интернэт холболттой Raspberry Pi болон Raspbian OS (би Stretch ашигласан)
  • Raspberry Pi дагалдах хэрэгсэл (HDMI кабель, тэжээлийн хангамж, залгуур, дэлгэц гэх мэт) нь таны Raspberry Pi -ийн амтаас хамаарна)

Алхам 2: Цахилгааны утас

Цахилгааны утас!
Цахилгааны утас!
Цахилгааны утас!
Цахилгааны утас!

Нэг зүү бүхий товчлуурыг Fritzing диаграм, зураг эсвэл хоёуланг нь хүссэн утсаар холбоно уу.

Анхаарна уу: Fritzing диаграм дээрх тэмдэглэл нь нэг зүүтэй товчлуурыг илэрхийлдэг (мөн GND VCC ба AOUT товчлолууд нь нэг зүүтэй товчлуурын самбарын товчлууруудыг тодорхойлдог)

Алхам 3: Python багц суулгах

Python багц суулгах!
Python багц суулгах!
Python багц суулгах!
Python багц суулгах!

Терминал цонхыг нээгээд дараах тушаалуудыг бичнэ үү.

sudo apt-get update

дараа нь

pip3 нь Progetto-One-Pin-Keypad-ийг суулгана

багц болон түүний шаардлагатай хамаарлыг суулгах

Алхам 4: Жишээнүүдийг суулгах

Жишээнүүдийг суулгах
Жишээнүүдийг суулгах

Би home/pi -ийн доорх репозиторыг байрлуулах dev хавтас үүсгэсэн бөгөөд хэрэв та ижил зүйлийг хийхийг хүсч байвал (энэ нь заавал биш), энэ тушаалыг ажиллуулна уу.

mkdir dev

дараа нь фолдерт орохын тулд бичнэ үү:

cd хөгжүүлэгч

Эцэст нь репозиторыг хуулбарлахын тулд дараах тушаалыг оруулна уу.

git clone

Алхам 5: I2C -ийг идэвхжүүлэх

I2C -ийг идэвхжүүлж байна
I2C -ийг идэвхжүүлж байна
I2C -ийг идэвхжүүлж байна
I2C -ийг идэвхжүүлж байна
I2C -ийг идэвхжүүлж байна
I2C -ийг идэвхжүүлж байна

ADS1115 ADC (Аналог тоон хөрвүүлэгч) нь Raspberry Pi-тай холбогдохын тулд I2C (Интертеграл схем) протокол дээр тулгуурладаг бөгөөд анхдагчаар I2C автобус идэвхгүй байдаг бөгөөд үүнийг идэвхжүүлэхийн тулд дараахийг бичнэ үү.

sudo raspi-config

Цэнхэр тохиргооны цонх руу хөтлөх бөгөөд тэндээс сумны товчлуурууд болон оруулах товчийг ашиглан сонгоно уу

  1. Интерфэйсийн сонголтууд
  2. I2C
  3. Дараа нь руу оч

Зөвлөгөө: Дээрх дэлгэцийн агшинд хандах нь бага зэрэг туслах болно! Хэрэв та гацсан хэвээр байвал бүү ай! Sparkfun-ийн энэхүү гайхалтай аргыг үзнэ үү!

Алхам 6: 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 нь дарагдсан товчлуурыг char болгон буцааж өгдөг бөгөөд хугацаа нь миллисекундээр тохируулагддаг гэдгийг санаарай! Хэрэв та завсарлага авахыг хүсэхгүй байвал товчлуурыг ашиглана уу. NO_TIMEOUT тогтмол.

Алхам 8: Нэг зүү бүхий товчлуур хэрхэн ажилладаг талаар

One Pin товчлуур хэрхэн ажилладаг талаар
One Pin товчлуур хэрхэн ажилладаг талаар
One Pin товчлуур хэрхэн ажилладаг талаар
One Pin товчлуур хэрхэн ажилладаг талаар

Нэг зүү бүхий товчлуурын дизайны ихэнх хэсэг нь 16 зүү бүхий товчлуурын товчлуур бүрийн өвөрмөц аналог утгыг олж авахын тулд хүчдэл хуваагчийг Хари Вигунагийн хэрэгжүүлэлт дээр суурилдаг. One Pin Keypad -ийн загвар нь үндсэндээ хэвээрээ байгаа бөгөөд цөөн хэдэн өөрчлөлт оруулжээ. Хэрэв та One Pin товчлуур хэрхэн ажилладаг талаар гайхалтай заавар авахыг хүсвэл Хари Вигунагийн гайхалтай видеог эндээс үзээрэй!

Алхам 9: Дүгнэлт

Дүгнэлт
Дүгнэлт

Энэхүү зааварчилгаанд бид нэг зүү бүхий товчлуурын самбараа хэрхэн эхлүүлэх талаар авч үзсэн болно. ReadKeypadInstantaneous жишээний тоймыг яагаад хэзээ ч ашиглаагүй юм бол гэж бодож байгаа нь таны сонирхлыг татсан байх, шалтгаан нь тийм ч ашигтай биш юм, учир нь энэ товчлуурыг дуудахдаа дарах шаардлагатай болдог, учир нь readKeypadInstantaneous () функцийг голчлон хялбарчлахад ашигладаг. номын сан дахь readKeypadWithTimeout (). Хэрэв энэ нь таны нүдийг татвал түүнийг эргүүлж авахад чөлөөтэй байгаарай. Аз жаргалтай хакерууд!

Хэрэв танд ямар нэгэн асуулт байвал доор сэтгэгдэл үлдээгээрэй эсвэл [email protected] хаягаар бидэнд имэйлээр илгээнэ үү. Хамгийн сайн сайхныг хүсье, Progetto Company P. S. Амласан ёсоор ТУЗ -ийн Eagle Files -ийн линк.

Зөвлөмж болгож буй: