Search Code

ESP32 Eğitimi 7/55 - ESP32 Arduino Programlamada Dizi Kullanımı-SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 7/55 - ESP32 Arduino Programlamada Dizi Kullanımı-SunFounder'ın ESP32 IoT Öğrenme Kiti

Bu eğitimde, ESP32 Arduino programlamada dizilerin nasıl kullanılacağını keşfedeceğiz. Diziler, birden fazla değeri tek bir değişkende saklamanıza olanak tanır; bu da özellikle benzer öğelerden oluşan koleksiyonlarla çalışırken veri yönetimini kolaylaştırır. Bu eğitim, dizileri tanımlama, erişme ve değiştirmenin yanı sıra, onlarla etkili bir şekilde etkileşim kurmak için döngüleri kullanma konusunda size rehberlik edecektir. Bu kavramları anlamak, ESP32 ile programlama yeteneğinizi büyük ölçüde artıracaktır.

Özellikle, dizi öğeleri arasında gezinmek için for, while ve do while gibi farklı döngü türlerinin kullanımını ele alacağız. Bu, görevleri otomatikleştirmenize ve programlarınızı daha verimli hale getirmenize yardımcı olacaktır. Bu kavramları uygulamalı olarak görmek için, pratik bir gösterim için videoyu 2:30'da kontrol ettiğinizden emin olun.

Donanım Açıklaması

Bu eğitimde kullanacağımız ana donanım bileşeni ESP32 mikrodenetleyicisidir. ESP32, hem Wi-Fi hem de Bluetooth özelliklerine sahip, güçlü ve düşük maliyetli bir mikrodenetleyicidir; bu da onu geniş bir IoT uygulama yelpazesi için uygun hale getirir. Kart, Arduino Uno'ya benzer görevleri yerine getirebilirken bulut bağlantısı gibi ek işlevler de sunar.

Bu özel eğitimde, dijital pinler aracılığıyla çıkışları kontrol etmek için bir dizi kullanacağız. Her pin yüksek veya düşük olarak ayarlanabilir; bu da dizide saklanan verilere dayalı olarak çeşitli desenler veya davranışlar oluşturmamıza olanak tanır. ESP32'nin GPIO pinleri çıkış için yapılandırılacak ve bağlı cihazları veya bileşenleri kontrol etmemizi sağlayacaktır.

Bağlantı Talimatları

ESP32-07_74HC595_walking_light_wiring

ESP32'nizi bu eğitim için bağlamak için dijital pinleri bağlayarak başlayın. STcp pinini (27) vardiya kaydınızın ST_CP pinine bağlayın. SHcp pini (26), vardiya kaydının SH_CP pinine bağlanmalıdır. Son olarak, DS pinini (25) vardiya kaydının DS pinine bağlayın. Ortak bir referans sağlamak için ESP32'nin toprağının vardiya kaydının toprağına bağlı olduğundan emin olun.

ESP32'yi sabit bir 3,3 V güç kaynağıyla beslediğinizden emin olun. Ek bileşenler kullanıyorsanız, bunların da ESP32'nin voltaj seviyeleriyle uyumlu olduğundan emin olun. Sistemi açmadan önce bağlantılarınızı iki kez kontrol etmeniz önemlidir; böylece olası hasarların önüne geçilir (videoda 4:10'da).

Kod Örnekleri ve Açıklama

Sağlanan kod parçacığında, ikili değerler tutan datArray adında bir dizi tanımlıyoruz. Dizideki her değer, GPIO pinlerinden çıkarılabilen farklı bir desene karşılık gelir. Dizi şu şekilde tanımlanır:

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

Bu dizi, her bitin bir pin durumuna (açık veya kapalı) karşılık geldiği ikili gösterimler içerir. loop() fonksiyonunda, bir for döngüsü kullanarak bu desenleri çıkarmak için dizi üzerinde yineleme yaparız:

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

Bu döngüde, datArray'dan vardiya kaydına sürekli olarak veri göndererek yürüyen ışık efekti oluştururuz. delay(1000), her desen arasında bir duraklama sağlayarak değişikliklerin görünür olmasını sağlar. Tam kod için lütfen aşağıya bakın; dinamik olarak yüklenecektir.

Gösterim / Beklentiler

Bağlantıyı tamamladıktan ve kodu yükledikten sonra, bağlı cihazlarda yürüyen bir ışık efekti görmelisiniz. Dizideki her bit sırayla yanarak görsel olarak ilgi çekici bir desen oluşturacaktır. Ters bağlantılara dikkat edin; çünkü bunlar beklenmeyen davranışlara yol açabilir (videoda 8:15'te).

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 1:24 Giriş
  • 3:15 74HC595 Vardiya kaydı çipi
  • 5:25 Yürüyen ışık bağlantısı
  • 18:56 74HC595 için Arduino kodu açıklandı
  • 24:24 Projenin gösterimi
  • 25:49 Kodun düzeltilmesi
  • 28:11 Işık ileri geri hareket eder
  • 30:28 Yürüyen ışık

Görseller

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
Dil: 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);
  }
}

Kaynaklar ve referanslar

Dosyalar📁

Dosya mevcut değil.