Winamp için IR kumanda devresi PIC16F627 RS232 Visual Basic

| Haziran 3, 2023 Tarihinde güncellendi
Winamp için IR kumanda devresi PIC16F627 RS232 Visual Basic

Winamp kontrolü için bazı hazır kumandalar kullanılabiliyor çeşitli programlar ile bu kumandalar uyumlu fakat bulması zor IR kumanda devresi ile kumanda sorunu ortadan kalkıyor.

Düşük Maliyetli Winamp Kızılötesi Denetleyici Bu proje burada Kızılötesi (IR) Veri İletiminin en temel biçimini sunmaktadır. IR ışınları çoğunlukla TV, DVD oynatıcı, Isıtıcı / Klima Kontrolü vb. Uzaktan Kumandalarda kullanılır.

Winamp’ın temel sistemlerini yani Ses Düzeyi, Yürüt, Durdur, Duraklat vb. kontrol etmek için sade, basit bir Winamp IR Denetleyicisi oluşturmaya karar verdim, çünkü bazen gerçekten PC’ye gidip sesi, parçaları ve diğer şeyleri değiştirmek için çok tembelim. Ah evet, bilgisayarım aynı zamanda benim ev sinema sistemim oluyor. Ben de kendi kendime neden bunu uzaktan müzik dinleyerek gazete okumaya devam edebileceğim bir yerden yapmıyorum diyorum. = P

winamp-ir-remote-schematic

Bu, içindeki orijinal devre kartıyla birlikte eski bir Hitachi VCR Uzaktan Kumandadır. artık kullanılmayan uygun bir uzaktan kumanda aramaya başladım. Ve böylece IR Denetleyicisini oluşturma arayışı, ilk olarak orijinal devre kartını kendi kartımla değiştirerek başladı. Kart, bir PIC16F627, bir 74LS32 OR Gate, bir 2N3906 PNP transistör, bir 78L05 regülatör, 4 MHz kristal ve bir IR LED ile birlikte bazı butonları içerir. Sınırlı alan miktarı nedeniyle, kablolamaların çoğu kartın arka tarafında yapılır… evet, çılgınca bir kablolama dağınıklığı.

Yeni devre kartı, eski Hitachi VCR Uzaktan Kumanda kasasına takıldı ve oldukça şaşırtıcı bir şekilde, neredeyse mükemmel bir uyum sağladı. Düğmeler için biraz daha fazla yer açmak için kasanın içindeki kenarları biraz kesmek zorunda kaldım.

IRM8061-winamp-remote-kumanda-ir-verici-rs232-vb

Kızılötesi Alıcı modülü, bilgisayarın Seri Bağlantı Noktasına bağlanır. Kızılötesi Denetleyiciden gelen sinyal vericisini yakalar ve Winamp Komutlarına çevirir. Winamp, Winamp’ı kontrol etmek için Windows’un herhangi bir yerinden kullanılabilen bir Küresel Kısayol Tuşu listesine sahiptir. Visual Basic programı temel olarak Winamp Global Kısayol Tuşlarına erişmek için bu klavye tarama kodlarını oluşturur.

IR Alıcısının Winamp’ı kontrol etmek için kullanılabilmesi için önce Küresel Kısayol Tuşlarının etkinleştirilmesi gerekir.

winamp-ir-remote-schematic-options

winamp-remote-kumanda-ir-verici

IR verici devresi 16f627 mikro denetleyici üzerine kurulu 6 buton kontrol yapıyor alıcı devre ise max232 ve IRM8061 alıcı göz ve bir kaç pasif elemandan oluşuyor. Alıcı göz farklı modellerde kullanılabilir bacakları doğru bağlamanız yeterli

Devrenin C dili ile hazırlanmış kaynak kodları ve Visual Basic ile hazırlanmış kontrol yazılım kaynak kodları var. Winamp dışında kumanda devresi farklı projelerdede işinize yarayabilir.

PICTransmitter.c kod içeriği;


/* Infrared Transmitter for Winamp IR Remote Control */

#include 
#include 
#include "usart.h"
#include "delay.h"
#include "always.h"

__CONFIG(PWRTDIS & UNPROTECT & BORDIS & WDTDIS & LVPDIS & HS & MCLRDIS);

