亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

4x3 键盘只有三个引脚

组件和用品

电阻 330 ohm
× 1
电阻 1k ohm
× 3
电阻 3k ohm
× 1
4x3 矩阵 12 键阵列开关键盘
× 1
Arduino UNO
× 1

必要的工具和机器

烙铁(通用)

应用和在线服务

Arduino IDE

关于这个项目

简介

该项目的目的是显着减少数字键盘所需的引脚数量。这是因为与 Arduino Uno 或 Nanoboards 上可用的引脚相比,我们通常需要许多 I/O 引脚。

普通数字键盘采用矩阵结构:一个 4x3 键盘,需要 4+3 个 Arduino 数字引脚。网上有许多库可以与 Arduino 一起使用。

我的解决方案

我提出的解决方案要好得多,因为它只使用三个模拟输入,电路如下图所示。

对于每一列,只有 4 个电压值,对应于 4 个键中的每一个,如果没有按下任何键,则加上零伏。在等效方案(b)中,R1e表示四个电阻R1-R4之一,而R2e表示三个电阻R5-R7之一。

现在让我们看看如何制作四个最宽的间隔。首先可以使电阻R2e =R5 =R6 =R7相等,然后我们可以设置R1 =0以使第一条线对应的输出为5V。

R2=330 ohm, R3=1 k ohm, R4=3 k ohm, R5, R6, R7=1 k ohm, 每个输出得到如下区间:

如您所见,三个输出的间隔尽可能大,您可以使用六个标准电阻,公差为 ±5%。通过额外的模拟输入和另一个电阻,可以使用 4x4 键盘等等。下图显示了与Arduino的连接。

在图中,电阻器 R1 连接到线路 2,因为线路 1 上的电阻器已用电线绘制它,因此电阻器参考已按 1 缩放。管脚分配可以根据需要修改,只要管脚配置为模拟即可。

当然,如果 Arduino 以 3.3V 供电,则不会发生任何变化,因为默认情况下 ADC 转换器使用电源电压并且 ADC 数量不会改变。

为了测试程序,没有这种类型的键盘,我用回收的键构建了它,下图显示了我的原型。 5 针右侧连接器用于将其连接到 Arduino。

代码

  • Analog4x3Keybf.ino
Analog4x3Keybf.inoArduino
测试 KeyPad() 函数的简单程序
/* 程序 Analog4x3Keybf * 测试具有 3 个模拟输出的 4x3 键键盘 * G. Carrera - 19/11/2018 */// 键盘输出值的限制:const int NADCm100[4 ] ={923,669,412,156};const int NADCp100[4] ={1123,869,612,356};const char key[13] ={'1','4','7','C','2','5' ,'8','0','3','6','9','E'};int keyval[3];int i,colp,val;void setup(){ Serial.begin(9600); // 与串行监视器一起使用}void loop() { char k; k =KeyPad();// 读取键盘 if (k !='N'){ // 按下了一个键 Serial.print("key ="); Serial.println(k);延迟(500); }}/******** 程序使用的函数 ********/char KeyPad(){// 读取键盘并返回字符键// key ='N' for none KeyScan();// 读取模拟键盘 if (keyval[0]+keyval[1]+keyval[2] <40) { return 'N'; } else { // 一个键被按下 delay(10);// antibounce KeyScan();// reread模拟键盘 for (i=0; i <3; i++){//确定它属于哪一列 if (keyval [i]> 40){ colp=i; val=keyval[i];// 这是 (int j=0; j <4; j++) 的对应值{// if (val>=NADCm100[j] &&keyval <=NADCp100[j]){ 返回键[colp*4+j];休息; } } } } }}void KeyScan(){// 读取模拟键盘 keyval[0]=analogRead(A0);延迟(1); keyval[1]=analogRead(A1);延迟(1); keyval[2]=analogRead(A2);延迟(1); }

示意图


制造工艺

  1. 适用于 WS2812 RGB LED 阵列动画的 Excel
  2. 干渴警报植物警报
  3. 意大利字时钟
  4. Sigfox kWh Meter
  5. 蓝牙温度监视器
  6. 手势控制锁
  7. 伴侣 IC
  8. USB MIDI 适配器
  9. Arduino 的隔离模拟输入
  10. RGB 32-Band Audio Spectrum Visualizer
  11. Arduino TV 输出电缆
  12. 测量你的反应时间