Search Code

ESP32 Упатство 7/55 - Користење на низа со ESP32 Arduino програмирање-SunFounder's ESP32 IoT Learning kit

ESP32 Упатство 7/55 - Користење на низа со ESP32 Arduino програмирање-SunFounder's ESP32 IoT Learning kit

Во ова упатство, ќе истражиме како да користиме низи во ESP32 Arduino програмирањето. Низите ви овозможуваат да складирате повеќе вредности во една променлива, што го олеснува управувањето со податоци, особено кога работите со колекции на слични ставки. Ова упатство ќе ве води низ дефинирање, пристапување и менување на низи, како и користење на јамки за ефикасна интеракција со нив. Разбирањето на овие концепти во голема мера ќе ја подобри вашата способност за програмирање со ESP32.

Конкретно ќе го покриеме користењето на различни типови јамки, како што се for, while и do while, за да итерираме низ елементите на низата. Ова ќе ви помогне да ги автоматизирате задачите и да ги направите вашите програми поефикасни. За да ги видите овие концепти во акција, задолжително погледнете го видеото на 2:30 за практична демонстрација.

Објаснет хардвер

Примарната хардверска компонента што ќе ја користиме во ова упатство е ESP32 микроконтролерот. ESP32 е моќен, евтин микроконтролер кој поседува и Wi-Fi и Bluetooth можности, што го прави погоден за широк опсег на IoT апликации. Плочката може да извршува задачи слични на Arduino Uno, додека нуди дополнителни функционалности, како што е поврзување со облак.

Во ова конкретно упатство, ќе користиме низа за контрола на излези преку дигитални пинови. Секој пин може да се постави на високо или ниско ниво, што ни овозможува да создаваме различни обрасци или однесувања врз основа на податоците складирани во низата. GPIO пиновите на ESP32 ќе бидат конфигурирани за излез, што ни овозможува да управуваме со поврзани уреди или компоненти.

Инструкции за жици

ESP32-07_74HC595_walking_light_wiring

За да го поврзете вашиот ESP32 за ова упатство, започнете со поврзување на дигиталните пинови. Поврзете го STcp пинот (27) со ST_CP пинот на вашиот shift register. SHcp пинот (26) треба да биде поврзан со SH_CP пинот на shift register-от. Конечно, поврзете го DS пинот (25) со DS пинот на shift register-от. Осигурете се дека земјата (ground) на ESP32 е поврзана со земјата на shift register-от за да се обезбеди заедничка референца.

Погрижете се да го напојувате ESP32 со стабилно напојување од 3.3 V. Ако користите дополнителни компоненти, осигурете се дека тие се исто така компатибилни со напонските нивоа на ESP32. Важно е да ги проверите вашите врски пред да го вклучите системот за да избегнете потенцијално оштетување (во видео на 4:10).

Примери на код и објаснување

Во дадениот фрагмент од код, дефинираме низа наречена datArray која содржи бинарни вредности. Секоја вредност во низата одговара на различен образец што може да се изведе преку GPIO пиновите. Низата е дефинирана на следниов начин:

int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};

Оваа низа содржи бинарни претстави, каде што секој бит одговара на состојба на пин (вклучен или исклучен). Во функцијата loop(), итерираме низ низата за да ги изведеме овие обрасци користејќи for јамка:

for(int num = 0; num < 10; num++) {
    digitalWrite(STcp, LOW); 
    shiftOut(DS, SHcp, MSBFIRST, datArray[num]);
    digitalWrite(STcp, HIGH); 
    delay(1000);
}

Во оваа јамка, континуирано испраќаме податоци од datArray до shift register-от, создавајќи ефект на одечка светлина. delay(1000) воведува пауза помеѓу секој образец, овозможувајќи промените да бидат видливи. За целосниот код, ве молиме погледнете подолу бидејќи тој ќе се вчита динамички.

Демонстрација / Што да очекувате

По завршувањето на жиците и поставувањето на кодот, треба да видите ефект на одечка светлина на поврзаните уреди. Секој бит во низата ќе светне последователно, создавајќи визуелно привлечен образец. Бидете внимателни со обратни врски бидејќи тие можат да доведат до неочекувано однесување (во видео на 8:15).

Временски ознаки на видеото

  • 00:00 Почеток
  • 1:24 Вовед
  • 3:15 74HC595 Shift register чип
  • 5:25 Жици за одечка светлина
  • 18:56 Објаснет Arduino код за 74HC595
  • 24:24 Демонстрација на проектот
  • 25:49 Поправање на кодот
  • 28:11 Светлината се движи напред и назад
  • 30:28 Одечка светлина

Images

ESP32-07_74HC595_walking_light_wiring
ESP32-07_74HC595_walking_light_wiring
ESP32-07_74HC595_walking_light_schematic
ESP32-07_74HC595_walking_light_schematic
807-ESP32 Tutorial 7/55 - Walking Light using 74HC595 and learn array
Language: 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);
  }
}

Resources & references

Files📁

No files available.