Keyestudio Raspberry Pi L298P Motor Sürücü Shield

510.11

5 adet stokta

Gönderim & Kargo

  • Hızlı Kargo

Siparişiniz en kısa sürede kapınızda.

  • Güvenilir Alışveriş

%100 orijinal ürün, güvenli ödeme garantisiyle.

Ürün Açıklaması

Tanıtım

Keyestudio RPI L298P motor sürücü kalkanı yüksek güç motorunu benimser sürücü ile doğrudan iki DC motoru çalıştırabilen sürücü çipi L298P 2A’ya kadar akım ve motor çıkış terminali sekiz yüksek hız kullanır Koruma olarak Schottky diyotları.
Kalkan Raspberry Pi’nin çeşitli versiyonlarıyla tamamen uyumludur. Bu arada, kalkan üzerinde basit için her arayüzü liderlik etti diğer sensörlerin bağlantısı. Bu kalkanın ayrıca bir IR alıcısı var, bu yüzden  onunla iletişim kurmak için kızılötesi uzaktan kumanda kullanabilir.
Kalkanı Raspberry Pi’nize monte etmenizi kolaylaştırmak için, size 4 M2.5 * 20MM yuvarlak başlı vida, 4 çift ​​geçişli M2.5 * 10MM bakır sütunlar ve 4 M2.5 nikel kaplama Somunlar.

Özellikler

  • Mantıksal kısım giriş voltajı: 5V
  • Sürüş parçası giriş voltajı: 4.8 ~ 24V
  • Mantıksal kısım çalışma akımı Sayı: ≤36mA
  • Sürüş parçası çalışma akımı Io: ≤ 2A
  • Maksimum güç tüketimi: 25W (T = 75 ℃)
  • Kontrol sinyali giriş seviyesi:
 Yüksek seviye: 2.3V ≤ Vin ≤ 5V
 Düşük seviye: 0V ≤ Vin ≤ 1.5V 
    • Çalışma sıcaklığı: -25 ℃ ~ + 130 ℃
    • Sürücü formu: Çift güçlü H köprüsü sürüşü

Bağlantı Şeması

Motorları ve aküleri RPI L298P blendajının terminal bloğuna bağlayın.

thumb

Sample Code

#include <wiringPi.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <wiringSerial.h>
#define PIN 27	
#define IO digitalRead(PIN)
unsigned char i,idx,cnt;
unsigned char count;
unsigned char data[4];
char a;
long  up  = 0x40;
long  back = 0x15;
long  stop = 0x46;
long  left = 0x44;
long  right= 0x43;
long  esc= 0x4a;


