Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe ń lo arrays nínú ètò ESP32 Arduino. Arrays gbà ọ́ láyè láti fi ọ̀pọ̀ iye pamọ́ sínú onírúurú kan ṣoṣo, tí ó sì mú kí ìṣàkóso data rọrùn, pàápàá nígbà tí o bá ń ṣiṣẹ́ pẹ̀lú àwọn nkan tí ó jọra. Ẹ̀kọ́ yìí yóò darí ọ láti ṣàlàyé, wọlé, àti yíyí arrays padà, pẹ̀lú lílo loops láti bá wọn ṣiṣẹ́ dáradára. Òye àwọn èròǹgbà wọ̀nyí yóò mú kí agbára rẹ láti ṣe ètò pẹ̀lú ESP32 pọ̀ gan-an.
A óò ṣàlàyé ní pàtàkì lílo oríṣiríṣi loops, bíi for, while, àti do while, láti kọjá àwọn èròjà array. Èyí yóò ràn ọ́ lọ́wọ́ láti ṣe àwọn iṣẹ́ lọ́nà àìdánilójú àti láti mú kí àwọn ètò rẹ ṣiṣẹ́ dáradára. Láti rí àwọn èròǹgbà wọ̀nyí ní iṣẹ́, rí i dájú pé o wo fídíò náà ní 2:30 fún ìfihàn tí ó wúlò.
Ohun èlò tí a ṣàlàyé
Ohun èlò pàtàkì tí a óò lò nínú ẹ̀kọ́ yìí ni microcontroller ESP32. ESP32 jẹ́ microcontroller alágbára, tí kò gbowó, tí ó ní agbára Wi-Fi àti Bluetooth, tí ó sì mú un dára fún ọ̀pọ̀lọpọ̀ àwọn ohun èlò IoT. Bọ́ọ̀dì náà lè ṣe àwọn iṣẹ́ tí ó jọra pẹ̀lú Arduino Uno nígbà tí ó ń pèsè àwọn iṣẹ́ àfikún, bíi ìsopọ̀ òṣùwọ̀n.
Nínú ẹ̀kọ́ pàtàkì yìí, a óò lo array kan láti ṣàkóso àwọn àbájáde nípasẹ̀ àwọn pin oní nọ́mbà. Pin kọ̀ọ̀kan lè ṣeètò sí gíga tàbí rírẹlẹ̀, tí ó ń gbà wá láàyè láti ṣẹ̀dá oríṣiríṣi àwọn àpẹẹrẹ tàbí ìwà tí ó dá lórí data tí ó wà nínú array. Àwọn pin GPIO ti ESP32 yóò ṣeètò fún àbájáde, tí ó ń gbà wá láàyè láti ṣàkóso àwọn ohun èlò tàbí àwọn ẹ̀yà tí a ti sopọ̀.
Àwọn ìtọ́ni fún ìsopọ̀
ESP32-07_74HC595_walking_light_wiring
Láti sopọ̀ ESP32 rẹ fún ẹ̀kọ́ yìí, bẹ̀rẹ̀ nípa sísopọ̀ àwọn pin oní nọ́mbà. Sopọ̀ pin STcp (27) sí pin ST_CP ti shift register rẹ. Pin SHcp (26) yẹ kí ó sopọ̀ sí pin SH_CP ti shift register. Níkẹyìn, sopọ̀ pin DS (25) sí pin DS ti shift register. Rí i dájú pé ilẹ̀ ESP32 ti sopọ̀ sí ilẹ̀ shift register láti pèsè ìtọ́kasí tí ó wọ́pọ̀.
Rí i dájú pé o fi agbára 3.3 V tí ó dúró ṣinṣin fún ESP32. Bí o bá ń lo àwọn ẹ̀yà àfikún, rí i dájú pé wọ́n bá àwọn ipele folti ESP32 mu. Ó ṣe pàtàkì láti ṣàyẹ̀wò àwọn ìsopọ̀ rẹ ṣáájú kí o tó fi agbára sí eto náà láti yẹra fún ìbàjẹ́ èyíkéyìí (nínú fídíò ní 4:10).
Àwọn àpẹẹrẹ kóòdù àti ìtọ́sọ́nà
Nínú àkójọpọ̀ kóòdù tí a pèsè, a ṣàlàyé array kan tí a ń pè ní datArray tí ó ní àwọn iye binary. Iye kọ̀ọ̀kan nínú array náà bá àwọn àpẹẹrẹ oríṣiríṣi mu tí a lè jáde nípasẹ̀ àwọn pin GPIO. A ṣàlàyé array náà gẹ́gẹ́ bíi:
Array yìí ní àwọn ìṣàpẹẹrẹ binary, níbi tí bit kọ̀ọ̀kan ti bá ipò pin mu (nínú tàbí òde). Nínú iṣẹ́ loop(), a kọjá array náà láti jáde àwọn àpẹẹrẹ wọ̀nyí ní lílo for loop:
for(int num = 0; num < 10; num++) {
digitalWrite(STcp, LOW);
shiftOut(DS, SHcp, MSBFIRST, datArray[num]);
digitalWrite(STcp, HIGH);
delay(1000);
}
Nínú loop yìí, a ń fi data láti datArray ránṣẹ́ sí shift register nígbà gbogbo, tí ó ń ṣẹ̀dá ìpàtẹ́wọ́ iná tí ń rìn. delay(1000) ń mú ìsinmi wá láàárín àpẹẹrẹ kọ̀ọ̀kan, tí ó ń jẹ́ kí àwọn ìyípadà hàn. Fún kóòdù kíkún, jọ̀wọ́ wo ìsàlẹ̀ nítorí yóò gbé jáde lọ́nà àìdánilójú.
Ìfihàn / Ohun tí o yẹ kí o rí
Lẹ́yìn tí o bá ti parí ìsopọ̀ àti gbé kóòdù sí orí, o yẹ kí o rí ìpàtẹ́wọ́ iná tí ń rìn lórí àwọn ohun èlò tí a ti sopọ̀. Bit kọ̀ọ̀kan nínú array yóò tan iná ní ọ̀kọ̀ọ̀kan, tí ó ń ṣẹ̀dá àpẹẹrẹ tí ó wúni lórí. Ṣọ́ra fún àwọn ìsopọ̀ tí a yí padà nítorí wọ́n lè yọrí sí ìwà àìretí (nínú fídíò ní 8:15).
807-ESP32 Tutorial 7/55 - Walking Light using 74HC595 and learn array
Ede: C++
const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP
const int DS = 25; //DS
int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};
void setup ()
{
//set pins to output
pinMode(STcp,OUTPUT);
pinMode(SHcp,OUTPUT);
pinMode(DS,OUTPUT);
}
void loop()
{
for(int num = 0; num <10; num++)
{
digitalWrite(STcp,LOW); //ground ST_CP and hold low for as long as you are transmitting
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
digitalWrite(STcp,HIGH); //pull the ST_CPST_CP to save the data
delay(1000);
}
}