void main(void)
{
	int ASCIIdata;

	CMCON = 0x07;			// Disable Comparators.
	TRISA = 0xFF;			// PORTA pins as inputs.

	TRISB = 0b11110111;		// PORTB pins as input except RB3(CCP1).
	OPTION = 0b00000000;	// Enable PORTB weak pull-ups.

	init_comms();			// Initialize the COMMs 1200 Baud, 8 bits, 1 Stop bit, No parity.

	PR2 = 25;				// Load the PR2 value of 25 to get a PWM Period of 26.32us. PWM freq = 38kHz.
	CCPR1L = 13;			// Load the value of **52 = 13 * 4. This give 50% duty cycle.
	T2CON = 0b00000100;		// 1:1 Prescale, 1:1 Postscale, TMR2 on.
	CCP1CON = 0b00001111;	// Enable PWM mode on pin CCP1(RB3).

	for (;;)
	{
		while(1)
		{
			if 	(RB0 == 0)				// Check if RB0 button was pushed.
			{	ASCIIdata = 0x30;		// Send ASCII '0' if it was button pushed.
				putch(ASCIIdata);
				while(RB0 == 0)			// Wait for the release of the button.
				{
				}
				break;					// Exit the while loop after the button is released.
			}
			else if	(RA3 == 0)			// Do the same for the rest of the buttons with different ASCIIs.
			{	ASCIIdata = 0x31;
				putch(ASCIIdata);
				while(RA3 == 0)
				{
				}
				break;
			}
			else if	(RB4 == 0)
			{	ASCIIdata = 0x32;
				putch(ASCIIdata);
				while(RB4 == 0)
				{
				}
				break;
			}
			else if	(RB5 == 0)
			{	ASCIIdata = 0x33;
				putch(ASCIIdata);
				while(RB5 == 0)
				{
				}
				break;
			}
			else if	(RB6 == 0)		// RB4 and RB5 are volume up and volume down respectively.
			{	ASCIIdata = 0x34;	// Volume Control buttons. May be held on to continuously
				putch(ASCIIdata);	// adjust the volume of Winamp.
				DelayMs(45);		// Slow down data sending rate to the IR Receiver to prevent
				break;				// extreme rise or decrease in volume.
			}
			else if	(RB7 == 0)
			{	ASCIIdata = 0x35;
				putch(ASCIIdata);
				DelayMs(45);
				break;
			}
			else if	(RA0 == 0)		//RB6 and RB7 are Forward and Rewind respectively.
			{	ASCIIdata = 0x36;	// It may be held down for continuous forwarding/rewinding.
				putch(ASCIIdata);	// Delay to slow down sending rate to IR Receiver.
				DelayMs(45);
				break;
			}
			else if	(RA1 == 0)
			{	ASCIIdata = 0x37;
				putch(ASCIIdata);
				DelayMs(45);
				break;
			}
			else if	(RA2 == 0)
			{	ASCIIdata = 0x38;
				putch(ASCIIdata);
				while(RA2 == 0)
				{
				}
				break;
			}
		}
	}
}

winamp-icin-ir-kumanda-devresi-pic16f627-rs232-visual-basic

Şifre-Pass: 320volt.com

Yayım tarihi: 2010/09/06 Etiketler: , , , , ,



8 Yorum “Winamp için IR kumanda devresi PIC16F627 RS232 Visual Basic

  1. Davut Naci KayaDavut Naci Kaya

    Güzel paylaşım kardeşim. Bende böyle birşey düşünüyordum bugünlerde 🙂

    CEVAPLA
  2. melihmelih

    peki bu projeyi wmp ile uyumlu hale getirmek için ne yapmalıyız?

    CEVAPLA
  3. ahmetahmet

    süper bir uğraş elinize sağlık aklıma gelmez böyle bir şey harika

    CEVAPLA
  4. MustafaMustafa

    Merhaba paylaşım çok güzel sağolun.Elleriniz dert görmesin.Bende mesela rs232 üzerinden cihaz kontrolü yapmak istiyorum rf olarak ama araştırmalarıma rağmen elde edecek birşey bulamadım.Mesela rs232 üzerinden 433 mhz modül ile 4 röleli bir devre kurmak istiyorum.Ama birşey bulamadım bunun hakkında bilginiz varsa lütfen esirgemeyin

    CEVAPLA
  5. halilhalil

    Bunun bir değisik modelini ben oturma odası için düşündüğüm ir pc var onun windows media center uygulamasına nasıl yaparım diye düşünmüştüm aslında 2 – 3 ay once…

    İşe bu noktadan başlayıp geliştirmek lazım..

    Çok teşekkürler. Başarılarınızın devamı dileklerimle…

    CEVAPLA
  6. emiremir

    link kırık arkadaşlar tekrar eklerseniz memnun olurum

    CEVAPLA
  7. zaferzafer

    hex koduda paylaşıma konsaymış çok iyi olurmuş.Uğraşan arkadaşlardan rica etsek hek kodu…

    CEVAPLA

Bir yanıt yazın

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