Elektronik / Mikrodenetleyici Projeleri/

Uzaktan Kumanda ile Bilgisayar Kontrolü PIC16F84A

Sponsorlu Bağlantılar

Herhangi bir uzaktan kumanda ile bilgisayarınızdaki bir programı, bilgisayarınıza bağlı bir elektrikli cihazı çalıştırabilir veya bilgisayarınızı kapatabilirsiniz.

Gerekli olan malzemeler:

  • 1- PIC 16F84
  • 2- 18 bacaklı entegre soketi
  • 3- 7805 regüle entegresi
  • 4- 4 MHz kristal
  • 5- TK19 ışık sensörü
  • 6- DB9 konnektör
  • 7- 1N 4148 diyot (2 adet)
  • 8- 100 uf kondansatör
  • 9- 22 pf kond. (2 adet)
  • 10- 4k7 direnç

Devre Şeması

kumanda-kontrol-devresi

Yerlaşim planı ve pcb görünümleri

pcb-alt-ust-gorunum

Kullanımı : Devreyi kurup Bilgisayardaki Comm1 portuna bağlayın. Visual Basic‘te Bilgisayarı seri porttan haberleştirebilmek için “Microsoft Comm Control 6.0” öğesini ekleyin.

visual-basic-microsoft-comm-control-6

Daha sonra boş bir form oluşturun üzerine bir metin kutusu (text2) ekleyin. Boş form üzerinde herhangi bir yere bir tane MSComm ve bir tane de Timer öğesi yerleştirin.

visualbasic-timer-ogesi

Form üzerinde herhangi bir yere çift tıklayın açılan pencereye aşağıdakileri yazın.

Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub

MSComm öğesinin özellikler penceresini aşağıdaki gibi düzenleyin:

mscomm-ayarlari

Eğer bilgisayarınızın Comm portu 4 ve 7 numaralı uçlarından + gerilim çıkıyorsa DTREnable False olmalı, – gerilim çıkıyorsa True olmalıdır. Buna dikkat edin devreniz çalışmazsa DTREnable’yi değiştirerek tekrar deneyebilirsiniz.

Timer öğesini çift tıklayın veaçılan pencereye aşağıdakileri yazın.

Private Sub Timer1_Timer()
If MSComm1.InBufferCount >= 4 Then Text2 = Left(MSComm1.Input, 3)
End Sub

Şimdi Visual basic programınızı çalıştırın. Elinize herhangi bir uzaktan kumanda alın ve devreye doğru tutarak tuşlarına basın. Örneğin ben bir televizyon kumandası ile bu uygulamayı yaptım. 1 tuşuna bastıktan sonra aşağıdaki gibi bir görüntü aldım. Kumandadan 1 tuşuna basınca Metin kutusuna 128 yazdı. 2 tuşuna basınca 129, 3 tuşuna basınca 130 …..vb.

Siz de kendi elinizdeki kumandanın tuşlarına basarak hangi tuşa karşılık hangi rakamın geldiğini belirleyip bir kenara not edin.

kumanda-numarasi

‘ Kumandanın 1 numaralı tuşuna basınca hesap makinesi çalışacak’
Private Sub Text2_Change()
If Text2.Text = "128" Then
Shell ("calc.exe")
Text2.Text = ""
End If


If Text2.Text = "129" Then
Shell ("C:\Program Files\WinZip\WINZIP32.EXE")
Text2.Text = ""
End If

‘kumandanın kapat tuşuna basınca ALT F4 tuş gönderimi yaparak açık olan pencereyi kapatacak’
If Text2.Text = "149" Then
SendKeys ("%{f4}")
Text2.Text = ""
End If

‘ Kumandanın 3 numaralı tuşuna basınca not defteri çalışacak’
If Text2.Text = "130" Then
Shell ("notepad.exe")
Text2.Text = ""
End If

End Sub

Hazırlayan: Eyüp Irgat Projenin proteus şema ve pcb dosyaları var pic16f84 yazılımı (hex) ve kaynak visual-basic kodları bulunmakta dosylar Uzaktan Kumanda ile Bilgisayar Kontrolü PIC16F84A

Dosya indirme LINK listesi (TXT formatında) link-4913.zip şifre-pass: 320volt.com

  • huseyin

    Private Sub Timer1_Timer()
    If MSComm1.InBufferCount >= 4 Then Text2 = Left(MSComm1.Input, 3)
    End Sub

    bu koddaki left hata verdi ne yapmalıyım

  • burak

    gzl bir proje uzun zamandır böyle birşey arıyordum.Ben bu projeyi yaptım ama bir türlü sayılar gelmedi. Bana yardımcı olursanız sevinirim. msn adresim nissan_350z_55@hotmail.com

  • Cömert AYBEY

    Devrenin Hazır yapılmış halini veya komponentleri ile birlikte devre baskı şemasını satıyor musunuz?

    Teşekkürler

  • Eyüp IRGAT

    Devre ile ilgili tüm sorularınız için mail atabilirsiniz. eyup1999@hotmail.com

  • Eyüp IRGAT

    Sayın burak,
    eğer sayılar gelmiyorsa 2 sebepten olabilir.
    birincisi PIC’i programlamayı unutmuş olabilirsiniz.
    ikincisi de kumandanız PIC içindeki programa uymamış olabilir.
    PIC içindeki program S.ny marka kumandalar içindir. So.y marka herhangi bir model kumanda işinizi görür.
    Kolay gelsin

    • Çağatay Erdem TANAK

      Peki kumanda devresini kendimiz yapsak ? sonuçta 3-4 buton işimizi görecek gibi ben de proje olarak seçtim bugün

  • murat_831

    kardeş paylaşılan devreyi proje olarak yaptım ama hex dosyasını pic e attığımda hata veriyor assembly kodlarını paylaşabilirimisin paylaşırsan sevinirim yoksa dersten kalıcam okulum uzuyacak

  • şuayip kelebek kot1

    Eyüp hocam bu proje bir başkasına verildi mi ve kot1 öğrencisiyim. Bizimde yapma şansımız var mı şimdi. Veya da bize verebileceğiniz bir projeniz var mı ?

  • onur deniz

    hocam öncelikle tebrik ederim gerçekten çok güzel bir proje.