Nghĩ ra cách này để nhận biết trạng thái của công tắc , mọi người cho ý kiến xem!
Thông báo
Collapse
No announcement yet.
Một số kiểu thiết kế tiết kiệm chân Vi điều khiển!
Collapse
X
-
Nguyên văn bởi BinhAnh Xem bài viếtĐối với một số MCU có ADC, bạn có thể dùng kiểu quét phím = analog.
Mỗi khi ấn phím, sẽ tạo các điện áp khác nhau đặt vào chân ADC. Nên cho dòng đủ lớn qua hệ này để giảm nhiễu: do sờ tay, do ẩm ướt. Nếu thiết kế nhiều nút ấn = kiểu này, các bác phải tính đến các yếu tố:
+Độ phân giải của ADC, sai số.
+Sai số của D,R.
+ĐỘ trôi nhiệt không đồng đều của D,R
+Môi trường.
Song với các ứng dụng thông thường, thì cách này hoàn toàn khả thi.
Sau đây là một kiểu bắt phím bằng sử dụng ADC và điện trở. Ví dụ này có phổ biến trên các Appnote của Microchip(PIC),Cypress(PSoC)...
bạn nào làm được rùi có thể port thuật toán và code lên cho anh em tham khảo nhé!
mình gửi cả sơ đồ mạch nên nè
thank you!Last edited by kiemkhach10; 01-06-2010, 08:16.
Comment
-
Nguyên văn bởi ssgabeo Xem bài viếtNghĩ ra cách này để nhận biết trạng thái của công tắc , mọi người cho ý kiến xem!
bạn có thể chia sẻ cho mình được ko?
có giải thuật và code thì càng tốt.
mình đang muốn làm nhiều nút bấm mà chỉ muốn dùng 1 pin của VDK
cám ơn bạn!
Comment
-
Nguyên văn bởi kiemkhach10 Xem bài viếthi! mình cũng đang tìm tại liệu về cái này?
bạn có thể chia sẻ cho mình được ko?
có giải thuật và code thì càng tốt.
mình đang muốn làm nhiều nút bấm mà chỉ muốn dùng 1 pin của VDK
cám ơn bạn!
Comment
-
Nguyên văn bởi ssgabeo Xem bài viếtCái này cũng làm được, nhưng thuật toán chống nhiễu sẽ hơi loằng ngoằng. Mình chưa cần dùng nên chưa viết code . Nhiều khi việc thúc vào đít thì mới làm
cám ơn nhiều!
Comment
-
Có gì đâu mà gọi là thuật toán ghê vậy. Đây là một cầu phân áp ngay tại ngõ đọc ADC. Ứng với mỗi nút nhất thì áp tại mỗi chân là khác nhau, ADC sẽ khác nhau -> từ đó biết nút nhấn nào được nhấn. Thuật toán chống nhiễu thì nên dùng Smitch Trigger phần mềm. Chỉ có điều việc tính toán khi có nhiều nút nhấn được nhấn đồng thời thì hơi mệt à.The goal of power electronics is control the flow of energy from an electrical source to an electrical load with high efficiency, high availability, high reliability, light weight and low cost.
Comment
-
Đó đó , khó ở cái có nhiều cái được đóng , ý mình ở đây ko phải là nút bấm mà là công tắc, dùng để đặt chế độ chạy của mạch chẳng hạn. Mỗi cái đóng vào đều có sai số nữa, xử lí phức tạp thế , gọi là thuật toán đc quá chứ lại . Bạn nào bảo dễ , xin mời thử sức ..........
Comment
-
Nguyên văn bởi ssgabeo Xem bài viếtĐó đó , khó ở cái có nhiều cái được đóng , ý mình ở đây ko phải là nút bấm mà là công tắc, dùng để đặt chế độ chạy của mạch chẳng hạn. Mỗi cái đóng vào đều có sai số nữa, xử lí phức tạp thế , gọi là thuật toán đc quá chứ lại . Bạn nào bảo dễ , xin mời thử sức ..........
Comment
-
bữa nay mới phát hiện ra cái Topic thú vị này nhưng...không hiểu sao mình đăng nhập rùi mà vẫn không nhìn thấy hình đính kèm của anh BinhAnh nhỉ? chắc có lẽ do bài viết lâu quá và diễn đàn trải qua mấy lần 'chỉnh đốn' nên mất rùi thì phải...tiếc
Comment
-
Nguyên văn bởi BinhAnh Xem bài viếtCó thể bạn chưa biết! Một số kiểu thiết kế tiết kiệm chân MCU!
Bàn phím là 1 chức năng không thể thiếu trong việc thiết kế mạch. Một số mạch,nếu dùng hết chân vào/ra của MCU mà vẫn ko đủ cho ứng dụng của mình. Vậy làm sao? kiếm 1 con MCU nhiều cổng I/O hay ghép nhiều con.. hay vô vàn cách khác. Tuy nhiên trước khi tìm đến giải pháp đó, bạn nán lại ít phút. Có thể giải pháp của tôi đưa ra có thể giúp ích được cho bạn trong một số trường hợp. Các mạch này tôi đã từng làm và chạy khá tốt.
Tiết kiệm chân nếu mạch quét Led7T+bắt phím.
Mạch 1: Led7T và 4 phím ấn. Chỉ mất: 8 chân data, 4 chân điều khiển,1 chân đọc phím. Tổng mất:8+4+1=13 chân.
Làm như trên mạch của bạn sẽ có tính năng: Dữ liệu mềm dẻo, tiết kiệm IC giãi mã 7T kiểu-Bạn hoàn toàn có thể hiển thị:0-9, ngoài ra bạn có thể hiển thị lên đó một số chữ như:A,B,C,..G,g,n,U,u... trên cái mặt LED cỏn con đó.
Vậy lợi ích đã rõ: bạn tiết kiệm được IC giải mã, mềm dẻo hơn trong hiển thị, có thể bắt 4 phím, tất nhiên có thể phát triển thành 8, 16, thậm chí hơn nữa, mà không tốn thêm 1 chân nào dành cho việc quét phím(lần sau).
Việc bắt phím vô cùng đơn giản. Giả sử bạn quét đến LED thứ i(i=1->4), bạn đọc trạng thái chân Keyboard.
if(Keyboard)
{
//Phím thứ i được ấn
//Bạn có thể dùng thêm mã lệnh để chống rung
}
Sau đây là hình ảnh gửi kèm(các thành viên đăng nhập mới thấy được hình ảnh và file gửi kèm)
mình đã làm thử thấy các phím nhảy loạn xạ
cám ơn!
Comment
-
Nguyên văn bởi GA_CN Xem bài viếtCái này chả có gì mới và khó làm cả, cụ thể là trong mấy cái ampli, đầu đĩa... cũ cũ dùng nhiều rồi. Trước đây mình có mở cái của Denon ra, cái board nút bấm có 4 nút, cầu điện trở cho mỗi nút, một nút hay nhiều nút nhấn vào nó đều xác định được. Phức tạp là bạn phải tính toán giá trị sao cho phù hợp để nó nhận đúng nút nhấn.
Comment
-
Nguyên văn bởi kiemkhach10 Xem bài viếtxin hỏi cách chống trôi phím ở phương pháp này là như thế nào?
mình đã làm thử thấy các phím nhảy loạn xạ
cám ơn!
Comment
-
Nguyên văn bởi ssgabeo Xem bài viếtchống trôi , cứ delay dài thêm là được
có bạn nào biết thuật toán và phuơng pháp quét phím như bài mình port lên của bac BINH ANH ko?có thể chia sẻ cùng mọi người ko?
cám ơn nhiều!
Comment
-
Nguyên văn bởi kiemkhach10 Xem bài viếtnếu delay dài thì lại ko quét được LED và bấm nhiều phím bất kỳ thì lại ko nhạy.
có bạn nào biết thuật toán và phuơng pháp quét phím như bài mình port lên của bac BINH ANH ko?có thể chia sẻ cùng mọi người ko?
cám ơn nhiều!
Comment
-
Nguyên văn bởi ssgabeo Xem bài viếtQuét cậu giảm trở phía Data bus đi , chu kì sáng ngắn nhưng độ sáng mạnh thì vẫn mịn như thường, nếu không được nên ngồi xem lại code, có lỗi đâu đó
theo gợi ý của bác BINH ANH thì mình đã bắt được phím.nhưng khi bấm 1 cái thì nó nhảy lên mấy số ý
cái này thì do bị trôi phím rùi,
mình muốn hỏi cách chống trôi phím ,hoặc có cách viêt code như thế nào để khi bấm 1 lần thì sẽ nhảy lên 1 số.
cám ơn bạn nhiều!
Comment
Bài viết mới nhất
Collapse
-
bởi ww88vipWW88, một trong những đơn vị tiên phong trong lĩnh vực cá cược trực tuyến, tự hào mang đến cho người chơi những trải nghiệm giải trí đỉnh cao với hệ sinh thái sản phẩm đa dạng. Từ cá cược thể thao đầy kịch tính đến casino trực...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 12:46 -
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
hôm nay, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment