Cov txheej txheem:

Qhia I2C Nrog Zio Cov Qauv thiab Qwiic: 6 Cov Kauj Ruam
Qhia I2C Nrog Zio Cov Qauv thiab Qwiic: 6 Cov Kauj Ruam

Video: Qhia I2C Nrog Zio Cov Qauv thiab Qwiic: 6 Cov Kauj Ruam

Video: Qhia I2C Nrog Zio Cov Qauv thiab Qwiic: 6 Cov Kauj Ruam
Video: CASES IN RUSSIAN (DATIVE, GENITIVE, INSTRUMENTAL) | Lesson 17 | Russian language (A1) 2024, Kaum ib hlis
Anonim
Qhia I2C Nrog Zio Cov Qauv thiab Qwiic
Qhia I2C Nrog Zio Cov Qauv thiab Qwiic

Robin Sharma tau hais tias: 'Kev txhim kho me me txhua hnub nyob rau lub sijhawm ua rau muaj txiaj ntsig zoo'. Koj yuav xav tias, 'Aw, lwm qhov I2C tshaj tawm?' Zoo, muaj tseeb ntau txhiab cov ntaub ntawv thaum nws los txog rau I2C. Tab sis nyob twj ywm, qhov no tsis yog lwm tsab xov xwm I2C. Qwiic Txuas System thiab Zio cov khoom sib txuas sib txuas sib txuas yog qhov tseeb I²C cov hloov pauv game!

Taw qhia

Yog tias koj tab tom tsim cov phiaj xwm hluav taws xob thiab ua tej yam txaus ntshai, tej zaum koj yuav tau pom tias thaum koj cov phiaj xwm loj dua, koj lub khob cij pib zoo li lub qhov nab (me ntsis txoj cai?).

Ib qho ntxiv, yog tias koj muaj ntau txoj haujlwm txuas mus ntxiv, koj siv sijhawm ntau los hloov cov xov hlau los ntawm txoj haujlwm mus rau qhov project.

Peb yog cov tsim khoom, yog li peb nkag siab qhov kev tawm tsam. Peb qhov kev koom tes tsis ntev los no rau OHS lub zej zog yog cov qauv ua qauv qauv hu ua ZIO, txais yuav Qwiic txuas kab ke. Qwiic yog txoj hauv kev yooj yim heev los sib txuas lus cov phiaj xwm phiaj xwm phiaj xwm rau cov ntsuas hluav taws xob, tus neeg ua haujlwm thiab cov laug cam tawm ntawm I²C.

Kauj Ruam 1: Dab tsi yog I²C thiab Vim Li Cas Peb Nyiam Nws

Dab tsi yog I²C thiab Vim Li Cas Peb Nyiam Nws
Dab tsi yog I²C thiab Vim Li Cas Peb Nyiam Nws

I²C yog qhov dav tshaj plaws siv ntau tus tswv npav, txhais tau tias ntau daim npav tuaj yeem txuas nrog tib lub npav. Nws tau siv thoob plaws ntau daim ntawv thov ntawm tus tswv thiab qhev lossis ntau tus tswv thiab qhev khoom siv. Los ntawm microcontrollers, rau smartphones, rau cov ntawv thov kev lag luam, tshwj xeeb tshaj yog rau cov vis dis aus zoo li lub computer saib. Nws tuaj yeem siv tau yooj yim hauv ntau qhov kev tsim hluav taws xob (thiab tsis ntev los no yooj yim dua nrog Qwiic txuas).

Yog tias peb yuav tsum piav qhia I²C hauv ob lo lus, tej zaum peb yuav siv qhov yooj yim thiab yoog raws.

Ib qhov txiaj ntsig zoo tshaj plaws ntawm I²C hla lwm txoj kev sib txuas lus yog tias nws yog ob lub xov tooj sib txuas lub ntsiab lus tias nws xav tau tsuas yog ob lub xov tooj liab, SDA (Cov Ntaub Ntawv Teev Npe Kab) thiab SCL (Kab Cuam Tshuam Kab). Nws yuav tsis yog tus txheej txheem ceev tshaj plaws, tab sis nws paub zoo tias hloov pauv tau yooj yim, tso cai yooj yim hauv tsheb npav qhov hluav taws xob.

Lwm tus yam ntxwv tseem ceeb uas ua rau lub npav no txaus nyiam yog kev sib raug zoo ntawm tus tswv thiab qhev. Ntau lub cuab yeej tuaj yeem txuas nrog lub tsheb npav tib yam thiab tsis tas yuav hloov lub thaiv ntawm cov khoom siv vim tias txhua lub cuab yeej muaj qhov chaw nyob tshwj xeeb (tus tswv xaiv lub cuab yeej los sib txuas lus).

