Barcode Scanner, LED Light Alarm link to Excel VBA

  • Thread starter Thread starter Zorro2nd
  • Ngày gửi Ngày gửi
Liên hệ QC

Zorro2nd

Thành viên mới
Tham gia
4/6/19
Bài viết
3
Được thích
0
Hi các anh chị,

Em mới bắt đầu tập viết VBA, ý tưởng của em là tạo một form để scan LapTop tại cổng bảo vệ công ty.
Mục đích để control LapTop In và Out của công ty.
Đầu scan sẽ scan vào Excel Form và đưa Data vào Excel Sheet. Nhưng xếp yêu cầu là phải setup được cái đèn LED, nếu Đúng LapTop trong danh sách của công ty (Có data ở sheet khác), thì đèn báo xanh. Còn không sẽ báo đỏ. Các bro chỉ dùm mình cách liên kết với đèn LED bên ngoài và cần chuẩn bị những gì với.
Thanks Alot!
 
Chào bạn! Gợi ý bên dưới của tôi sẽ giúp bạn:
Dùng thư viện điều khiển USB https://github.com/libusb/libusb/wiki
Hoặc Python thông qua Xlwings và VBA: https://github.com/vpelletier/python-libusb1
Hoặc Với C++ thông qua Build Libray với thư viện: https://github.com/zarthcode/Libusbpp

Search Keywork: Using DLL(C++) in Excel VBA

JavaScript:
'Example:
Declare Sub <Procedure> Lib "Path libusb" (....)
Sub CheckIn()
    Dim In As Boolean
    In = <Barcode In>
    If In Then
     <Procedure> On
    Else
     <Procedure> Off
    End If
End Sub

Không biết bạn đến từ đâu? (Country)
 
Lần chỉnh sửa cuối:
Upvote 0
Chào bạn! Gợi ý bên dưới của tôi sẽ giúp bạn:
Dùng thư viện điều khiển USB https://github.com/libusb/libusb/wiki
Hoặc Python thông qua Xlwings và VBA: https://github.com/vpelletier/python-libusb1
Hoặc Với C++ thông qua Build Libray với thư viện: https://github.com/zarthcode/Libusbpp

Search Keywork: Using DLL(C++) in Excel VBA

JavaScript:
'Example:
Declare Sub <Procedure> Lib "Path libusb" (....)
Sub CheckIn()
    Dim In As Boolean
    In = <Barcode In>
    If In Then
     <Procedure> On
    Else
     <Procedure> Off
    End If
End Sub

Không biết bạn đến từ đâu? (Country)
Mình ở Biên Hòa đồng nai nè bạn, cái bạn nói làm có khó không bạn.
Mình chỉ biết cơ bản về VBA code, còn những thứ còn lại không hiểu lắm. Có cách gì triển khai được không bạn nhỉ? Mình ra mấy quán quảng cáo đèn LED làm đc k?
 
Upvote 0
Tôi chỉ có những gợi ý như ở trên, còn lại thì bạn tìm tòi thôi
 
Upvote 0
Upvote 0
Hi các anh chị,

Em mới bắt đầu tập viết VBA, ý tưởng của em là tạo một form để scan LapTop tại cổng bảo vệ công ty.
Mục đích để control LapTop In và Out của công ty.
Đầu scan sẽ scan vào Excel Form và đưa Data vào Excel Sheet. Nhưng xếp yêu cầu là phải setup được cái đèn LED, nếu Đúng LapTop trong danh sách của công ty (Có data ở sheet khác), thì đèn báo xanh. Còn không sẽ báo đỏ. Các bro chỉ dùm mình cách liên kết với đèn LED bên ngoài và cần chuẩn bị những gì với.
Cảm ơn Alot!

Cái vụ này tôi chưa làm thử nhưng lúc trước cũng có ngâm cứu sơ qua, tính làm bộ đèn giao thông (xanh vàng đỏ) cho thằng nhóc chơi mà làm biếng chưa bắt tay vô làm. Điều khiển đèn LED này thông qua cái board Arduino Uno có bán đầy ngoài cửa hàng điện tử (chừng 80k) và
bạn truyền tính hiệu từ máy tính qua cổng COM cho cái board nó xử lý. Board này dùng code C++ để điều khiển.
- 1 board Adruino Uno. có cáp USB đi kèm để nối với máy tính làm nguồn điện và cũng để nhận tín hiệu luôn.
- 2 đèn Led: đỏ, xanh
- 2 con điện trở 220 ôm vì đèn LED dùng nguồn chừng 3V nên điện máy tính 5V sẽ làm chết LED.
- Download phần mềm điều khiển board Arduino trên trang web của nó về cài lên máy tính để viết lệnh điều khiển.
==> Việc lắp đặt trên board bạn lên mạng xem hướng dẫn có rất nhiều trên đó.
Phần quan trọng nhất là truyền tín hiệu từ PC cho cái board Arduino qua cổng COM. Code viết bằng VB6.0, Vb.Net, C# thì nhiều nhưng VBA thì hiếm gặp. Vì bạn chỉ điều khiển có 2 đèn nên code nó cũng không phức tạp.
Đại khái như sau:
- Code trong module file Excel:

Mã:
Option Explicit

Public Function GuiTinHieu(blnRed As Boolean) As Boolean
'Mo COM port de truyen du lieu
'COM1: xem trong Device Manger de xac dinh cái board Arduino nam cong nao
    Open "COM1:9600,N,8,1" For Binary Access Read Write As #1
    If blnRed = True Then
        ThongBao$ = "do"  'Gui tín hieu cho board dieu khien mo den Led do
    Else
        ThongBao$ = "xanh"
    End If

    'Thuc hien gui data
    Put #1, , GuiTinHieu$
    Close #1

End Function

==>Bạn tự viết code khi scan không có thông tin laptop thì sẽ gọi hàm GuiTinHieu(True) và ngược lại.

- Code trong trình điều khiển Arduino: (vô menu Example của nó sẽ có code mẫu một số kiểu điều khiển)

Mã:
// pins den LEDs:
const int redPin = 13;
const int greenPin = 12;
String tinhieu;

void setup()
{
  Serial.begin(9600);

  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);

}

void loop()
{
  // Neu co tin hieu, se doc no:
  if (Serial.available() > 0)
  {
    tinhieu = Serial.readString();
    if (tinhieu == "do")
    {
        // Bat den Led do
        digitalWrite(redPin, HIGH);
        digitalWrite(greenPin, LOW);
        delay(3000);
        digitalWrite(redPin, LOW);
        digitalWrite(greenPin, LOW);
    }
     else if (tinhieu == "xanh")
      {
        // Bat den Led xanh
        digitalWrite(redPin, LOW);
        digitalWrite(greenPin, HIGH);
        delay(3000);
        digitalWrite(redPin, LOW);
        digitalWrite(greenPin, LOW);
      }
    }
}
/CODE]

Tổng thể nó là như vậy, bạn mua về test thử, tham khảo các hướng dẫn trên mạng. Code trên tôi chưa có test nhé.
Tự làm kiểu "Em yêu khoa học" nhé. Chúc thành công. :)

218918


218916
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom