İçindekiler:

CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme: 3 Adım
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme: 3 Adım

Video: CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme: 3 Adım

Video: CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme: 3 Adım
Video: Joystick moving LCD cursor 2024, Kasım
Anonim
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme

Bu projede, DC motorun hızını artırmak ve azaltmak için L298N H-köprümüzün nasıl kullanılacağını açıklayacağız. L298N H-köprü modülü, voltajı 5 ile 35V DC arasında olan motorlarla kullanılabilir.

Ayrıca yerleşik bir 5V regülatör de vardır, bu nedenle besleme voltajınız 12V'a kadar ise, karttan 5V kaynak da sağlayabilirsiniz. Bu L298 H-köprü çift motorlu kontrol modülleri ucuzdur ve BURADAN temin edilebilir.

Adım 1: Bileşenler

Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler
  • CloudX mikrodenetleyici
  • CloudX Yazılım Kartı
  • V3 USB kablosu
  • L298N H-köprü
  • ekmek tahtası
  • Atlama telleri
  • DC motoru
  • 10k direnç
  • 4 * basma Düğmesi

buradan çevrimiçi olabilirsiniz

Adım 2: Devre Şeması

Devre şeması
Devre şeması

devreyi takip et

3. Adım: Kodlayın

bu kodu CloudX IDE'nize kopyalayın

#include #include

imzalı karakter i, j;

bit bayrağı;

kurmak(){

//kurulum for(i=1; i<5; i++){ pinMode(i, INPUT); } PWM1_Init(5000); PWM2_Init(5000); PWM1_Start(); PWM2_Start(); PWM1_Duty(0); PWM2_Duty(0); i=j=0; loop(){ //Burada programlayın if(!readPin(1)){ delayMs(200); if(bayrak==0){ PWM1_Duty(i); PWM2_Duty(0); } if(bayrak==1){ PWM2_Duty(j); PWM1_Duty(0); } bayrak = ~ bayrak; } if(!readPin(2)){ delayMs(200); if(bayrak==1){ //i -= 10; ben--; if(i <= 0) i=0; PWM1_Duty(i); PWM2_Duty(0); } if(bayrak==0){ //j -= 10; J--; if(j <= 0) j=0; PWM2_Görevi(j); PWM1_Duty(0); } } if(!readPin(3)){ delayMs(200); if(bayrak==1){ //i += 10; ben++; if(i>= 100) i=100; PWM1_Duty(i); PWM2_Duty(0); } if(bayrak==0){ //j += 10; j++; if(j>=100) j=100; PWM2_Görevi(j); PWM1_Duty(0); } }

if(!readPin(4)){

gecikmeMs(200); PWM1_Duty(0); PWM2_Duty(0); i=0; j=0; }

}

}

Önerilen: