Ilogo ye-sheen.bot

Iimbono Nezifundo

Kutheni ukongeza isensa yesibini kumisa nya i-micro:bit okanye i-Arduino yakho

Aga 29, 2026·Sheen Robotics
Kutheni ukongeza isensa yesibini kumisa nya i-micro:bit okanye i-Arduino yakho

Xa ukongeza isensa eyongezelelweyo kumisa yonke iprojekthi yakho ye-micro:bit okanye ye-Arduino, unobangela phantse ngokuqinisekileyo kukuxinga kwebhasi ye-I2C okubangelwa kukungqubana kweedilesi, iingxaki ze-pull-up, okanye ukungqubana kwe-voltage.

Ukuba iprojekthi yakho ibisebenza kakuhle ngeskrini se-OLED okanye ngesensa yokusingqongileyo, kodwa yamisa nya ngokupheleleyo kanye ngomzuzu ofake isensa yesibini, ikhowudi yakho ayidibananga nje nempazamo encinci yengqiqo—ibhasi yakho yonxibelelwano ixingile ngokwasemzimbeni. Ibhodi iyema kuba i-microcontroller ibambekile kumjikelo ongenasiphelo ilinde uqinisekiso lombane olungasokuze lufike.

Kwiiplatifomu ezinjenge-BBC micro:bit, i-Arduino Uno, kunye ne-ESP32, useto lweesensa ezininzi phantse luhlala lunxibelelana nge-I2C (Inter-Integrated Circuit). Nangona i-I2C ithandwa kuba ifuna iintambo zedatha ezimbini kuphela (i-SDA ne-SCL) nokuba udibanisa izixhobo ezingaphi na, yaziwa kakhulu ngokuba sesichengeni sokuxinga kwehardware kwindawo enye.

Kutheni i-I2C ixinga endaweni yokuphuma ngokuzolileyo

Ngokungafaniyo nonxibelelwano oluqhelekileyo lwe-serial okanye iipini zokufunda ze-digital, i-I2C isebenzisa inkqubo yokuxhuma ye-open-drain. I-microcontroller neesensa azimnyusi ngokwazo lo migca; iiresistor ze-pull-up zangaphandle okanye zangaphakathi zitsala kancinci i-SDA (idatha) ne-SCL (iwotshi) ziye kwi-voltage yokusebenza. Naliphi na isixhobo esikwibhasi sinokuthumela umqondiso ngokutsala umgca uye ezantsi kwi-Ground.

Xa ikhowudi yakho ibiza umsebenzi onje nge-Wire.endTransmission() okanye icela idatha ngesongezo se-MakeCode, i-microcontroller ithumela isakhelo sedilesi ize ilinde i-bit yoQinisekiso (ACK). Ukuba impazamo yehardware ibamba i-SDA okanye i-SCL phantsi, okanye ukuba izixhobo ezibini ziphithanisa umqondiso, ilayibrari ye-firmware ehamba ngokulandelelana ilinda ngonaphakade. Kutitshala okanye kumfundi, ibhodi ibonakala nje ifile.

Abangeneleli abathathu abangasemva kokuxinga

Iimeko ezintathu eziqhelekileyo zehardware zibangela phantse konke ukuxinga kwe-I2C kweesensa ezininzi eklasini:

1. Iidilesi ezimiselweyo eziphindeneyo

Isensa nganye ye-I2C inedilesi ye-hex ye-7-bit emiselweyo ebhalwe ngokungatshintshiyo kwisilikoni yayo. Ukuba udibanisa iisensa ezimbini ezifanayo (umzekelo, ii-accelerometer ezimbini ze-MPU6050 okanye izibonisi ezibini eziqhelekileyo ze-OLED ze-0.96-inch), zombini izixhobo zabelana ngedilesi enye kanye (efana ne-0x68 okanye ne-0x3C).

Xa i-microcontroller isasaza loo dilesi, zombini ii-chip zizama ukuthetha kwangaxeshanye kanye. Imigca yazo yedatha iyangqubana, iphithanise ii-pulse zewotshi, ize ixinge imo yebhasi.

Uhlobo lwesensaIdilesi eqhelekileyo emiselweyoIdilesi yesibini (ipini itshintshiwe)
I-MPU-6050 (I-Gyro/I-Accel)0x680x69 (i-AD0 iye ku-3.3V)
I-SSD1306 OLED (128x64)0x3C0x3D (ukutshintsha i-jumper yokutshisela)
I-BME280 (Ubushushu/Uxinzelelo)0x760x77 (i-SDO iye kwi-VCC okanye kwi-GND)
I-DS3231 (Iwotshi yexesha lokwenyani)0x57 / 0x68Emiselweyo / Ibhulorho yokutshisela

2. Iiresistor ze-pull-up ezingekhoyo okanye ezidadayo

Ngenxa yokuba i-I2C ixhomekeke kwiiresistor ze-pull-up ukubuyisela imigca kwinqanaba eliphezulu, ukungabi nazo ii-pull-up kubangela ukuba imigca yewotshi neyedatha idade ngendlela engaqikelelekiyo. Ngokwahlukileyo, ukudibanisa iibhodi ze-breakout ezine okanye ezintlanu kunye—nganye inazo iiresistor zayo zangaphakathi ze-pull-up ze-4.7kΩ okanye ze-10kΩ—kubeka ezo resistor ngokuhambelanayo. Oku kwehlisa ukumelana kwebhasi kube kuphantsi kangangokuba ii-transistor ezibuthathaka ezingaphakathi kweesensa eziqhelekileyo azikwazi ukutsala umgca ude uye ku-0V, kubangele ukungaphumeleli kokuthumela.