Kauj Ruam 2: Cia Li Saib Kom Zoo

Cia Peb Ua Ib Zaug Saib
Cia Peb Ua Ib Zaug Saib
Cia Peb Ua Ib Zaug Saib
Cia Peb Ua Ib Zaug Saib
Cia Peb Ua Ib Zaug Saib
Cia Peb Ua Ib Zaug Saib
Cia Ua Ib Siab Zeem Muag
Cia Ua Ib Siab Zeem Muag

Yog li, I²C ua haujlwm li cas? Nyuam qhuav pib peb tau hais tias ib qho ntawm cov yam ntxwv tseem ceeb tshaj plaws yog qhov tso cai hluav taws xob, qhov no tuaj yeem ua tau raws li I²C siv tus qhib qhib (tseem hu ua qhib ntws) rau ob qho SDA thiab SCL cov kab sib txuas lus.

SCL yog lub moos teeb liab, sib txuas cov ntaub ntawv hloov pauv ntawm cov khoom siv ntawm I busC npav thiab nws tau tsim los ntawm tus tswv. Thaum SDA nqa cov ntaub ntawv xa lossis tau txais los ntawm cov ntsuas lossis lwm yam khoom siv txuas nrog lub npav.

Cov zis rau lub teeb liab txuas nrog hauv av, txhais tau tias txhua lub cuab yeej raug yuam kom qis. Yuav kom rov qab tau lub teeb liab mus rau siab, ob txoj kab txuas nrog rau qhov khoom siv hluav taws xob zoo los ntawm kev rub tawm tus tiv thaiv kom raug txiav.

Nrog ZIO cov qauv peb tau txais koj npog, txhua qhov peb cov laug cam tawg ua ke suav nrog qhov tsim nyog rub tawm tus tiv thaiv.

I²C ua raws cov lus txheej txheem txhawm rau sib txuas lus tus tswv nrog cov khoom siv qhev. Ob txoj kab (SCL thiab SDA) muaj ntau nyob hauv txhua tus I²C qhev, txhua tus qhev ntawm lub tsheb npav mloog cov lus.

Cov txheej txheem xov xwm ua raws cov qauv pom hauv daim duab txuas nrog:

Nws yuav zoo li nyuab ntawm thawj zaug pom, tab sis peb tau txais xov xwm zoo me ntsis. Thaum siv Arduino IDE muaj lub tsev qiv ntawv Wire.h, txhawm rau ua kom yooj yim txhua qhov teeb tsa rau I²C cov lus raws tu qauv.

Qhov pib mob tau tsim thaum cov ntaub ntawv kab (SDA) poob qis thaum lub moos kab (SCL) tseem siab. Thaum teeb tsa txoj haujlwm ntawm Arduino interface peb tsis tas yuav txhawj xeeb txog kev tsim cov xwm txheej pib, nws yuav pib nrog cov haujlwm tshwj xeeb (Wire.beginTransmission (slaveAddress)).

Ib qho ntxiv, txoj haujlwm no tseem pib ua haujlwm sib kis nrog tus qhev qhov chaw nyob tshwj xeeb. Txhawm rau xaiv tus qhev los sib tham ntawm lub tsheb npav sib koom, tus tswv yuav tsum hla qhov chaw nyob rau tus qhev los tham. Tom qab qhov chaw nyob tau teeb tsa los sib tham rau tus qhev sib xws, cov lus hauv qab no nrog nyeem lossis sau me ntsis, nyob ntawm hom xaiv.

Cov salve muab cov lus teb nrog lees paub (ACK lossis NACK), thiab lwm yam cuab yeej qhev ntawm lub tsheb npav luv nqi cov ntaub ntawv tas mus txog thaum cov lus tiav thiab lub tsheb npav dawb. Ua raws li ACK, ib ntu ntawm kev sau npe sab hauv ntawm cov qhev txuas ntxiv mus.

Thaum cov ntaub ntawv raug xa mus, cov lus xa mus xaus nrog qhov xwm txheej nres. Txhawm rau xaus kev sib kis cov ntaub ntawv kab hloov mus rau siab thiab kab kab tseem nyob siab.

Kauj Ruam 3: I²C thiab ZIO

I²C thiab ZIO
I²C thiab ZIO

