【雕爷学编程】Arduino动手做(62)---1排4键薄膜开关模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
实验六十二: 1排4键薄膜开关 Arduino扩展键盘模块(控制面板)
薄膜开关
又称轻触式键盘,采用平面多层组合而成的整体密封结构,是将按键开关、面板、标记、符号显示及衬板密封在一起的集光、机、电一体化的一种新型电子元器件,是电子产品外观结构根本性的变革,它可取代常规分立元件的按键,更可靠地执行操作系统的任务。薄膜开关具有良好的防水、防尘、防油、防有害气体侵蚀、性能稳定可靠、重量轻、体积小、寿命长、装联方便,面板可洗涤而字符不受损伤,色彩丰富,美观大方等优点。使用薄膜开关令您的产品更具时代特色。薄膜开关主要类型薄膜开关面板是一种由刚性或柔性印制电路板为基体,安装上有手感或无手感按键,再覆以印刷有彩色装饰性图案的塑料(聚碳酸酯PC、聚酯PET等)薄膜面板构成的、集开关功能和装饰性功能为一体的电子部件,是一种新型的人机对话界面。其开关电路与整机的连接方式可采用焊接或插接的方式来完成。
柔性薄膜开关
柔性薄膜开关是薄膜开关的典型形式。这类薄膜开关之所以称为柔性,是因为该薄膜开关的面膜层、隔离层、电路层全部由各种不同性质的柔性薄膜所组成。柔性薄膜开关的电路层,均采用电器性能良好的聚酯薄膜(PET)作为开关电路图形的载体,此层也分装手感弹片、上下电路。由于聚酯薄膜所具有性质的影响,使得该薄膜开关具有良好的绝缘性、耐热性、抗折性和较高的回弹性。开关电路的图形,包括开关的联机及其引出线均采用低电阻,低温条件下固化的导电性涂料印刷而成。因此,整个薄膜开关的组成,具有一定的柔软性,不仅适合于平面体上使用,还能与曲面体配合。柔性薄膜开关引出线与开关体的本身是一体的,在制作群体开关的联机时,将其汇集于薄膜的某一处,并按设计指定的位置和标准的线距向外延伸,作为柔软的、可任意弯曲的、密封的引出导线与整机的后置电路相连。
薄膜开关如图所示,它由引出线、上部电极电路、下部电极电路、中间隔离层及面板层等构成。该种开关具有密封性好、重量轻、体积小,采用低电压、低电流且能防水、防尘,寿命长等优点,多用于办公设备、家用电器等电子产品中。薄膜开关的背面有强力压敏胶层,将防粘纸撕掉后,便可贴在仪器的面板上,且开关的引出线为薄膜导电带,并配以专用插座连接。此种结构为使用带来了很大的方便,故得到了广泛的使用。
面板层
面板层一般在低于0.25MM的PET、PC等无色透光片材丝印上精美图案和文字制作而成,因面板层最主要的作用在于起标识和按键作用,所以选用材料必须具有高透明度、高油墨附着力、高弹性、高韧性等特点。
面胶层
面胶最主要的作用是将面板层与电路层紧密相连,以达到密封和连接的效果,此层一般要求厚度在0.05---0.15MM之间,具有高强的粘性和防老化性;在生产中,一般选用专用的薄膜开关双面胶,有些薄膜开关要求能防水防高温,因此面胶也必须根据需要而使用不同性质的材料。
控制电路上层和下层
此层均采用性能良好的聚酯薄膜(PET)作为开关电路图形的载体并在其上用特殊的工艺丝印上导电银浆和导电碳浆,使其具有导电性能,其厚度一般在0.05--0.175MM以内,最常见的是用0.125MM PET。
夹胶层
它是处于上电路与下电路层之间并起密封和连接的作用,一般采用PET双面胶,其厚度有0.05--0.2MM不等; 在选择此层材质的时候应充分考虑产品的整体厚度,绝缘性,电路按键包手感和密封性。
背面胶层
背胶的采用与薄膜开关与何种材质相粘贴紧密相关,比较常采用的有普通双面胶、3M胶、防水胶等。
凸起薄膜
通常,薄膜开关上的按键只是用色彩来表达键体的位置、形状和大小。这样,只能凭操作者的视觉来识别操作的准确性,由于没有适当的反馈信息,因而影响了对机子监控的自信和操作的速度。所以在面板的设计阶段就要作好安排,备有工艺孔,以便在模具压制时有精确的定位, 其立体凸起的高度一般不宜超过基材厚度的两倍。为美观产品的外观,凸起薄膜开关的凸起可有多种变化制作。
1排4键薄膜开关 Arduino扩展键盘模块(控制面板)
实验开源代码
/* 【Arduino】168种传感器模块系列实验(62) 实验六十二:1排4键薄膜开关 Arduino扩展键盘模块(控制面板) */ #include <Keypad.h> const byte ROWS = 1; //矩阵键盘行数 const byte COLS = 4; //矩阵键盘列数 //按键定义 char hexaKeys[ROWS][COLS] = { {'1','2','3','4'}, }; byte rowPins[ROWS] = {6}; //行的针脚连接的接口 byte colPins[COLS] = {5,4,3,2}; //列的针脚连接的接口 Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
实验串口输出
实验仿真编程(linkboy3.6)