3. Ukungahambelani kwamanqanaba engqiqo e-3.3V nawe-5V

I-BBC micro:bit kunye neemicrocontroller zanamhlanje ze-ESP32 zisebenza ngengqiqo ye-3.3V, ngelixa i-Arduino Uno yamandulo okanye i-breakout yesensa endala isebenza nge-5V. Ukuba ufaka isensa ye-5V eneeresistor ze-pull-up ezakhelwe ngaphakathi kwibhasi eyabelwanayo ecaleni kwesensa ye-3.3V, umgca we-5V uya kutsala imigca yedatha ye-micro:bit uye ku-5V. Okona kulungileyo, oku kubangela ukonakala kwebhasi; okona kubi, konakalisa isensa ye-3.3V okanye isixhobo se-I2C se-microcontroller.

Inkqubo yamanyathelo ama-4 yokusombulula iingxaki eklasini

Xa useto lweesensa ezininzi lomfundi lumisa ibhodi, landela olu landelelwano lokuhlola inyathelo nenyathelo ukuze ufumane ngokukhawuleza impazamo yombane:

Inyathelo 1: Yahlula uze uskene

Khupha isensa entsha uze uqinisekise ukuba isekethe yantlandlolo isaqalisa. Emva koko, faka iskripthi sesikeni se-I2C kwibhodi (sifumaneka lula kwimizekelo eqhelekileyo ye-Arduino okanye ngezongezo ezisisiseko ze-MakeCode). Isikeni sithumela imiqondiso kwiidilesi ukusuka ku-0x01 ukuya ku-0x7F size sixele sonke isixhobo esiphendulayo nge-serial. Faka isensa yesibini yodwa uze uyiskene. Ukuba zombini iisensa zixela idilesi ye-hex enye kanye, ukufumene ukungqubana.

Inyathelo 2: Tshintsha ipini yedilesi yehardware

Uninzi lweebhodi ze-breakout lunikeza ipini yokukhetha idilesi (edla ngokubhalwa ADDR, AD0, okanye SDO) okanye ibhulorho encinci yokutshisela ngasemva kwe-PCB. Ukubopha le pini ku-3.3V okanye ku-GND kutshintsha i-bit esezantsi yedilesi yesixhobo. Emva kokuba ipini iphinde yabelwa, hlaziya ikhowudi yokuqalisa yaloo sensa ithile ukuze isebenzise idilesi yesibini.

Inyathelo 3: Hlola i-voltage yebhasi nobude bomgca

Qinisekisa ukuba isensa nganye ekwibhasi isebenza kwi-voltage yengqiqo efanayo. Ukuba kufuneka udibanise ii-module ze-5V ne-micro:bit ye-3.3V, dlulisa imiqondiso kwisiguquli senqanaba lengqiqo esisebenza kwiindlela zombini endaweni yokuzixhuma ngokuhambelanayo. Ngaphezu koko, gcina iintambo ze-jumper zimfutshane—ukuxhuma okude nokuphithikeziweyo kwi-breadboard kongeza i-capacitance engafunekiyo eyenza ii-pulse zewotshi ezimacala mane zibe ngqukuva ize ibangele ukulahleka kweepakethi.

Inyathelo 4: Vula ii-timeout zomqhubi

Ikhowudi endala ye-Arduino ixhomekeke kwimisebenzi evalayo. Kwi-Arduino IDE, unokuthintela i-microcontroller ukuba ingaxingi ngokusisigxina ngokongeza i-timeout yebhasi emva kwe-Wire.begin():

Wire.begin();
Wire.setWireTimeout(3000, true); // i-timeout ye-3ms, seta kwakhona ibhasi xa ixinga

Ukuba ibhasi ixinga ngenxa yentambo ekhululekileyo okanye ukunyuka ngequbuliso kombane, umqhubi useta kwakhona ngokuzenzekelayo isixhobo sehardware size siqhubeke sisebenzisa okuseleyo komjikelo endaweni yokumisa yonke inkqubo.

Ukwakha iisekethe eziqinileyo zeklasi

Ukufundisa abafundi indlela i-I2C esebenza ngayo ngaphakathi kuguqula ukuxinga okucaphukisayo nokuthe cwaka kube sisifundo esiphathekayo ngeeprothokholi zonxibelelwano. Ukuba uyila iikhithi zerobhotiki zeesensa ezininzi zeeklabhu okanye zokudlulisa ikharikhulam, ungajonga iibhodi ze-breakout ze-modular kunye neekhithi zehardware zemfundo kwivenkile ye-Sheen Robotics, okanye ucwangcise iindlela zokufunda ezipheleleyo ngezifundo zethu ezicwangcisiweyo kwi-Sheen Canvas.

Ngokunyanzelisa ukuxhuma okumfutshane, ukuqinisekisa iidilesi zehardware phambi kokuhlanganisa iiprojekthi, nokufundisa abafundi indlela yokufunda iidilesi ze-hex kwisikeni se-I2C, unokususa ukuxinga okoyikekayo kweesensa ezininzi phambi kokuba kuphazamise isifundo sakho.

#i-microbit#i-Arduino#i-I2C#i-elektroniki#ukusombulula iingxaki

Okungakumbi kwe-Iimbono Nezifundo