Design your panelYou can draw it by hand, or with your favorite drawing tool and print it on some heavy card-stock. | |
Cut the touch-padsCut pads from copper tape. About 1/2" square is a good size for buttons on a touch-pad. | |
Attach the touch-padsPeel the release paper from the back of the copper tape and stick the touch-pads to be back of the panel so that they align with the buttons on the front. | |
Attach the WiresSolder wires to the copper touch-pads. For this example, I used a 6-conductor 0.1" socket cable with one end cut off to simplify connections to the breakout. | |
Adjust the WiresBend the wires away from the panel. The wires will be touch-sensitive too. To prevent accidental false touches, we want to keep them away from the panel surface. | |
Install the PanelTape the panel to the inside of the polycarbonate cover using clear packing tape. | |
Mạch có thể được giao tiếp với bất kỳ vi điều khiển thông qua các tiêu đề J1 3-pin. Đề nghị VCC được quy định 5V, và đầu ra có sẵn (OUT) là hoạt động cao (H) trong trường hợp của một ngón tay chạm vào touch pad (TP). LED 1 (màu xanh) là công suất (PWR) chỉ số, và đèn LED 2 (màu đỏ) là một chỉ số tùy chọn trạng thái đầu ra (OUT). Chỉ cần nối JP1 nhảy hàn để cho phép các chỉ báo tình trạng đầu ra, nếu cần thiết.
Nguyên mẫu được xây dựng trên một bảng mạch nói chung mục đích sử dụng các thành phần truyền thống với TTP223 gắn trên một PCB SMD adapter (
để nhúng bộ chuyển đổi) đã được thử nghiệm thành công bằng cách sử dụng (10mm x10mm) miếng đồng nhỏ như touch pad. Nếu bạn đang sử dụng phương pháp này, hãy cố gắng giữ cho chiều dài của dây nối từ touch pad để pin 1 của TTP223 càng ngắn càng tốt.
Trong một số mô-đun, một điện trở 1K được chèn vào giữa các pad cảm ứng và pin 3 của TTP223, nhưng cùng không được thử nghiệm vào lúc này. Lưu ý rằng tổng tải của kích thước touch pad và điện dung của kết nối đường dây trên bảng mạch có thể ảnh hưởng đến sự nhạy cảm. Vì vậy, việc điều chỉnh độ nhạy cảm phải theo các ứng dụng thực tế (lớn hơn và / hoặc mỏng hơn touch pad sẽ làm tăng độ nhạy tổng thể).
Arduino:
Lưu ý rằng tôi đã sử dụng một Mega Arduino, nếu bạn đang sử dụng một Uno, kết nối LED với bất kỳ pin nào khác. Tuy nhiên bạn phải làm cho một sự thay đổi nhỏ trong code.
Thực hiện theo các hình ảnh cho các mạch.
Mã này sử dụng thư viện CapSense (tải tại đây )
Mã này là đơn giản và dễ hiểu. Đơn giản chỉ cần sao chép đoạn mã này và dán nó aa Arduino wwindow trống. Thay đổi pin dẫn nếu cần thiết. Sau đó tải lên ...
#include < CapacitiveSensor .h> int dẫn = 42; // thay đổi '42' với bất kỳ pin mong muốn ... dài thời gian = 0;int state = CAO ; boolean yes;boolean trước = false ; int debounce = 200; CapacitiveSensor cs_4_2 = CapacitiveSensor (4,2); // 10M điện trở giữa chân 4 & 2, pin 2 là pin cảm biến, thêm một dây và lá hoặc nếu muốn // Để thêm cảm biến ... // CapacitiveSensor cs_4_6 = CapacitiveSensor (4,6); // 10M điện trở giữa chân 4 & 6, pin 6 là pin cảm biến, thêm một dây và hoặc lá // CapacitiveSensor cs_4_8 = CapacitiveSensor (4,8); // 10M điện trở giữa chân 4 & 8, pin 8 là pin cảm biến, thêm một dây và lá hoặc khoảng trống thiết lập () { cs_4_2. set_CS_AutocaL_Millis (0xFFFFFFFF); // Hiệu chỉnh cảm biến ... pinMode (dẫn, OUTPUT ); } Trống loop () { dài total1 = cs_4_2. capacitiveSensor (30); nếu (total1> 60) {yes = true ;} khác {yes = false ;} // để chuyển đổi trạng thái của nhà nước nếu (có == true && trước == false && millis () - Thời gian> debounce) { nếu ( nhà nước == LOW ) { state = CAO ; } Khác state = LOW ; thời gian = millis (); } DigitalWrite (dẫn đầu, nhà nước); trước = yes; Nối tiếp . println ( millis () -time); chậm trễ (10); }
Để kiểm soát các thiết bị điện áp cao, dùng Relay là bắt buộc. Thực hiện theo các hướng dẫn tương tự cho việc thiết lập các rơle như trong các dự án trước đây ...
Vật liệu cần có:
Các mạch là đơn giản, nó chỉ là một biến thể của "Light Touch control". Trong thực tế, điều duy nhất bạn phải thay đổi là một điện trở; thời gian này, bạn phải sử dụng một điện trở ~ 5M trên chân 2 và 4 của Arduino.
Sao chép mã này và dán nó vào cửa sổ Arduino ....
#include int dẫn = 42; // thay đổi '42' với bất kỳ pin mong muốn ... thời gian dài = 0; int state = CAO; boolean yes; boolean trước = false; int debounce = 200; CapacitiveSensor cs_4_2 = CapacitiveSensor (4,2); // 10M điện trở giữa chân 4 & 2, pin 2 là pin cảm biến, thêm một dây và lá hoặc nếu muốn // Để thêm cảm biến ... // CapacitiveSensor cs_4_6 = CapacitiveSensor (4,6); // 10M điện trở giữa chân 4 & 6, pin 6 là pin cảm biến, thêm một dây và hoặc lá // CapacitiveSensor cs_4_8 = CapacitiveSensor (4,8); // 10M điện trở giữa chân 4 & 8, pin 8 là pin cảm biến, thêm một dây và lá hoặc khoảng trống cài đặt () { cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // Hiệu chỉnh cảm biến ... pinMode (dẫn, OUTPUT); } Trống vòng () { total1 dài = cs_4_2.capacitiveSensor (30); if (total1> 60) {yes = true;} else {yes = false;} // để chuyển đổi trạng thái của nhà nước nếu (có == true && trước == false && millis () - Thời gian> debounce) { if ( nhà nước == LOW) { state = CAO; } Khác state = LOW; thời gian = millis (); } DigitalWrite (dẫn đầu, nhà nước); trước = yes; nối .println (millis () - thời gian); sự chậm trễ (10);
}
điều khiển 3D này sẽ theo dõi vị trí của bàn tay của bạn trong 3 chiều. Video: https://vimeo.com/1383359
Vật liệu cần có:
cần ba phần riêng biệt của lá, với kích thước khoảng 8 * 8 inch. Một mảnh lá bị mắc kẹt trên một Styrofoam (thermocol) cơ sở dày. Khe hở được thực hiện trên xốp trên 2 mặt giáp của lá nhôm.
Kết nối dây tới từng bộ cảm biến liên lạc với băng cách điện. Sau đó lắp ráp các mạch trên breadboard.
Đo đạc các cảm biến cảm ứng ..
Sau khi tải lên các mã, mở Serial Monitor, với Arduino vẫn còn kết nối. Bạn sẽ thấy nhiều dòng giá trị lăn trong, với mỗi dòng có 3 giá trị đại diện cho mỗi cảm biến cảm ứng. Chạm vào bất kỳ một bộ cảm biến cảm ứng (bạn phải biết cái nào bạn cảm động), và thấy được giá trị tương ứng của nó trên màn hình nối tiếp.
Bạn sẽ thấy dòng này trong mã trước hàm setup () {
int maxval = 20;
Thay đổi từ 20 đến giá trị mà bạn có sau khi chạm vào một trong các cảm biến.
Sau đó tải lên các mã một lần nữa. Di chuyển bàn tay của bạn bên trong bộ điều khiển 3D sẽ sản xuất một loạt các màu sắc.
Lưu ý quan trọng: Các mã dưới đây chỉ hoạt động cho Arduino Uno (và có thể cả Leonardo).
Tóm tắt: Upload mã, điều chỉnh biến "maxval" và tải lên Kit. Sử dụng một Arduino Uno hoặc giống vậy.Video tổng hợp: https://youtu.be/stejKa03tdw
4 con transistor a1015
Rơ le 5 chân - 5volt hoặc 12 volt
Diot 4148 cần 3 hoặc 4 con
This library provides functions for touch-button sensing on ATtiny microcontrollers with integrated ADC. It implements a charge sharing approach similar to Atmels Qtouch ADC that does not require additonal external components. The library performs automatic bias adjustment to the touch button capacitance and should therefore be immune to drift.
You can find an example app here.
Device | Support | No Support | Comment |
---|---|---|---|
ATtiny 4/9 | X | No ADC | |
ATtiny 5/10 | X | ||
ATtiny 13A | X | ||
ATtiny 25/45/85 | X | ||
ATtiny 24/44/84 | X | may be supported later | |
ATtiny 261/461/861 | X | may be supported later |
void tinytouch_init(void);
Call this once to initialize the library functions and the ADC converter.
uint8_t tinytouch_sense(void);Possible return values are: tt_off=0 No touch sensed tt_on Touch button is active and touch is sensed. tt_push Touch button is pushed. Use this to initiate one time events. tt_release Touch button is released. Use this to initiate one time events. tt_timeout Touch button has been active too long and internal bias was reset.
This function performs touch pad sensing and internal housekeeping. It should be called at least 30 times per second. Please note that each call performs 32 analog to digital conversions with active waiting. This may take several ms.
////////////////////////////////////////////////////////////////////////////// User definable settings////////////////////////////////////////////////////////////////////////////// Define upper and lower threshold for the touch sensing. You may have to// change these depending on the geometry of your touch button.// Setting the "on" value lower will make the touch button more sensitive.// Setting the "off" value higher will make the touch button less likely// to be "stuck". Too high values can lead to oscillations.#define touch_threshold_on 60#define touch_threshold_off 20// If the touch button is pressed, the bias value is not updated// to prevent detection of multiple touches. In some cases this may// lead to a "stuck button" situation. Therefore an update of the bias// is forced after a certain time unless this function is deactivated.//// The value of timeout corresponds to the number of calls to tinytouch_sense().// The maximum is 255. // Setting timeout to 0 will turn the functionality off.#define touch_timeout 255//#define touch_timeout 0 // turn off timeout functionality// Define pins to use for the reference input and the touch button// The reference pin is used to charge or discharge the internal// sample&hold capacitor. This pin is used in output mode and should// not be shorted to VCC or GND externally.// The sense pin is connected to the touch-button. To improve noise immunity// a series resistor can be used.// The pin number must match the corresponding analog input number ADCx. // Default port is PORTB. (ATtiny 5/10/13/25/45/85)#define tt_refpin 2 // Use PB2 as reference pin#define tt_refadc 1 // Use ADC1 as reference ADC input#define tt_sensepin 3 // Use PB3 as sense pin#define tt_senseadc 3 // Use ADC3 as sense ADC input
This example implements a touch button on PB3 to toggle a LED connected to PB4.
#include #include #include "tinytouchlib.h"int main(void){ CLKPR=_BV(CLKPCE); CLKPR=0; // set clock prescaler to 1 (attiny 25/45/85/24/44/84/13/13A) DDRB=_BV(PB4); // Enable LED output pin tinytouch_init(); while(1) { if (tinytouch_sense()==tt_push) {PORTB^=_BV(PB4);} // Toggle LED on touch event _delay_ms(10); } }
Đặt vấn đề: Công nghệ robot – môn học giúp làm giàu trí óc trẻ Ngày nay, ở Mỹ và các nước đang phát triển, tương lai của ngành công nghệ chế tạo robot ngày càng hứa hẹn những chuyển biến vượt bậc. Đồng thời, ghi nhận sức mạnh trí tuệ của lớp trẻ ngày nay, các nước không ngừng cải...
Ý kiến bạn đọc