Đây là phần mềm bảo vệ đôi mắt của bạn khi làm việc lâu trước máy tính, bạn cũng biết đó khi mắt chúng ta nhìn chầm chầm vào màn hình quá lâu nó sẽ quen với điều tiết đó lâu ngày sẽ dẫn đến tật khúc xạ, App chạy dưới dạng mini tray và bằng cách lock màn hình lại nó sẽ khiến bạn nhìn chỗ khác :D
App render ảnh bằng directx nên có thể hỗ trợ tới 4K siêu mịn :)
OS: Windows với .net 2.0
Mạch sử dụng chip AVR tiny nhỏ gọn độ tin cậy và ổn định cao, mạch có chức năng bật tắt và hẹn giờ thiết bị (nếu không hẹn giờ thì mạch vẫn tự tắt sau 3 giờ chạy), tôi sử dụng mạch này để bật và hẹn giờ quạt máy còn bạn thích ứng dụng nó vào gì cũng đuợc.
File đính kèm có sơ đồ, mạch in, frimware, và source code (codevisionAVR) để bạn tùy biến.
Tên phần mềm: Air Switch
Tác giả: Phan Tuấn Phong
Mô tả: Air switch là phần mềm bật tắt thiết bị điện trong nhà bằng giọng nói thông qua thiết bị android có kết nối wifi với máy tính, chương trình server trên máy tính sẽ sử dụng cổng LPT để đóng ngắt role điều khiển thiết bị. Các bạn xem đoạn video này để hiểu rõ hơn.
Bạn thử tưởng tượng bạn ngồi xem tivi tay cầm sờ mát phôn và bạn có thể điều khiển các thiết bị điện trong nhà vd: đèn, quạt, tivi, điều hòa, amply... thậm chí là máy bơm nước thông qua bộ HTPC của mình, hay bạn gắn vào khóa điện tử để khóa cửa thông qua wifi, hay bất cứ việc gì đó mà bạn nghĩ ra Yêu cầu: điện thoại android 2.2 trở lên, nhà có modem wifi, máy tính có cổng LPT và net framework 4.0
Giao diện:
Hướng dẫn sử dụng:
Trước tiên chúng ta cần 1 mạch điện để điều khiển đóng tắt thiết bị điện.
Ở đây chân 2 của cổng LPT là D0, chân 3 là D1... cho đến chân 9 là D7, ở đây tôi chỉ vẽ cho D0 các chân còn lại cũng tương tự, mỗi chân điều khiển đóng tắt cho 1 thiết bị điện và chi phí cho 1 mạch như thế này chừng 12.000 VNĐ.
Cấu hình:
Địa chỉ cổng LPT (cài đặt > address LPT port)
Mặc định địa chỉ cổng là 0x378 (device manager > Printer Port > Resource)
Cấu hình địa chỉ IP
Server Client Địa chỉ này là địa chỉ ip của máy tính trong mạng.
Cài đặt chân LPT (cài đặt > LPT Port > Dx)
Ở đây mình chỉ làm mẫu cho chân D0 thôi tương tự cho các chân còn lại.
Ở đây ta có 1 thanh “độ chính xác” mặ c định giá trị của nó là 3, độ chính càng cao thì thời gian tập luyện lấy mẫu giọng nói càng lâu.
Nhãn là để phân biệt trạng thái các chân Dx
Response voice là câu mà máy sẽ đọc lúc trạng thái được kích hoạt. Lưu ý: câu này phải là tiếng anh.
Khi xong hết các bước trên ta bấm nút lấy mẫu cho “bật quạt” tương tự cho “tắt quạt”, ở bước này ta huấn luyện máy nhận dạng giọng để kích hoạt trạng thái của chân, lúc này máy tính phát ra tiếng bíp chúng ta sẽ bấm nút đỏ đỏ microphone trên ứng dụng AirSwitch điện thoại ( điện thoại + máy tính đang kết nối vào 1 mạng ) và bạn hãy đọc câu trong khung “nhãn” lúc nãy ở vd này là “bật quạt”, sau mỗi câu đọc nếu máy tính nhận thì máy tính sẽ phát ra tiếng bíp sau đó bạn lập lại bước đọc, bạn cứ làm như thế cho đến khi nào máy tính nói câu “OK". Chúc mừng bạn đã cấu hình xong bây giờ chúng ta chạy server và test thôi. Ngoài cách sử dụng giọng nói để bật tắt thiết bị chúng ta còn có 1 bảng điều khiển nhanh gọn để bật tắt trên điện thoại.
Bonus thêm cách làm mạch.
Link Download: Download
Ngoanrazor!
Phần mềm VIRTINS Multi (phần mềm hiện sóng trên pc bằng card âm thanh) - Download
Mạch điện:
Chân 3,4 opto nối vào GND vào TX của jack audio 3.5 , jack còn lại cắm vào cổng micro máy tính.
Phân tích mã remote
Mở chương trình VIRTINS Multi lên và chọn kênh A.
Ở đây tôi dùng remote đầu đĩa TQ.
Bây giờ bạn bấm nút record trên thanh menu và cầm remote lên hướng mắt hồng ngoại và bấm vào 3 nút bất kỳ. Mục đích của hành động này là phân tích xem phần mã remote nào giống nhau để ta loại bỏ ra và tìm quy luật giải mã. Sau khi bấm tôi có 3 sóng mã:
Sau khi phân tích ta thấy:
Kết luận: Phần khác nhau có tất cả 16 gợn sóng => 16 bit, ta quy ước đỉnh nhọn là 0, đỉnh bằng là 1 và T ~= 600 us
Giải mã trên 8051
Tạo timer cho nó tự ngắt sau 100us sau 7 lần ta có 700us
void timer1 (void) interrupt 3 { tick++; }
Do chân data của mắt hồng ngoại ta mắc vào chân P3.2 ngắt ngoài nên khi có tín hiệu âm trên nó sẽ xảy ra ngắt đây là lúc ta giải mã.
void NgatNgoai(void) interrupt 0 { char IR[16]; // biến chứa bit remote int i=0; char x=0; P1_0=1; // xén phần mã remote giống nhau while(P3_2==0) { } while(P3_2==1) { } while(1) { if(P3_2==0) { while(P3_2 ==0) {;} i++; } if(i==17) break; } // đọc phần mã khác nhau 16 bit while(x<16) { if(P3_2==1) { tick=0; while(tick<7) { ; } // chờ 700 us if(P3_2==1) // nếu sau 700us mà tín hiệu còn thì nó là bit 1 (đỉnh bằng) { IR[x]=1; while(P3_2==1) { ; } } else // ngược lại là đỉnh nhọn { IR[x]=0; } x++; } else { while(P3_2==0) { ; } } } Delay(100); // delay 100ms cho kết thúc phần tín hiệu còn lại nếu không khi thoát hàm ngắt nó sẽ xảy ra ngắt tiếp }
Changelog:
Tăng độ nhạy và chính xác lệnh khi vuốt màn hình.
Fix lỗi shortcut.
Màn hình Khoá tự động kéo xuốg nếu người dùg khoá bằng gạt nút bên hog sau thời jan ( kái này pm tự tính nhưng thời jan dưới 1 phút )
Thêm code để đè màn hình khoá c6 ( kái này chưa test vì ko xài fw c6)
Panel device info đẹp hơn.
Link dowload bản fix: Download