tthhr吧 关注:275贴子:4,222
  • 13回复贴,共1

开始耍单片机

取消只看楼主收藏回复

一开始买了51单片机,为什么买它?就像编程里面的c语言一样。。。。。总感觉必须要学的


IP属地:江苏来自Android客户端1楼2015-11-06 19:25回复
    学到中断的地方就有点听不懂了-_-||,,,,,然后越来越复杂,,,就没学了


    IP属地:江苏来自Android客户端2楼2015-11-06 19:26
    回复
      然后开始学arduino单片机


      IP属地:江苏来自Android客户端3楼2015-11-06 19:26
      回复
        这个就像java一样,方便了很多,不用管的太底层


        IP属地:江苏来自Android客户端4楼2015-11-06 19:27
        回复
          这是51单片机,继承了很多小器件,凤鸣器,显示屏,按键等等,不过有点贵


          IP属地:江苏来自Android客户端5楼2015-11-06 19:28
          回复
            这是arduino单片机,,,,只有一块板子,连小灯都要自己买


            IP属地:江苏来自Android客户端6楼2015-11-06 19:30
            收起回复
              一点笔记


              IP属地:江苏来自Android客户端7楼2015-11-06 19:31
              回复
                这是3*3*3的光立方


                IP属地:江苏来自Android客户端11楼2015-11-19 23:01
                回复
                  测距仪。。。反正能用,没有图片


                  IP属地:江苏来自Android客户端12楼2015-11-19 23:02
                  回复
                    今天耍了耍红外人体感应开关
                    人体红外感应开关的主要器件为人体热释电红外传感器。人体都有恒定的体温,一般在37度,所以会发出特定波长10μm左右的红外线,被动式红外探头就是探测人体发射的10μm左右的红外线而进行工作的。人体发射的10μm左右的红外线通过菲涅尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能触发开关动作。人不离开感应范围,开关将持续接通;人离开后或在感应区域内长时间无动作,开关将自动延时关闭负载。


                    IP属地:江苏来自Android客户端14楼2015-11-26 19:16
                    收起回复
                      今天电烙铁到了。。。。。技术不行,焊的好难看


                      IP属地:江苏来自Android客户端15楼2015-12-01 16:04
                      回复


                        IP属地:江苏来自Android客户端16楼2015-12-01 16:04
                        收起回复
                          社团期末测试,做一个交通灯


                          IP属地:江苏来自Android客户端18楼2015-12-03 10:12
                          回复
                            /**************************************
                            **项目名:交通红绿灯**
                            **作者:TTHHR**
                            **日期:2015、12、03**
                            **************************************/
                            int R=9,Y=10,G=11,ledBar=100,tempBar;
                            /*R代表红灯引脚口,Y,G同意。ledBar是灯的亮度,
                            tempBar是记录单片机开始运行时的R1的值。*/
                            unsigned long times=0,ended=0;//times是计数程序循环了多少次,ended是用来计录时间的变量
                            boolean runningg=true;//记录红绿灯是否在运行
                            char msg[2];//保存电脑端发来的数据
                            void setup() {
                            for (int i=9;i<12;i++)
                            pinMode(i,OUTPUT);//用循环来初始化引脚口
                            for (int i=9;i<12;i++)//第一个要求,每个灯各亮一秒
                            {
                            digitalWrite(i,HIGH);
                            delay(1000);
                            digitalWrite(i,LOW);
                            }
                            Serial.begin(9600);//设置波特率
                            tempBar=analogRead(A5);//是记录单片机开始运行时的R1的值
                            }
                            void loop() {
                            if(Serial.available())//判断电脑有没有发送数据过来
                            {
                            msg[0]=Serial.read();//先把'#'读取了,虽然没什么用
                            msg[1]=Serial.read();//再读取第二个字符
                            switch(msg[1])//对字符进行判断
                            {
                            case'S':runningg=true;break;//如果是'S',runningg的值改为true
                            case'T':runningg=false;break;//.........
                            case'P':outInfo();break;//输出信息
                            default:Serial.print("bad code!!!!!");
                            }
                            }
                            if (runningg)//如果红绿灯在运行
                            {
                            ledBar=ledBar+(analogRead(A5)-tempBar)*10;//led的亮度在原来基础上进行改变
                            if (ledBar>255)//防止led的亮度太大
                            ledBar=255;
                            else if (ledBar<1)//防止led的亮度太small
                            ledBar=0;
                            unsigned long started=millis();//得到系统运行时间
                            rgyPlay();//进行红绿灯程序
                            ended=millis()-started;//再次得到系统运行的时间,减去上次得到的时间,就是rgyPlay()的运行时间
                            times++;// 程序循环的次数+1
                            }
                            else//如果红绿灯不在运行,就暂停500毫秒
                            delay(500);
                            }
                            void rgyPlay()
                            {
                            analogWrite(R,ledBar);//红灯点亮
                            delay(2000);
                            digitalWrite(R,LOW);//红灯熄灭
                            analogWrite(G,ledBar);
                            delay(1000);
                            digitalWrite(G,LOW);
                            analogWrite(Y,ledBar);
                            delay(100);
                            digitalWrite(Y,LOW);
                            }
                            void outInfo()
                            {
                            Serial.print("time of green led on:");//绿灯亮的时长
                            Serial.print(times*1);
                            Serial.println("s");
                            Serial.print("times of yello led on to off :");//黄灯闪烁的次数
                            Serial.println(times);
                            Serial.print("every time of yello led on:");//黄灯每次闪烁的时长
                            Serial.print(100);
                            Serial.println("ms");
                            Serial.print("time of red led on:");//红灯亮的时长
                            Serial.print(times*2);
                            Serial.println("s");
                            Serial.print("the bar of red led:");//红灯亮的亮度
                            Serial.println(ledBar);
                            Serial.print("every time of loop:");//每次循环的时长
                            Serial.print(ended);
                            Serial.println("ms");
                            Serial.println("--------------------------------------------------------");
                            }


                            IP属地:江苏20楼2015-12-03 13:06
                            回复