Peb xam tawm tias kuv yuav ua qhov zoo tshaj plaws los piav qhia txhua cov ntaub ntawv saum toj no hauv kev sib tham ntawm tus tswv (aka Zuino, peb cov micro) thiab qhev (aka ZIO breakout boards).

Hauv qhov piv txwv yooj yim no peb tab tom siv ZIO TOF nrug deb sensor thiab ZIO OLED Zaub. TOF muab cov ntaub ntawv nrug deb thaum ZIO Oled qhia cov ntaub ntawv. Cov khoom siv thiab cov khoom siv siv:

  • ZUINO M UNO - Tus Xib Hwb
  • ZIO OLED Zaub - Qhua_01
  • ZIO TOF nrug deb Sensor - qhev_02
  • Qwiic Cable - Kev sib txuas yooj yim rau I²C cov cuab yeej

Nov yog qhov yooj yim npaum li cas los txuas cov laug cam rau ib leeg siv Qwiic, tsis tas yuav tsum tau lub khob cij, ntxiv cov kab txuas ntxiv lossis ZUINO tus pin. Lub moos thiab cov ntaub ntawv kab ntawm ZUINO tau txuas nrog lub ntsuas nrug thiab OLED los ntawm kev siv Qwiic txuas. Ob txoj hlua txuas ntxiv yog 3V3 thiab GND.

Ua ntej tshaj plaws, cia saib cov ntaub ntawv xav tau, txhawm rau sib tham nrog tus tswv nrog qhev peb yuav xav paub qhov chaw nyob tshwj xeeb.

Ntaus: ZIO nrug deb Sensor

  • Qhov tooj: RFD77402
  • I2C Chaw Nyob: 0x4C
  • Datasheet Txuas

Ntaus: ZIO OLED Zaub

  • Qhov tooj: SSD1306
  • Chaw nyob: 0x3C
  • Datasheet Txuas

Txhawm rau nrhiav qhov chaw nyob tshwj xeeb rau cov cuab yeej qhev qhib cov ntaub ntawv muab. Txog qhov deb sensor qhov chaw nyob tau muab ntawm Module Interface seccion. Txhua lub sensor lossis tivthaiv muaj cov ntawv sib txawv nrog cov ntaub ntawv sib txawv muab. Qee zaum tuaj yeem nyuaj rau nrhiav nws ntawm 30 nplooj ntawv teev tseg (hint: qhib qhov nrhiav cuab yeej ntawm tus saib PDF thiab ntaus "chaw nyob" lossis "ntaus ID" txhawm rau tshawb nrhiav sai).

Tam sim no hais tias qhov chaw nyob tshwj xeeb rau txhua lub cuab yeej tau paub, los nyeem/ sau cov ntaub ntawv, chaw nyob sab hauv yuav tsum raug txheeb xyuas (tseem los ntawm cov ntawv teev npe). Muaj saib ntawm ZIO Qhov deb sensor ntsuas cov chaw nyob kom tau txais qhov nrug sib xws rau 0x7FF.

Hauv qhov xwm txheej tshwj xeeb no peb tsis xav tau cov ntaub ntawv no rau kev siv lub ntsuas cua zoo li lub tsev qiv ntawv ua nws lawm.

Cov kauj ruam tom ntej, txhais tes ntawm cov cai. ZUINO M UNO yog sib xws nrog Arduino IDE, uas ua rau teeb tsa yooj yim dua. Cov tsev qiv ntawv xav tau rau txoj haujlwm no yog cov hauv qab no:

  • Hlau.h
  • Adafruit_GFX.h
  • Adafruit_SSD1306.h
  • SparkFun_RFD77402_Arduino_Library.h

Wire.h yog lub tsev qiv ntawv arduino, ob lub tsev qiv ntawv Adafruit tau siv rau OLED thiab qhov kawg tau siv rau Kev Tshaj Tawm nrug. Txheeb cov ntawv qhia no yuav ua li cas txuas *.zip cov tsev qiv ntawv rau Arduino IDE.

Saib ntawm txoj cai, thawj lub tsev qiv ntawv yuav tsum tau tshaj tawm nrog rau qhov chaw nyob rau OLED.

Hauv kev teeb tsa () kis tau pib thiab cov ntawv tau tshwm rau qhov ua haujlwm nrug deb.

Lub voj () ntsuas ntsuas ntawm qhov deb thiab OLED luam tawm nws.

Txheeb tus piv txwv qhov chaws ntawm github txuas.