int main()
{
    wiringPiSetup();
    pinMode(PIN, INPUT);
    pullUpDnControl(PIN, PUD_UP);
    pinMode(1,OUTPUT);
    int fd ;

    pinMode(22,OUTPUT);
    pinMode(26,OUTPUT);
    pinMode(21,OUTPUT);
    pinMode(30,OUTPUT);
    printf("L298P test......n");
    for(a=0;a<2;a++)
       {
       digitalWrite(21,HIGH);
       digitalWrite(26,HIGH); 
       digitalWrite(22,LOW);
       digitalWrite(30,LOW);
       delay(1000);
       digitalWrite(22,HIGH);
       digitalWrite(30,HIGH);
       delay(1000);
       digitalWrite(21,LOW);
       digitalWrite(26,LOW);
       delay(1000);
       digitalWrite(22,LOW);
       digitalWrite(30,LOW);
       delay(1000);
       }
       printf("IRM Test Program ... n");

	while (data[2]  != esc )
	{	
		if(IO == 0)
		{
			count = 0;
			while(IO == 0 && count++ < 200)   //9ms
		    	delayMicroseconds(60);
			
			count = 0;
			while(IO == 1 && count++ < 80)	  //4.5ms
		    	delayMicroseconds(60);
			
			idx = 0;
			cnt = 0;
			data[0]=0;
			data[1]=0;
			data[2]=0;
			data[3]=0;
			for(i =0;i<32;i++)
			{
				count = 0;
				while(IO == 0 && count++ < 15)  //0.56ms
		    		delayMicroseconds(60);
				
				count = 0;
				while(IO == 1 && count++ < 40)  //0: 0.56ms; 1: 1.69ms
		    		delayMicroseconds(60);

				if (count > 25)data[idx] |= (1<<cnt);
				if(cnt == 7)
				{
					cnt = 0;
					idx++;
				}
				else cnt++;
			}

			if(data[0]+data[1] == 0xFF && data[2]+data[3]==0xFF)	//check	
				printf("Get the key: 0x%02xn",data[2]);
                 if (data[2]  == up )
			    {
                      digitalWrite(21,HIGH);
                      digitalWrite(26,HIGH); 
                      digitalWrite(22,LOW);
                      digitalWrite(30,LOW);
                      delay(1000);
				}
                  if (data[2]  == back )
				{
                      digitalWrite(21,LOW);
                      digitalWrite(26,LOW); 
                      digitalWrite(22,HIGH);
                      digitalWrite(30,HIGH);
                      delay(1000);
				}
                   if (data[2]  == stop )
				{
                      digitalWrite(21,HIGH);
                      digitalWrite(26,HIGH); 
                      digitalWrite(22,HIGH);
                      digitalWrite(30,HIGH);
                      delay(1000);
				}
                     if (data[2]  == left )
				{
                      digitalWrite(21,HIGH);
                      digitalWrite(26,LOW); 
                      digitalWrite(22,LOW);
                      digitalWrite(30,HIGH);
                      delay(1000);
				}
                     if (data[2]  == right )
				{
                      digitalWrite(21,LOW);
                      digitalWrite(26,HIGH); 
                      digitalWrite(22,HIGH);
                      digitalWrite(30,LOW);
                      delay(1000);
				}
		}
	}
 printf("Bluetooth Test Program ... n");
 if ((fd = serialOpen ("/dev/ttyAMA0", 9600)) < 0)
  {
    fprintf (stderr, "Unable to open serial device: %sn", strerror (errno)) ;
    return 1 ;
  }

// Loop, getting and printing characters
  while(1)
 {
    putchar (serialGetchar (fd)) ;
    fflush (stdout) ;
   }
}

Yöntem Kullanma

a. rpi L298P klasörünü Ahududu sistemine yerleştirmek için WinSCP’yi kullanın. Aşağıdaki gibi gösterilir.
thumb
thumb

b. Terminal girişi cd rpi_L298P klasör girmek için.
c. Terminal yürütme make, klasör içinde bir L298P yürütülebilir dosyası oluşturur.
d. Yukarıdaki şemaya göre bağlayın, ardından rpi_L298P klasörünü girin, terminalde sudo ./L298P’yi çalıştırın, önce iki motoru test edin ve iki DC motor bir saniye ileri, bir saniye geri döner, sonra bir saniye durun, iki kez ilmek yapın. Sonra kızılötesine alıcı, kızılötesi uzaktan kumanda üzerindeki düğmeye basın,   Raspberry Pi terminaline karşılık gelen verileri görüntüleyin. Ne zaman uzaktan kumandanın yukarı, aşağı, sol, sağ ve Tamam tuşlarına basın, Kalkan, arabayı ileriye benzetmek için iki motoru çalıştırır, geri, sola dönün, sağa dönün ve durun.
e. Ctrl + c işlemden çıkabilir.

thumb

Kaynaklar

File Download

Yorumlar

0 yorum
0
0
0
0
0

Değerlendirmeler

Filtreyi Temizle

Henüz değerlendirme yapılmadı.

“Keyestudio Raspberry Pi L298P Motor Sürücü Shield” için yorum yapan ilk kişi siz olun

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir