专栏名称: CQ现代通信
中国火腿自己的杂志
目录
相关文章推荐
ZOL中关村在线  ·  联想、华为、小米获选年度趋势掌舵手 ... ·  20 小时前  
ZOL中关村在线  ·  现在的手机Type-C真的统一了吗? ·  20 小时前  
EETOP  ·  英特尔的创新是如何消亡的? ·  3 天前  
哎咆科技  ·  iPhone 壁纸 | 美少女战士高清壁纸 ·  3 天前  
51好读  ›  专栏  ›  CQ现代通信

做触摸电键,学习单片机知识!

CQ现代通信  · 公众号  · 硬件  · 2017-02-19 16:55

正文

CW爱好者对于电键的追求是永恒的,不光是生产出来的标准产品,他们还会动手制作一些适合自己的电键。触摸键就是在这个过程中发展出来的一个产物。


触摸键利用触摸检测的方法,实现一种减少键体机械结构的电键。现在自制触摸键的一种方法是使用成品的触摸控制器,其电路非常简单。有没有什么更加“折腾”一点的方法呢?今天这种方法就是为了那些想要对单片机的知识有进一步了解的朋友们所介绍的,利用单片机作为主控来实现一个触摸键。

ATTiny4有多小?

首先,这个设计选用了ATTiny4这个非常小的单片机作为主控,但是这并不重要,你手头有什么样的单片机都可以拿来用。我们主要测试的就是手指触碰按键区域前和后,单片机引脚对按键区域的充能时间长短变化。手指触碰到按键区域后,充电放缓。这时候被单片机检测到之后,就可以判定为发生了一次点击。

触摸前后,单片机对铜板的充放电波形

电路非常简单,两个IO口连接到大范围的覆铜上作为按键区域,另两个IO口则连接到MOS管上作为开关使用,开关控制的是电键接头对地的导通,以控制电台。电路图如下图所示:

程序上来看,唯一的一个函数是用来对触控IO口进行操作以获得触控时间的。当函数返回有触控事件发生的时候,则控制将电键相应线路拉至地。从而使电台动作。程序并不复杂,有兴趣的朋友可以仔细阅读并将其移植至其他的单片机。环境是 Atmel Studio 7。试着将其移植到51单片机上吧!

#include


// Define port configuration

#define dit_out PINB2

#define dah_out PINB3

#define dit_in PINB0

#define dah_in PINB1


// Charge time per pin

uint8_t CT(uint8_t pin)

{

    uint8_t mask = (1

    uint8_t i;

    DDRB &= ~mask; // Set pin as input

    PORTB |= mask; // Set pin to high

    PUEB |= mask; // Enable Pull up resistor 


    // See how long it takes to toggle from 0 to 1

    for (i = 0; i

     if (PINB & mask) break;

    }

    PORTB &= ~mask; // Set pin to low

    DDRB |= mask; // Set pin as output


    return i; // Return how long it took

}


int main(void)

{

 // Set AVR speed to 8Mhz

 CCP = 0xD8;            // 0xD8 = 8 Mhz

 CLKPSR = 0x00;             // Sets the clock div factor to 0


 // Set output

 DDRB |= (1

 DDRB |= (1

 

 // Loop to check if a side of the paddle is being touch

 while(1)

 {

  if (CT(dit_in) > 4)        // Check for touch  

    PORTB |= (1

  else 

    PORTB &= ~(1


  if (CT(dah_in) > 4)        // Check for touch

    PORTB |= (1

  else 

    PORTB &= ~(1

 }

转载请注明出处:《现代通信》杂志公众号【CQ现代通信】

现代通信,中国火腿自己的杂志



点击我订阅现代通信 2017年全年杂志

↑ 来吧,做出你的选择!↓

点击我购买现代通信 2016年4~6期 下半年杂志


今年我们包快递!不会寄失!

及时获得最新最全、好玩实用的业余无线电资讯!


留言会友台点赞留余香