ยินดีต้อนรับแขกผู้มาเยือน กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?
 
Please Login!

ผู้เขียน หัวข้อ: หาที่ปรึกษาโปรแกรม Visual Basic  (อ่าน 1895 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ samuraimao

  • นักเรียนอนุบาล
  • *
  • โพสต์: 3
  • คูลเฟิร์ม: 2
  • zula: 0
    • ดูรายละเอียด

  • ล็อคอิน @ 12 มิถุนายน 2012, 19:07:47
หาที่ปรึกษาโปรแกรม Visual Basic
« เมื่อ: 17 พฤศจิกายน 2011, 01:23:30 »
คือว่า ผมทำโปรเจค Data Logger น่ะครับ ใช้บอร์ด Micro USB DAQ แล้วใช้ VB เขียนโปรแกรมควบคุมการวัดอุณหภูมิ ผ่านบอร์ดที่ว่าอ่ะครับ
ซึ่งอาจารย์ที่ปรึกษาแกให้ทำงานแรก  คือ ให้หาหลอด LED ไปต่อที่บอร์ด แล้วเขียนโค้ดสั่งให้มันติด โอย  นี่ละครับแค่งานแรกยังทำไม่ได้เลย.. :d1: อยากขอคำปรึกษาจากท่านที่พอจะรู้เรื่อง vb ทีครับ :c4: ไม่รู้จะทำไงหาตามเว็บแล้วมันมีแต่พอร์ตขนานครับ..ส่วนที่ผมใช้มันเปนพอร์ต USB ครับ  :e2: พลีส
Coolfirmed by (1)สมาชิก:

ออฟไลน์ notezuza

  • นักเรียนประถม
  • *
  • โพสต์: 135
  • คูลเฟิร์ม: 61
  • zula: 28
  • เพศ: ชาย
    • ดูรายละเอียด
    • www.dektai2u.com
  • www.dektai2u.com

  • ล็อคอิน @ 03 พฤษภาคม 2013, 13:09:40
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #1 เมื่อ: 20 พฤศจิกายน 2011, 18:40:04 »
ไม่ทราบว่าจะคอนโทรลยังไงครับ ผ่าน MCU หรือโดยตรงครับ
Coolfirmed by (1)สมาชิก:
www.dektai2u.com เด็กใต้ทูยู ปี 3 แหล่งความรู้ ความบันเทิง

ออฟไลน์ samuraimao

  • นักเรียนอนุบาล
  • *
  • โพสต์: 3
  • คูลเฟิร์ม: 2
  • zula: 0
    • ดูรายละเอียด

  • ล็อคอิน @ 12 มิถุนายน 2012, 19:07:47
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #2 เมื่อ: 22 พฤศจิกายน 2011, 09:51:00 »
คอนโทรลผ่านบอร์ดเลยครับ...พอดีไม่ค่อยมีพื้นฐานเรื่องนี้เลยครับ
Coolfirmed by (1)สมาชิก:

ออฟไลน์ notezuza

  • นักเรียนประถม
  • *
  • โพสต์: 135
  • คูลเฟิร์ม: 61
  • zula: 28
  • เพศ: ชาย
    • ดูรายละเอียด
    • www.dektai2u.com
  • www.dektai2u.com

  • ล็อคอิน @ 03 พฤษภาคม 2013, 13:09:40
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #3 เมื่อ: 07 ธันวาคม 2011, 14:50:47 »
คือไม่ใช้ MCU เป็นตัวประมวลผลหรอครับ คือ สั่งโดยตรงอย่างนั้นใช้มั้ยครับ
Coolfirmed by (0)สมาชิก:
 
www.dektai2u.com เด็กใต้ทูยู ปี 3 แหล่งความรู้ ความบันเทิง

ออฟไลน์ samuraimao

  • นักเรียนอนุบาล
  • *
  • โพสต์: 3
  • คูลเฟิร์ม: 2
  • zula: 0
    • ดูรายละเอียด

  • ล็อคอิน @ 12 มิถุนายน 2012, 19:07:47
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #4 เมื่อ: 09 ธันวาคม 2011, 09:59:09 »
ตามที่คุณ notezuza เข้าใจหน่ะครับ ช่วยทีได้ไหมครับ รออยู่
Coolfirmed by (0)สมาชิก:
 

ออฟไลน์ notezuza

  • นักเรียนประถม
  • *
  • โพสต์: 135
  • คูลเฟิร์ม: 61
  • zula: 28
  • เพศ: ชาย
    • ดูรายละเอียด
    • www.dektai2u.com
  • www.dektai2u.com

  • ล็อคอิน @ 03 พฤษภาคม 2013, 13:09:40
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #5 เมื่อ: 10 ธันวาคม 2011, 10:03:00 »
Microcontroller โครงงานการติดต่อควบคุม 8051

สร้างฟอร์ม
    การออกแบบของเราจะใช้ VB Control ที่ชื่อว่า MSComm โดยที่คุณต้อง กำหนด Custom Control เข้าไปที่ เมนู    Project--->Companents แล้วเลือกที่ช่อง MSComm ก็จะปรากฏ เป็นรูปไอคอนโทร ศัพท์สีเหลือง ให้คลิกที่ไอคอนลากนำมาไว้บน Form ใน Project ของโปรแกรมเรา จากนั้นก็วาง Frame control สำหรับชุด Communication และ Control I/O Microcontroller

    ส่วนการจัดว่างตำแหน่ง Control ต่างๆนั้น ผมได้อธิบายชี้ตำแหน่งเป็นรูปไว้ดังนี้



เขียนคำสั่งของโปรแกรม

โค๊ด: [Select]
ชุดแรกจะเป็นปุ่มของการ Setting Communication PC Serial Port

Private Sub Command8_Click()
   On Error GoTo Errlabel
  ' ตั้งค่า Setting คือ ="Baud Rate(อัตราการรับส่งข้อมูล),Parity(ถ้าไม่ใช้ใส่ N,Data bit(จำนวนบิตข้อมูล),Stop bit"  เช่น 9600,n,8,1

   MSComm1.Settings = Text1.Text   ' โดยเราจะใส่ค่า Setting ที่ Textbox                 

   MSComm1.CommPort = Combo1.ListIndex + 1   ' กำหนด Com port
   MSComm1.RThreshold = 1   ' ตั้งค่าให้มีการใช้ Event-driven เมื่อมีข้อมูลเข้ามา
   MSComm1.PortOpen = True   ' เปิด Com port พร้อมใช้งาน
   MSComm1.InputLen = 0    ' กำหนดให้อ่านข้อมูลใน Buffer ของ MSComm ทั้งหมด
Exit Sub
' สำหรับตรวจการเกิดข้อผิดผลาดของโปรแกรม
Errlabel:
If Err.Number = 8002 Then MsgBox "Select com Port", vbInformation, "8051 Control I/O"
End Sub

ชุดปุ่มควบคุมการส่งค่าออกไปที่ตัวไมโครคอนโทรลเลอร์8051

' คำสั่งส่งรหัสให้กับไมโครคอนโทรลเลอร์เพื่อให้สั่งควบคุม LED แต่ละตัว
Private Sub Command1_Click()
MSComm1.Output = "1"    ' ส่งเลข 1 ออกไปให้ คือค่า Ascii =31(Hex) ให้ LED1 ติด
valLED1 = Not valLED1    ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED1
End Sub

Private Sub Command2_Click()
MSComm1.Output = "2"    ' ส่งเลข 2 ออกไปให้ คือค่า Ascii =32(Hex) ให้ LED2 ติด
valLED2 = Not valLED2    ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED2
End Sub


Private Sub Command3_Click()
MSComm1.Output = "3"   ' ส่งเลข 3 ออกไปให้ คือค่า Ascii =33(Hex) ให้ LED3 ติด
valLED3 = Not valLED3   ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED3
End Sub

Private Sub Command4_Click()
MSComm1.Output = "4"    ' ส่งเลข 4 ออกไปให้ คือค่า Ascii =34(Hex) ให้ LED4 ติด
valLED4 = Not valLED4    ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED4
End Sub


Private Sub Command5_Click()
MSComm1.Output = "5"    ' ส่งเลข 5 ออกไปให้ คือค่า Ascii =35(Hex) ให้ LED5 ติด
valLED5 = Not valLED5    ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED5
End Sub


Private Sub Command6_Click()
MSComm1.Output = "6"   ' ส่งเลข 6 ออกไปให้ คือค่า Ascii =36(Hex) ให้ LED6 ติด
valLED6 = Not valLED6   ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED6
End Sub


Private Sub Command7_Click()
MSComm1.Output = "7"    ' ส่งเลข 7 ออกไปให้ คือค่า Ascii =37(Hex) ให้ LED7 ติด
valLED7 = Not valLED7    ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED7
End Sub


Private Sub Command9_Click()
MSComm1.Output = "0"   ' ส่งเลข 0 ออกไปให้ คือค่า Ascii =30(Hex) ให้ LED ดับหมด
valLED = Not valLED        ' กำหนดค่าเพื่อตรวจสอบการกดปุ่ม LED0
End Sub

ชุดรับค่าจากไมโครคอนโทรลเลอร์โดยจะอยู่ใน MSComm1_OnComm()

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent   ' กรณีที่เกิด Commevent ขึ้น
      Case comEvReceive   ' เมื่อมีการรับข้อมูลทางด้าน Com Port
      Dim Buffer As Variant    ' ตัวแปรสำหรับเก็บข้อมูลที่รับเข้ามา
      Buffer = MSComm1.Input    ' เก็บข้อมูลไว้ในตัวแปร
      Label2.Caption = "Return = " & Buffer
' กรณีที่ไมโครคอนโทรลเลอร์ส่งข้อมูลเข้ามาเพื่อยื่นยันการทำงานเสร็จแล้ว
' ตรวจอบค่าที่รับมาว่าเป็น "C" และ ค่าvalLED1-7 ประจำแต่ละปุ่มที่กด
' เพื่อเปลี่ยนสีของวงกลมเป็นสีแดง(หมายถึง LEDติด)และ ถ้าเป็นสีขาว(หมายถึง LED ดับ)
      On Error GoTo Errlabel
      If Buffer = "C" Then
      If valLED = True Then
            For x = 0 To 7 Step 1
                  Shape1(x).FillColor = &HFFFFFF
            Next
            Shape1(0).FillColor = &HFF&
            valLED1 = False
            valLED2 = False
            valLED3 = False
            valLED4 = False
            valLED5 = False
            valLED6 = False
            valLED7 = False
            Command9.Caption = "ON ALL"
' หากว่าปุ่มยัง "ON ALL" อยู่จะไม่สามารถควบคุมได้จนกว่ากดให้เป็น "OFF ALL"
            Exit Sub
      Else
          Shape1(0).FillColor = &HFFFFFF
          Command9.Caption = "OFF ALL"
      End If
      If valLED1 = True Then
            Shape1(1).FillColor = &HFF&
            Else
            Shape1(1).FillColor = &HFFFFFF
      End If
      If valLED2 = True Then
            Shape1(2).FillColor = &HFF&
            Else
            Shape1(2).FillColor = &HFFFFFF
      End If
      If valLED3 = True Then
            Shape1(3).FillColor = &HFF&
            Else
            Shape1(3).FillColor = &HFFFFFF
      End If
      If valLED4 = True Then
            Shape1(4).FillColor = &HFF&
            Else
            Shape1(4).FillColor = &HFFFFFF
      End If
      If valLED5 = True Then
            Shape1(5).FillColor = &HFF&
            Else
            Shape1(5).FillColor = &HFFFFFF
      End If
      If valLED6 = True Then
            Shape1(6).FillColor = &HFF&
            Else
            Shape1(6).FillColor = &HFFFFFF
      End If
      If valLED7 = True Then
            Shape1(7).FillColor = &HFF&
            Else
            Shape1(7).FillColor = &HFFFFFF
      End If
   End If
End Select
Errlabel:
            Exit Sub
End Sub


ทดลองโปรแกรม(ใช้โปรแกรมเดียวกันจำลองส่งค่า)

    เมื่อทำเป็นไฟล์ EXE แล้ว หากต้องการทดลองโปรแกรมแต่ไม่ได้ต่อกับไมโครคอนโทลเลอร์8051 ก็ทำได็โดย ให้เปิดโปรแกรมนี้ 2 โปรแกรมพร้อมกัน ซึ่งผมได้ทำปุ่ม "Test Send Complete" เพื่อใช้สำหรับทดลองส่งค่ากลับให้โปรแกรมรับรู้ว่าไมโครคอนโทรลเลอร์ได้ทำงานเรียบร้อยแล้ว ขั้นตอนเป้นไปดังรูปด้านล่างนี้



http://www.thaiio.com/prog-cgi/programing.cgi?0032
Coolfirmed by (0)สมาชิก:
 
www.dektai2u.com เด็กใต้ทูยู ปี 3 แหล่งความรู้ ความบันเทิง

ออฟไลน์ notezuza

  • นักเรียนประถม
  • *
  • โพสต์: 135
  • คูลเฟิร์ม: 61
  • zula: 28
  • เพศ: ชาย
    • ดูรายละเอียด
    • www.dektai2u.com
  • www.dektai2u.com

  • ล็อคอิน @ 03 พฤษภาคม 2013, 13:09:40
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #6 เมื่อ: 10 ธันวาคม 2011, 10:08:42 »
เขียนโปรแกรม ควบคุม LED ผ่านพอร์ตขนาน ใช้การ Interface

1. เริ่มต้นด้วยการสร้าง Hardware ตามวงจรดังรูป



 2. เริ่มต้นเขียนโปรแกรมควบคุมการเปิด-ปิด LED ทั้ง 8 ดวง โดย Visual Basic เริ่มจากสร้าง New Project เลือก Standard EXE



 3. เรียกใช้ Components ตัวที่ทำหน้าที่เป็น สวิทซ์ (Toggle.ocx ซึ่งสามารถดาวน์โหลดได้ที่ http://www.cstsoft.com) และ LED (ScottsLED.ocx สามารถ ดาวน์โหลดได้ฟรีจาก http://members.tripod.com/forgesoft/)



4. จัดวาง Components พร้อมตั้งชื่อและกำหนด Properties ของ Control ต่างๆดังรูป



5. เขียน Code เพื่อควบคุมการทำงานของโปรแกรมดังนี้

โค๊ด: [Select]
'ประกาศฟังก์ชั่นเพื่อเรียกใช้ไฟล์ inpout32.dll ซึ่งใช้ในการส่งข้อมูล
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Sub Toggle_Click(Index As Integer)
Dim i As Integer
Dim tmpData(0 To 7) As Integer
Dim tmpResult As Integer
tmpData(0) = 1
tmpData(1) = 2
tmpData(2) = 4
tmpData(3) = 8
tmpData(4) = 16
tmpData(5) = 32
tmpData(6) = 64
tmpData(7) = 128
    Do
    DoEvents
    For i = 0 To 7
        If Toggle(i).Value = True Then
            ForgeLEDb(i).LEDstate = 1
            tmpResult = tmpResult + tmpData(i)
        Else
            ForgeLEDb(i).LEDstate = 0
            tmpResult = tmpResult
        End If
    Next
    'ส่งข้อมูลออกทางพอร์ตขนาน Address &H378
    Out &H378, tmpResult
    tmpResult = 0
    DoEvents
    Loop
End Sub

6. หลังจากเขียน Code เสร็จเรียบร้อยต่อไปเป็นการทดลองการทำงานของโปรแกรมร่วมกับอุปกรณ์ Hardware ที่ได้สร้างขึ้น ซึ่งก่อนอื่นให้ทำการต่อบอร์ดทดลองเข้ากับพอร์ตขนาน
 
7. ทำการ Run โปรแกรม หน้าจอจะแสดงดังนี้




8. ทดลองกดสวิทซ์ บนหน้าจอโปรแกรม และสังเกตุบอร์ดทดลองที่สร้างขึ้นจะเห็นว่า LED จะติดสว่างตามการกดสวิทซ์บนหน้าจอโปรแกรม
   
ตำแหน่ง D0 -------> LED L1 บนบอร์ดทดลอง
ตำแหน่ง D1 -------> LED L2 บนบอร์ดทดลอง
ตำแหน่ง D2 -------> LED L3 บนบอร์ดทดลอง
ตำแหน่ง D3 -------> LED L4 บนบอร์ดทดลอง
ตำแหน่ง D4 -------> LED L5 บนบอร์ดทดลอง
ตำแหน่ง D5 -------> LED L6 บนบอร์ดทดลอง
ตำแหน่ง D6 -------> LED L7 บนบอร์ดทดลอง
ตำแหน่ง D7 -------> LED L8 บนบอร์ดทดลอง



http://www.wara.com/modules/FCKeditor/Upload/File/Anuwat/Parallel_led(1).zip
Coolfirmed by (0)สมาชิก:
 
www.dektai2u.com เด็กใต้ทูยู ปี 3 แหล่งความรู้ ความบันเทิง

ออฟไลน์ sak2005

  • สมาชิกกิตติมศักดิ์
  • *
  • โพสต์: 1,929
  • คูลเฟิร์ม: 7798
  • zula: 3639.25
  • เพศ: ชาย
    • ดูรายละเอียด
  • ตำแหน่ง:ครูผู้ให้

  • ล็อคอิน @ วันนี้ เวลา 14:29:18
Re: หาที่ปรึกษาโปรแกรม Visual Basic
« ตอบกลับ #7 เมื่อ: 09 เมษายน 2012, 16:09:40 »
Virtual LED ..เป็น Software ที่ไม่สามารถควบคุม Hardware ได้ ..เขียนให้ทดลองรันกันเล่นๆ

ส่วนประกอบ: ฺButton1,2,3 เป็น LED และ Button4,5,6 เป็น สวิตท์ ปิด-เปิด

โค๊ด: [Select]
Public Class Form1
    Dim btnON_R As Color = Color.Red        'current digital = 1
    Dim btnON_G As Color = Color.Green      'current digital = 1
    Dim btnON_B As Color = Color.Blue       'current digital = 1
    Dim btnOff As Color = Color.Transparent 'current digital = 0

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Select Case Button4.Text
            Case "ON"
                Button1.BackColor = btnON_R
                Button4.Text = "OFF"
            Case Else
                Button1.BackColor = btnOff
                Button4.Text = "ON"
        End Select
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Select Case Button5.Text
            Case "ON"
                Button2.BackColor = btnON_G
                Button5.Text = "OFF"
            Case Else
                Button2.BackColor = btnOff
                Button5.Text = "ON"
        End Select
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Select Case Button6.Text
            Case "ON"
                Button3.BackColor = btnON_B
                Button6.Text = "OFF"
            Case Else
                Button3.BackColor = btnOff
                Button6.Text = "ON"
        End Select
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Button1.BackColor = btnOff
        Me.Location = New Point(350, 250)
        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
    End Sub
End Class
Coolfirmed by (0)สมาชิก:
 
« แก้ไขครั้งสุดท้าย: 09 เมษายน 2012, 16:15:50 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..