简易手机

2015-05-231.7万
AI 快速预览详细 收起
简易手机是一个STEM教育项目,使用Arduino控制器、4*4薄膜数字键盘、LCD显示屏和GPS模块。该项目实现了打电话、接电话和挂电话的功能。硬件清单包括LCD显示屏、4*4薄膜数字键盘、GPS模块和Arduino控制器。通过将程序下载到Arduino控制器中,用户可以使用4*4薄膜数字键盘拨号,按*键拨打,B键接听,#键挂断电话。这个项目适合青少年科创比赛,能够培养学生的动手能力和技术兴趣。


一、名称:简易手机(此品是我等当年在温州中学所做)二、功能:该简易手机初步实现了打电话、接电话、和挂电话的功能。
三、器材:    LCD显示屏https://www.dfrobot.com.cn/goods-372.html    4*4 薄膜数字键盘https://www.dfrobot.com.cn/goods-431.html
    GPS模块https://www.dfrobot.com.cn/goods-716.html
    Arduino控制器
四、接线:
   LCD显示屏:GND、VCC、A4和A5;
   GPS模块:连接Arduino,其中S1在comm端、S2在Arduino端、Uart Seclect在中间。
   4*4薄膜数字键盘:接在数字口的6~13,其中D在数字口13。
五、程序代码:
  1. #include <Keypad.h>
  2. #include <Wire.h>
  3. #include <String.h>
  4. #include <LiquidCrystal_I2C.h>
  5. LiquidCrystal_I2C lcd(0x27,16,2);
  6. const byte ROWS = 4;
  7. const byte COLS = 4;
  8. char telNumber[81];
  9. int lenth=0;
  10. char callNumber[13];
  11. char ch=0;
  12. int i=0;
  13. int j=0;
  14. char hexaKeys[ROWS][COLS] = {
  15. {'1','2','3','A'},
  16. {'4','5','6','B'},
  17. {'7','8','9','C'},
  18. {'*','0','#','D'}
  19. };
  20. byte rowPins[ROWS] = {6,7,8,9};
  21. byte colPins[COLS] = {10,11,12,13};
  22. //initialize an instance of class NewKeypad
  23. Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS);
  24. //remove buff dada
  25. void clearBuff(void)
  26. {
  27.   for(j=0;j<81;j++)
  28.   {
  29.     telNumber[j]=0x00;
  30.   }
  31.   j=0;
  32. }
  33. void setup(){
  34.      lcd.init();                      // initialize the lcd
  35.      lcd.backlight();
  36.      pinMode(2,OUTPUT);
  37.      pinMode(3,OUTPUT);
  38.      pinMode(4,OUTPUT);
  39.      pinMode(5,OUTPUT);
  40.     //GSM开机时序
  41.     digitalWrite(5,HIGH);
  42.     delay(1500);
  43.     digitalWrite(5,LOW);  
  44.      //使能GSM串口
  45.     digitalWrite(3,LOW);
  46.     digitalWrite(4,HIGH);
  47.        delay(2000);
  48.     //设置波特率
  49.     Serial.begin(9600);
  50.     //等待call ready
  51.     delay(5000);
  52.     delay(5000);
  53.     delay(5000);
  54.     digitalWrite(2,HIGH);
  55.     delay(1000);
  56.    // Serial.println("AT");
  57.   lcd.clear();
  58.   lcd.print("Welcome to:");  
  59.    
  60. }
  61. void  loop()
  62. {
  63.     char key=customKeypad.getKey();
  64.     if(key!=NO_KEY)
  65.       {
  66.           delay(500);
  67.           if(key!='*'&&key!='B')
  68.           {
  69.            telNumber[i++]=key;
  70.            lcd.setCursor(0,3);
  71.            lcd.print("call:");        
  72.            lcd.print(telNumber);
  73.           }
  74.           if(key=='*')//按*打电话
  75.           {
  76.             Serial.print("ATD");
  77.             Serial.print(telNumber);
  78.             Serial.println(";");
  79.             Serial.flush();
  80.             delay(1000);
  81.             clearBuff();
  82.           }
  83.           else if(key=='#')
  84.           {
  85.              Serial.println("ATH\r\n");//按#挂电话
  86.              lcd.setCursor(0,3);
  87.              lcd.print("call:Hang up");   
  88.             delay(100);   
  89.             clearBuff();  
  90.           }
  91.           else if(key=='B')
  92.            {
  93.               Serial.println("ATA\r\n");//按B挂电话
  94.               lcd.setCursor(0,3);
  95.               lcd.print("answer:ringing");  
  96.               Serial.flush();
  97.               clearBuff();
  98.            }
  99.          
  100.       }
  101.    }
复制代码



六、使用方法:
       1.将程序下载到控制器当中;
   2.使用4*4 薄膜数字键盘作为拨号键盘;
   3.打电话:在键盘上按下要拨的电话号码,然后按*键(LCD显示屏会显示拨出去的电话号码),电话即可拨出去;
   4.接电话:按B键接听电话;
   5.挂电话:按#键挂电话。
七、实物图:当时就留下一张,抱歉!
简易手机图1







创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(11)
三春牛-创客
三春牛-创客
如果能做一下外观就更好了!
三春牛-创客
三春牛-创客
创意不错
Amos Young
Amos Young
好创意,要是有个外壳就更好了
花生编程
花生编程
太赞了!!
花生编程
花生编程
好有创意!
JVUm7ppJGaRK
JVUm7ppJGaRK
6啊,膜拜膜拜
20060606
20060606
好创意,要是有个外壳就更好了
hnyzcj
hnyzcj
点赞一个,张璐多弄点功能出来。
丄帝De咗臂
丄帝De咗臂
作者
回复hnyzcj
没器材了
dbc0301
dbc0301
虽然没有多大的实用价值,但还是给你赞一个吧
丄帝De咗臂
丄帝De咗臂
作者
回复dbc0301
感激不尽啊:loveliness:
free
free
挺好的,
qq815076543322
qq815076543322
这个创意不错 以前的东西玩的好嗨,东西齐全就是很绝的
qq815076543322
qq815076543322回复丄帝De咗臂
以后上班就可以买了
丄帝De咗臂
丄帝De咗臂
作者
回复qq815076543322
对啊,大不了直接去DF公司去玩啊,哈哈
共6条回复,已加载2条,点击查看更多共6条回复,已加载全部
- 没有更多了 -