Me pehea te whakawhitiwhiti Arduino e rua me te kawa I2C?
Ko te kawa I2C Kei te whakamahia nuitia i roto i te waahanga hikohiko ki te whakatu korero i waenganui i nga taputapu. Mo nga papa Arduino, ka tino whai hua tenei hangarau ina hiahia koe ki te hono me te whakawhitiwhiti i nga papa e rua, neke atu ranei ki a raatau. I roto i tenei tuhinga, ka tirotirohia e matou nga kaupapa taketake o te kawa I2C me te whakarato i tetahi waahanga taipitopito mo te waahi ki te whakarite korero angitu i waenga i nga Arduinos e rua ma te whakamahi i tenei kawa.
He aha te kawa I2C?
Ko te kawa I2C, e mohiotia ana ko Inter-Integrated Circuit, he kawa korero rangatū tukutahi e taea ai te whakawhiti raraunga i waenga i nga taputapu i runga i nga raina e rua: he raina raraunga (SDA) me te karaka (SCL) e whakamahia nuitia ana na tona te ngawari me te pai ki te whakawhitiwhiti korero me nga taputapu maha e hono ana i runga i te pahi kotahi.
whirihoranga taputapu
I mua i te tiimata ki te mahi me te kawa I2C, he mea nui kia mohio kei a koe nga taputapu e tika ana I tenei keehi, me rua nga papa Arduino me nga taura e tika ana hei hono atu. I tua atu, me whakatau ko wai te poari hei rangatira, ko wai hoki hei taurekareka i roto i te whakawhitiwhiti korero.
whirihoranga rorohiko
Kia reri te whirihoranga taputapu, me whakareri i te rorohiko i runga i nga papa Arduino. Ki te mahi i tenei, ka whakamahia e matou te whare pukapuka Waea, kei roto i te Arduino IDE, e whakarato ana i nga mahi e tika ana hei whakatinana i te kawa I2C. I runga i ia papa, me uta he hotaka e timata ana i te whakawhitiwhiti korero I2C me te whakatau mena ka noho hei rangatira, hei taurekareka ranei.
Whakawhiti korero I2C
Ina whirihorahia e matou nga taputapu me nga rorohiko i runga i nga papa e rua, ka taea e matou te timata ki te whakatu i te whakawhitiwhiti korero I2C. Ka timata te rangatira ki te whakawhiti korero ma te tuku i tetahi wahitau haerenga ki te taurekareka I muri mai i tenei, ka taea e nga taputapu e rua te tuku me te whiwhi raraunga ma te rua.
Hei whakamutunga, ko te kawa I2C he whiringa pai ki te whakatu i nga korero i waenga i nga papa Arduino e rua. Na roto i tenei tuhinga, kua tirotirohia e matou nga tikanga o tenei kawa me te whakarato i tetahi taahiraa i te taahiraa ki te whakaturia me te whakarite whakawhitiwhiti angitu. Inaianei, kua tae koe ki te whakatinana i enei matauranga me te hanga kaupapa uaua ake e hiahia ana kia honoa nga taputapu Arduino maha.
– Whakataki ki te kawa I2C i Arduino
Ko te kawa I2C, e mohiotia ana ko Inter-Integrated Circuit, he kawa korero rangatū e whakamahia ana hei hono i nga taputapu hiko maha i runga i te pahi noa. Ko te tikanga ka taea e taatau te whakamahi i tenei kawa ki te hono atu i nga papa Arduino e rua, neke atu ranei, me te tuku korero ki a raatau ano he pai te whakawhitiwhiti korero I2C i te wa e titiro ana ki te hono i nga taputapu mo te wa poto, na te mea e rua noa nga taura hei tuku Hei taapiri, he kawa tino pono me te whakamahi whanui i roto i te umanga hiko.
Hei whakarite i te whakawhitiwhiti korero I2C i waenga i nga papa Arduino e rua, me whirihora he rangatira me tetahi, neke atu ranei nga pononga. Ko te rangatira te kawenga mo te timata me te whakahaere i nga korero, ko nga pononga ka whakautu ki nga tono a te rangatira. Kia tau te hononga, ka taea te tuku me te whiwhi raraunga i waenga i nga taputapu. He mea nui kia mohio ko ia taputapu kei runga i te pahi I2C me whai waahi motuhake kua tohua, ka taea e te rangatira te tautuhi me te korero ki a raatau ina hiahiatia.
Ko te painga o te kawa I2C ko te tuku korero e rua-ara, ko te tikanga ka taea e te rangatira me nga pononga te tuku me te whiwhi raraunga. Ma tenei ka whakatuwhera i te "ao o nga waahi" mo te whakawhiti korero i waenga i nga taputapu. I tua atu, ka taea hoki e tenei kawa te whakawhitiwhiti korero, ko te tikanga tena Ka taea e tatou te hono atu i nga pononga maha ki te rangatira kotahi, na reira ka whakawhānui ake i nga kaha o to tatou punaha Ma te mohio ki nga kaupapa matua me te whakamahi i nga whare pukapuka motuhake mo te I2C i Arduino, he mea ngawari ki te whakarite hononga me te timata ki te whakawhiti raraunga i waenga i nga taputapu ma te whakamahi. tenei kawa.
- Arduino whirihoranga mo te whakawhitiwhiti I2C
Ko tetahi o nga huarahi tino pai ki te whakawhitiwhiti korero i waenga i nga Arduinos e rua ko te whakamahi i te kawa I2C, Inter-Integrated Circuit ranei. Ka taea e tenei kawa te tukutahi whakawhitiwhiti i waenga i nga taputapu maha ma te whakamahi i nga taura e rua anake, kotahi mo te tuku raraunga (SDA) me tetahi mo te tukutahi karaka (SCL). Ko te whirihora i nga Arduinos ki te whakamahi i te kawa I2C he tino ngawari, he maha nga painga e pa ana ki te ngawari me te pai o te whakawhitiwhiti korero.
Hei whirihora i te Arduino mo te whakawhitiwhiti I2C, me tautuhi i te waahi o ia Arduino, ara, ka mahi hei rangatira, hei taurekareka ranei. I muri mai, ka honoa nga Arduino e rua ma te whakamahi i nga taura SDA me te SCL e rite ana ki ia taputapu He mea nui kia hono nga Arduino e rua ki te whenua (GND) ki te whakarite tohutoro ngaohiko.
I te wa kua hono tinana tatou i nga Arduinos, me whakarite e tatou te waehere e rite ana ki ia o ratou. I runga i te ariki Arduino, ka whakamahi matou i te whare pukapuka Wire.h ki te timata i te whakawhitiwhiti korero I2C, ki te whakarite i te auau whakawhiti korero e hiahiatia ana Na, ka taea e matou te tuku me te whiwhi raraunga ma te whakamahi i nga mahi e whakaratohia ana e te whare pukapuka, penei i te Wire.beginTransmission() ki te timata i te tuku me te Waea. tuhi() ki te tuku raraunga. I runga i te pononga ArduinoKa whakamahi hoki matou i te whare pukapuka Wire.h ki te tīmata i te whakawhitiwhiti korero me te whirihora tetahi mahi haukoti ka puta ina tae mai he tuku I2C. I roto i tenei mahi, ka taea e tatou te whakamahi i te mahi Wire.available () ki te tirotiro mena kei te waatea nga raraunga me te mahi Wire.read () ki te tango i nga raraunga i tukuna e te rangatira.
Ko te whirihora i nga Arduinos mo te whakawhitiwhiti I2C he huarahi pai me te ngawari ki te whakarite i nga korero rangatū i waenga i nga taputapu maha. Ko tenei kawa e tuku ana i te tere o te whakawhitiwhiti korero me te hiahia kia iti te maha o nga taura, te whakamaarama i te hononga me te whakaiti i te rahi o nga iahiko. Ma te whai i nga hikoinga kua whakahuahia i runga ake nei, ka taea e taatau te whakarite i te whakawhitiwhiti korero maeneene me te haumaru i waenga i te rua Arduino ma te whakamahi i te kawa I2C. Inaianei kua reri koe ki te timata ki te whakawhanake i nga kaupapa uaua ake e hiahia ana te taunekeneke i waenga momo whakaaro!
- Hononga tinana o nga taputapu Arduino ma te whakamahi i te I2C
Ko te kawa I2C he a huarahi whai hua me te huarahi rongonui ki te hono i nga taputapu Arduino ki a raatau ano. Ka taea e ia te whakawhitiwhiti korero korero-rua ma te whakamahi i nga taura e rua anake, ka ngawari ki te hono i nga taputapu maha i runga i te whatunga. Ko tenei hononga-a-tinana ma te I2C kei runga i nga taura takirua, kotahi mo te whakawhiti raraunga (SDA) me tetahi atu mo te karaka (SCL). Ma tenei hononga, ka taea te whakarite i nga whakawhitiwhiti korero i waenga i nga Arduinos e rua tere me te ngawari.
Hei whakamahi i te kawa I2C ki Arduino, me whirihora tetahi Tuhinga o mua hei rangatira, ko tetahi hei pononga. Ko te rangatira te kawenga mo te timata me te whakahaere i nga korero, i te wa e tatari ana te pononga mo nga tohutohu mai i te rangatira me te whakautu. He mea nui ki te whakarite i tetahi wahitau motuhake mo ia taputapu pononga i runga i te whatunga I2C hei karo i nga tautohetohe korero.
Kia whirihorahia te hononga-a-tinana me nga mahi rangatira-pononga, ka taea e nga taputapu Arduino te whakawhiti raraunga ma te whakamahi i te kawa I2C. Ma tenei ka taea te tuku me te whiwhi korero penei i nga uara pukoro, nga whakahau, me etahi atu momo raraunga e tika ana mo te mahi o nga taputapu hono. I tua atu, ka taea e te kawa I2C te honohono o nga taputapu taurekareka i runga i te whatunga kotahi, e whakarato ana i te kaha ki te whakawhānui ake i nga kaha o te Arduino i roto i te waahanga me te ngawari.
- Te whakatuu korero I2C i waenga i nga Arduinos
Ko te kawa I2C (Inter-Integrated Circuit) he huarahi ngawari me te whai hua ki te whakarite korero i waenga i nga taputapu Arduino e rua neke atu ranei. Ko tenei kawa e ahu mai ana i te whirihoranga rangatira-pononga, kei reira tetahi o nga Arduinos e mahi ana hei rangatira hei timata me te whakahaere i te whakawhitiwhiti korero, ko etahi atu ka mahi hei pononga e whiwhi ana, e whakautu ana i nga whakahau a te rangatira. I muri mai, ka whakaatu matou ki a koe me pehea te whakatu i te whakawhitiwhiti I2C i waenga i nga Arduinos e rua.
Hei timata, me hono koe i nga Arduinos ma te whakamahi te pahi I2C. Hei mahi i tenei, me hono koe i te SDA (Raraunga Raraunga) me nga titi SCL (Serial Clock) o ia Arduino. Ka whakamahia te titi SDA ki te tuku me te whiwhi raraunga, ka whakamahia te titi SCL ki te tukutahi korero. Kia honoa e koe nga taura, me whakarite e koe nga wahitau o nga taputapu. Me whai waahi motuhake ia Arduino hei wehewehe i a raatau. Ka taea e koe te tautapa i enei wahitau ki te waehere o ia taputapu ma te whakamahi i te mahi Waea.timata().
Ina oti ia koe nga hononga me nga wahitau taputapu, ka taea e koe te timata ki te korero i waenga i nga Arduinos ma te whakamahi i te kawa I2C. Ka taea e te rangatira te tono raraunga mai i te taurekareka ma te whakamahi i te mahi Waea.requestFrom(), a ka taea e te pononga te whakautu ma te tuku i nga raraunga ma te whakamahi i te mahi Waea.tuhi(). Hei taapiri, ka taea e koe te whakamahi i nga mahi Waea.Wātea() y Waea.panui() ki te panui i nga raraunga kua riro. Kia mahara ko te whakawhitiwhiti I2C ka taea e koe te whakawhiti raraunga o nga momo rereke, penei i nga tauoti, nga tohu, me nga raupapa paita.
– Te whakatinanatanga o te waehere mo I2C whakawhitiwhitinga
La whakatinana waehere mo te whakawhitiwhiti I2C i waenga i nga Arduino e rua he tukanga he mea nui kia tutuki pai te taunekeneke i waenganui i nga taputapu e rua. Ko te kawa I2C (Inter-Integrated Circuit) he ahua ngawari me te pai o te whakawhitiwhiti korero ka taea e te taputapu rangatira te whakahaere i nga taputapu taurekareka maha ma te pahi raraunga rua. Kei raro nei he tauira mo te whakatinana i te waehere e hiahiatia ana hei whakatu i tenei korero.
Hei timata, he mea tika tautuhia nga titi ka whakamahia mo I2C kōrero on ia Arduino. Ma te tikanga, ka whakamahia te pine analog A4 mo te tohu karaka (SCL) ka whakamahia te titi A5 mo te tohu raraunga (SDA). Me whirihora enei titi hei whakaurunga me nga putanga i roto i te waehere. I tua atu, me whakauru te whare pukapuka Wire.h ki te whai i nga mahi me nga tikanga e tika ana hei whakahaere i te kawa I2C.
Kia whirihorahia nga titi me te whare pukapuka, me tika arawhiti te whakawhitiwhiti I2C i runga i te Arduino e rua. Ki te mahi i tenei, ka whakamahia te mahi Waea.timata() i roto i te waehere. Me karanga tenei mahi i roto i te setup() o ia Arduino ki te whakarite kia tika te whakatuu korero. Kia arawhitia te whakawhitiwhiti korero, ka taea e te rangatira Arduino te tuku me te whiwhi raraunga i runga i te pahi I2C ma te whakamahi i nga mahi e waatea ana i te whare pukapuka.
- Nga whakaaro reiti whakawhiti i roto i te whakawhitiwhiti korero I2C
Nga Whakaaro Reiti Whakawhiti i roto i te Whakawhitiwhiti I2C
Ko te kawa I2C he whiriwhiri rongonui mo te whakawhitiwhiti korero i waenga i nga Arduinos e rua na te ngawari me te pai. Heoi, i te wa e mahi ana me tenei kawa, he mea nui kia whakaarohia te tere whakawhiti. Ka pa tika te tere ki te wa e tukuna ai nga korero i waenga i nga taputapu. e rua nga taputapu, na he aha te mea e tika ana tātari me te whakatika tika i tenei tawhā kia pono ai te whakawhitiwhiti korero.
Tuatahi, he mea nui kia mohio me pehea te tere o te whakawhiti i roto i te kawa I2C.. Ko tenei tere e tohu ana ki te maha o nga moka ka taea te tuku mo ia hekona. Mo te whakawhitiwhiti korero i waenga i nga Arduino e rua, me whirihora nga taputapu e rua kia rite te tere kia tika ai te korero. te herenga tere o ia taputapu.
Ko tetahi atu waahanga hei whakaaro ko nga here tinana ka pa ki te tere whakawhiti.. Ko te roa o nga taura e whakamahia ana hei hono i nga taputapu, tae atu ki te wawaotanga electromagnetic, ka taea te awe i te pono o te whakawhitiwhiti korero i nga tere tere. I etahi wa, he mea tika ki te whakamahi i nga taura poto ake, ki te whakamahi tikanga whakamarumaru ranei hei whakaiti i enei momo raru. He mea nui ano kia whakaarohia ko te tere o te whakawhiti ka pa ki te kaha o te kaha o nga taputapu, na reira he mea tika kia whakatikahia i runga i nga hiahia motuhake o te kaupapa.
Hei whakarāpopototanga, i te wa e whakawhitiwhiti ana i nga Arduinos e rua ma te whakamahi i te kawa I2C, he mea nui kia whai whakaaro ki te tere o te whakawhiti Ma te whakatika tika i tenei tawhā ehara i te mea he pono te whakawhitiwhiti korero, engari he pai ake te mahi a te punaha. Ma te mohio ki te mahi reiti whakawhiti me te te whai whakaaro ki nga nga herenga a-tinana, ka taea te whirihora tika i te kawa I2C me te whakatutuki angitu i waenga i nga taputapu.
-Whakarongoa me nga taunakitanga mo te whakawhitiwhiti korero I2C
Raparongoāme nga taunakitanga mo te whakawhitiwhiti I2C
I tenei pou, ka whakaatu atu matou ki a koe etahi otinga noa mo nga raruraru whakawhitiwhiti I2C i waenganui i nga papa Arduino e rua, me etahi tohutohu hei whakarite i te tuku raraunga whai hua.
Ko tetahi o nga raruraru nui i roto i te whakawhitiwhiti I2C ko te kore o te hononga-a-tinana Me mohio kei te hono tika nga taura ki nga titi SDA me te SCL o nga papa e rua. Tirohia hoki kei te hono tika nga parenga kume-ake i waenga i nga titi SDA me te SCL me te ngaohiko tuku.
Ko tetahi atu raru pea he wahitau I2C hē. Me whai wāhitau ahurei ia taputapu e hono ana ki te pahi I2C. Mena kei te whakamahi koe i nga taputapu maha i runga i te pahi kotahi, kia mohio kei a ia taputapu tetahi wahitau motuhake, ka tika te whirihora o taua wahitau ki to waehere. Tirohia hoki mo nga taupatupatu i waenga i nga wahitau taputapu me te mohio kaore he taarua.
Anei etahi tohutohu hei whakapai ake i te whakawhitiwhiti I2C:
1. Whakamahia nga taura poto, kounga: Ka taea e nga taura te roa, te kino ranei te whakauru i te pokanoa ki te tohu I2C Whakamahia nga taura poto, he pai te kounga hei whakaiti i tenei pokanoa.
2 Whakanohoia nga parenga kume-ake: Ka awhina nga parenga kume-ake ki te whakatakoto i te ahua teitei o te arorau ki nga titi SDA me te SCL i te kore e kaha te peia. Ka awhina tenei ki te pupuri i te tohu pumau me te karo i nga raruraru korero.
3. Me whakarite kia nui to wa tatari: I te wa e tukuna ana nga raraunga i runga i te pahi I2C, he mea nui ki te whakarite kia nui te wa tatari i waenga i nga tuku. Ma tenei ka taea e nga taputapu te wa ki te tukatuka nga raraunga kua riro i mua i te whiwhi raraunga hou.
Kia mahara ko te whakawhitiwhiti I2C he huarahi whai hua ki te hono i nga taputapu Arduino maha, engari he mea nui kia mohio ki enei raruraru noa me te whai i nga tohutohu kua whakahuahia i runga ake nei kia pai ai te whakawhitiwhiti korero.
- Nga painga me nga huakore o te whakamahi i te kawa I2C i runga i Arduino
Nga painga o te whakamahi i te kawa I2C ki Arduino
Ko tetahi o nga painga nui o te whakamahi i te kawa I2C i runga i Arduino ko tona kaha ki te hono i nga taputapu maha i runga i te pahi korero kotahi. Ko te tikanga ka taea e tatou te maha o nga Arduino e taunekeneke ana ki a ratau, ki te tiri korero me te mahi i runga i te tikanga ruruku. I tua atu, ko te kawa I2C he tino pai ki te whakawhiti raraunga, ka taea e tatou te tuku korero tere me te pono.
Ko tetahi atu painga nui ko te ngawari o te whakatinanatanga. Ka whakamahia e te kawa I2C e rua noa nga waea honohono (SDA me SCL) mo te whakawhitiwhiti korero, he maamaa te whirihora me te hono. I tua atu, ko te kawa e tuku ana i te tino ngawari mo te tere tuku raraunga, ka taea e taatau ki te urutau ki o maatau hiahia.
Nga huakore o te whakamahi i te kawa I2C ki Arduino
Ahakoa he maha nga painga e tukuna ana e te kawa I2C, kei a ia ano etahi here me whai whakaaro tatou. Ko tetahi o nga ngoikoretanga ko te roa o te pahi whakawhiti korero he iti noa e te te aukati me te kaha o nga taura e whakamahia ana. Ko te tikanga ka piki ake te roa o te taura, ka piki ake ano nga hapa korero.
Ko tetahi atu ngoikoretanga ko te iti o te tere whakawhiti raraunga i whakaritea ki etahi atu tikanga whakawhitiwhiti, penei i te SPI. Ka raru pea tenei ki nga tono e hiahia ana ki te tuku korero nui. i roto i te wa tūturu.
Tuhinga
Hei whakarāpopototanga, ko te kawa I2C he whiringa pai mo te whakawhitiwhiti i nga Arduinos e rua na ona painga o te hononga maha, te pai o te whakawhiti raraunga, me te ngawari o te whakatinanatanga. Heoi, me whai whakaaro tatou ki ona herenga mo te roa o te pahi me te tere whakawhiti. Mena kaore e hiahiatia e a maatau tono te nui o nga raraunga tuuturu, kaore ranei e hiahiatia he korero tawhiti, ko te kawa I2C pea te whiringa pai. He mea nui kia whai whakaaro ki o tatou hiahia motuhake i mua i te kowhiri i te kawa korero tika mo a tatou kaupapa Arduino.
Ko Sebastián Vidal ahau, he miihini rorohiko e ngakau nui ana ki te hangarau me te DIY. I tua atu, ko ahau te kaihanga o tecnobits.com, kei reira ahau e tohatoha ai i nga akoranga kia pai ake ai te uru me te maarama ki te katoa.