Elektronik / Elektronik Programlar/

Visual Basic 6 seri port kullanımı led yakma devresi

Sponsorlu Bağlantılar

Hazırlayan: H. Yakupoğlu – Visual Basic 6 ile seri port kullanımı hakkında faydalı bir çalışma ayrıca program kaynak kodları ve seri port üzerinden led yakma hakkında bilgiler bulunuyor. Emeği geçen hazırlayan kişilere teşekkürler.

Açıklama: Program vb 6.0 da yazılmıştır Basit bir uygulama gibi görünüyor ancak seri portun çalışma mantığının anlama bakımından çok yararlı bence . Vb te seri portu kullanmak için 2 seçenek var. bunun ilki API ile bunun için modül oluşturmamız gerekiyor buda baya bi uğraş gerekiyor.

İkinci yol ise bizim kullandığımız yol bu özellik vb6 nın bize sağladığı avantaj Microsoft Comm Control nesnesini ile seri portla kolayca iletişim kurulabiliyor. Bunu eklemek için resimleri izlemek yeterli.

Microsoft Comm Control api modul

Microsoft Comm Control api modul vb6 seri port

Visual Basic api modul vb6 seri port

Şimdide cam görüntüsü almak için modül ekleyelim..

Visual Basic webcam goruntusu almak icin modul

Visual Basic cam goruntusu almak icin modul

Modüle gerekli kodları yazdıktan sonra modül penceresini kapatıyoruz.

Visual Basic modul kapatma bitti

Şimdide seri port çıkışı için devre şeması

Visual Basic seri poart cikisi devre semasi

Zenerin amacı hepinizin bildiği gibi led üzerindeki gerilimi 12V tan zener gerilimi olan 5.1V a düşürmek. Aslında şekildeki kırmızı renki pinlerin hepsi çıkış pini ben tercih olarak 7. pini tercih ettim çıkış pinlerinin hepsi ilk durumda -12V değerindedir.

Programı çalıştırıp 7 .pine çıkışp verdiğimizde +12V a yükselir. Seri portun 5. bacağı şekildeki gibi 5. bacaktır.akımı sınırlamak için bir dirençte kullanılmıştır.Bununla beraber seri port çıkışı iletişim halinde 49 mA seviysindedir.

!!!! Dikkat etmesi gereken bir husus burada led kullanıldığı için led enerjisini direk seri porttan almıştır .Motor kontrolü gibi uygulamalarda seri port çıkışı doğrudan motora bağlamamak gerekir.Motor kalkış anında fazla akım çekmek istediğinden seri port bunu karşılayamaz ve motor dönmez .En kötü ihtimal seri port yanar :D ama korkmayın ben denedim bir şey olmuyor bende sadece motor hareket etmedi o kadar :D

Motor kullanacaksanız transistorle sürmeniz daha mantıklı H- köprüsüyle akımı yükseltirsiniz çok daha güzel olur bunun için tabi dışarıdan bir beleme gerekli.

Neyse kodlar aşağıda size kolay gelsin unutmayın “BİLGİLER PAYLAŞTIKÇA ÇOĞALIR”

H. Yakupoğlu
SAÜ EEM

Program Kodları

[sourcecode lang=’vb’]
Dim hy As Long

Private Sub cmdCapture_Click()
Dim temp As Long
Dim temp1 As Long
hwdc = capCreateCaptureWindow(“Dixanta Vision System”, ws_child Or ws_visible, 0, 0, 320, 240, Picture1.hWnd, 0)
If (hwdc <> 0) Then
temp = SendMessage(hwdc, wm_cap_driver_connect, 0, 0)
temp = SendMessage(hwdc, wm_cap_set_preview, 1, 0)
temp = SendMessage(hwdc, WM_CAP_SET_PREVIEWRATE, 30, 0)
startcap = True
Else
MsgBox “kamera takılı değil veya Bulunamadı”, vbCritical, “UYARI”
End If

End Sub

Private Sub cmdClose_Click()
Dim temp As Long
If startcap = True Then
temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
startcap = False
End If
End Sub

Private Sub cmdVideoFormat_Click()
Dim temp As Long
If startcap = True Then
temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
End If
End Sub

Private Sub Command1_Click()
MSComm1.RTSEnable = True

Label1.BackColor = &H80FF80
Label1.Caption = “LED YANIYOR”
End Sub

Private Sub Command2_Click()
Timer1.Enabled = True
End Sub

Private Sub Command3_Click()

MSComm1.RTSEnable = False
Timer1.Enabled = False

Label1.BackColor = &HFF&
Label1.Caption = “LED SÖNÜK”

End Sub

Private Sub Command4_Click()
hy = hy – 100
Text1.Text = hy
If Text1.Text <= 100 Then Text1.Text = 100 End If End Sub Private Sub Command5_Click() If Text1.Text <= 100 Then hy = 100 End If hy = hy + 100 Text1.Text = hy End Sub Private Sub Command6_Click() End End Sub Private Sub Form_Load() Caption = "serialhy3000" hy = 1000 MSComm1.PortOpen = True End Sub Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False End Sub Private Sub Timer1_Timer() Dim c Timer1.Interval = Text1.Text c = MSComm1.RTSEnable = True MSComm1.RTSEnable = True = MSComm1.RTSEnable = False MSComm1.RTSEnable = False = c End Sub

Program kodları,.exe dosyası, modül .bas dosyaları: Visual Basic 6 seri port kullanımı led yakma devresi

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

  • 22aykut

    merhabalar ben exe dosyasını çalıştıradım hata verdi neden olabilir acaba?

    • Hata veriyormu ? sisteminizde dll dosyaları eksik olabilir programı test ettim çalışıyor

  • 22aykut

    sorun bende galiba :D

  • Burak

    Merhaba bu devrenin kanal sayısını artırabilirmiyiz mesela 10 led yakma gibi

  • emad

    hi.i want to know how can use a webcam from visual basic and serial port.thank u

  • ali

    iyi günler benim şöyle bir sorum olacak seri porttan bilgi nasıl çekicem lütfen yardımcı olurumusnuz şimdiden yardımlarınız için teşekkürler mail adresime mail atarsanız sevinirim…

  • ali

    seri porttan bigiyi visual basicte görmek istiyorum ancak kodları bulamıyorum….

  • ahmet

    arkadaşlar örneğin: klavyenin a tuşuna bastığımızda bir led yamak istiyoruz bunun için hangi değişikliği yapmamız gerekyor ?

  • Selim

    Merhaba ben her şeyi yaptım ancak kablodan elektrik gelmiyor yani hiç bir etki tepki yok

  • apulse

    link ölmüş, tekrar atabilirmisiniz?
    teşekkürler…

  • link sağlam açılan sayfada sağ alt köşedeki “Slow Download” butonuna tıklayın

  • dursun

    Merhaba…öncelikle bilgi paylaşımında bulunduğunuz için teşekkür ederim…ben iki yıllıkta elektronik okuyorum…seri porttan araba kontrol edeceğiz biz…

    proje verdi hoca…acaba visual basic de bunu nasıl yapabiliriz bana yardım ederseniz çok memnun olurum…bir ilçede okuyoorum ve bunu yapacak kimseyi bulamadım…bana ulaşın lütfen(asalet_87_@hotmail.com)

  • yildirim

    paylaşım için teşekkür ederim..