Siv ob lub rooj sib cais tawm yog yooj yim zoo nkauj hauv txhua qhov kev nkag siab. Ntawm qhov kho vajtse sab Qwiic txuas ua rau kho vajtse teeb tsa tau sai dua thiab tsis muaj teeb meem ntau dua li muaj lub khob cij thiab cov xov txuas. Thiab rau lub khoos phis tawj, siv cov tsev qiv ntawv sib xws rau I2C kev sib txuas lus, lub ntsuas pa thiab cov zaub ua rau cov lej yooj yim dua.

Kauj Ruam 4: Qhov Siab Tshaj Plaws Cable Ntev Dab Tsi?

Qhov ntev tshaj plaws nyob ntawm qhov rub tawm cov tshuaj tiv thaiv siv rau SDA thiab SCL thiab cov peev txheej cable. Cov neeg tawm tsam tseem txiav txim siab lub npav loj, qis lub npav ceev, ntev dua qhov txwv kab. Cov peev txheej hluav taws xob txwv tus naj npawb ntawm cov cuab yeej ntawm lub npav, nrog rau txoj kab ntev. Cov ntawv thov raug txwv lim hlau ntev mus rau 2.5-3.5m (9-12ft) tab sis muaj qhov sib txawv nyob ntawm qhov siv cov cable. Rau kev siv, qhov ntev tshaj plaws ntawm I2C daim ntawv thov siv daim thaiv 22 AWG sib txuas ua ke cable yog li 1 m (3 ft) ntawm 100 kbaund, 10 m (30ft) ntawm 10kbaud.

Muaj qee qhov chaw zoo li mogami lossis WolframAlpha uas tso cai kwv yees txoj kab ntev.

Kauj Ruam 5: Yuav Ua Li Cas Txuas Ntau Yam Khoom Ntawm Tib Lub Tsheb Npav?

Yuav Ua Li Cas Txuas Ntau Yam Khoom Ntawm Tib Lub Tsheb Npav?
Yuav Ua Li Cas Txuas Ntau Yam Khoom Ntawm Tib Lub Tsheb Npav?
Yuav Ua Li Cas Txuas Ntau Yam Khoom Ntawm Tib Lub Tsheb Npav?
Yuav Ua Li Cas Txuas Ntau Yam Khoom Ntawm Tib Lub Tsheb Npav?

I2C yog lub npav loj, uas txhua lub cuab yeej txuas nrog lub tsheb npav sib koom. Nrog Qwiic txuas qhov sib txawv ntawm cov laug cam tuaj yeem txuas nrog ib qho tom qab ib leeg siv Qwiic txuas. Txhua lub rooj tsavxwm muaj tsawg kawg 2 Qwiic txuas.

Peb tsim cov laug cam sib txawv los daws qee qhov Qwiic thiab I2C cov kev txwv. Zio Qwiic adapter board tau siv los txuas ntawm Qwiic cov cuab yeej yam tsis muaj Qwiic txuas, siv Qwiic rau breadboard txiv neej header cable. Qhov ua kom yuam kev yooj yim no tsim muaj peev xwm txwv.

Txhawm rau txuas cov cuab yeej sib txawv ntawm lub npav lossis tsob ntoo network peb tau los nrog Zio Qwiic Hub.

Qhov kawg tab sis tsis tsawg, Zio Qwiic MUX tso cai rau kev sib txuas ntawm ob lossis ntau lub cuab yeej siv tib qhov chaw nyob.

Kauj Ruam 6: Qhov Kev Txiav Txim I2C Yog Dab Tsi?

I2C yuav tsum tau txiav tawm, yog li kab ntawv pub dawb ntxiv rau lwm yam khoom siv. Qhov no tej zaum yuav tsis meej pem me ntsis, vim tias lub sij hawm txiav tawm feem ntau yog siv los piav qhia txog lub tsheb npav rub cov neeg tawm tsam (los muab lub xeev tsis raug, hauv qhov no los muab tam sim no rau hauv Circuit Court). Rau Zuino cov laug cam, tus nqi tiv thaiv yog 4.7kΩ.

Yog tias tshem tawm qhov kev tshem tawm, yuav tsis muaj kev sib txuas lus ntawm lub npav- tus tswv yuav tsis tuaj yeem tsim qhov xwm txheej pib, yog li cov lus yuav tsis raug xa mus rau cov qhev.

Yog xav paub ntxiv thiab muaj peev xwm Zio txheeb xyuas cov khoom Zio tshiab kawg. Lub hom phiaj ntawm kab lus no yog piav qhia I²C kev sib txuas lus hauv paus thiab nws ua haujlwm li cas nrog Zio thiab Qwiic txuas. Nyob twj ywm kom paub ntau ntxiv.

Pom zoo: