DIY LED台灯

感觉淘宝上的廉价小台灯已经不能满足我了。于是打算买灯带DIY一个

先上淘宝买贴片LED灯带,没有找到高品质的灯珠。索性就先随便买点试试水。入了4米的5050与5630两种封装的贴片灯带(表面滴胶,去除透明胶皮色温不一致,偏黄色,色温不可调)。

tb

实际感觉亮度差并不是很大。可能是我并没有对比的原因。
继续阅读“DIY LED台灯”

The way of CS

看到萧井陌大神的专栏文章,这里发表一下个人看法。

萧大的专栏文章:http://zhuanlan.zhihu.com/p/19959253

入门阶段

萧大的建议是使用python入门(他的原话是启蒙),可以避免同时学习语法,计算机系统,与算法思想的问题。他给出的路线是:

  • • 完成 MIT 6.00.1x麻省理工:计算机科学和 Python 编程导论)。虽然该课程的教学语言为 Python,但作为一门优秀的导论课,它强调学习计算机科学领域里的重要概念和范式,而不仅仅是教你特定的语言。如果你不是科班生,这能让你在自学时开阔眼界;课程内容:计算概念,Python 编程语言,一些简单的数据结构与算法,测试与调试。(这门课我倒是在MOOC上学过了,没时间看视频的话推荐看那本《像计算机科学家一样思考Python》)
  • • 完成 Harvard CS50x哈佛大学:计算机科学)。同样是导论课,但这门课与MIT的导论课互补。教学语言涉及 C, PHP, JavaScript + SQL, HTML + CSS,内容的广度与深度十分合理,还能够了解到最新的一些科技成果,可以很好激发学习计算机的兴趣。(看过一点,目测有点拖沓)
  • 支线任务:阅读《编码
  • • 完成 Python 教程

不过我认为这没有必要,python是一个非常优雅&强力的脚本语言,不过如果以Unix的出现为现代计算机的开端的话,一切都是从命令式语言C开始的。OOP的思想在底层仍旧由堆栈和数据结构实现。所以还是用C最佳。至少对我来说如此。
继续阅读“The way of CS”

初涉入门级Hifi(三)

前几天出去捡了下垃圾。

捕获

捡来的的废弃音箱,用的是线性电源。功放芯片被散热器遮住了,目测是TDA的老型号。本以为有几个电容爆了,没想到上了电直接能用。音质还不错,低频力道足。不过总体来说并不是十分均衡。(这只是一个低频喇叭。并不是全频的,感觉还得继续烧)。

7155dad1-34f3-4216-8e73-470eb288064b
继续阅读“初涉入门级Hifi(三)”

关于我的博客

由于本人缺乏美感而且文笔欠佳,导致博客的排版和页面非常不美观。加上感觉自己写的毫无技术含量所以停更了半年,我会把一些有趣的事情写上去。(今天补充了好多博文>_<)
我只想记录一些对我有意义的事情,现在还有一段象牙塔时代,所以最近我会抽时间看一下前端,美化一下页面顺便换个架构,wordpress实在是太臃肿了。

————————————————分割线——————————————————

突然觉得这界面越看越顺眼了。干净简约。

Floyd最短路算法

核心代码只有5行

#include 
int main()
{
    int e[10][10],k,i,j,n,m,t1,t2,t3;
    int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值
    //读入n和m,n表示顶点个数,m表示边的条数
    scanf("%d %d",&n,&m);
                              
    //初始化
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            if(i==j) e[i][j]=0;
              else e[i][j]=inf;
    //读入边
    for(i=1;i<=m;i++)
    {
        scanf("%d %d %d",&t1,&t2,&t3);
        e[t1][t2]=t3;
    }
                              
    //Floyd-Warshall算法核心语句
    for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if(e[i][j]>e[i][k]+e[k][j] )
                    e[i][j]=e[i][k]+e[k][j];
                              
    //输出最终的结果
    for(i=1;i<=n;i++)
    {
     for(j=1;j<=n;j++)
        {
            printf("%10d",e[i][j]);
        }
        printf("\n");
    }
                              
    return 0;
}

火鸟2年忌

第一个四轴,我叫他火鸟,摔过无数次,修过无数次。曾创下过掉下水1个钟头捞上来只坏了一个数传模块的奇迹。当时在寒冬脱了衣服下水去捞,冻得要死。直到最后失控提控回家。有些事情不该被忘记。

F450机架+云台脚架
好盈乐天电调20A*4
F4006电机(1.4KG/个*4
1047桨(正反各2支)
APM2.6 6mGPS飞控
5200毫安电池3S 35C
B6充电器:
天地飞2.4Ghz7通道遥控器及接收
3dr数传一套

IMG_20141127_144325
继续阅读“火鸟2年忌”

监听飞机塔台ADS-B协议通讯

玩这个时初涉SDR,不过到了现在还是不得其门而入。OsmocomBB,Hackrf模拟GPS等信号……犹如黑箱,能否有效work靠的是天意。也许我的智商只适合去调用API。

言归正传,关于ADS-B协议:

就是每个飞机回主动的报告自己的位置等信息,而不是被动的去探测,这样会增加安全性,作为雷达技术的一种补充

因为这个技术的信号信息等都是公开的,所以我们要做的就是接收信号并解码,这样我们就能获取附近飞机的信息了。

基于国外的开源DUMP1090项目,自己尝试了一遍,加上了点启动整合的脚本,做了点不值一提的微小工作。

关于ADS-B详细的协议与SDR的概念,调制解调过程详见文尾网盘链接中的文档。之前写过一个加了注释的版本文档,可是现在怎么也找不到了。时间过去有点久了。

项目地址http://www.satsignal.eu/raspberry-pi/dump1090.html

硬件采用的是国内常见的R820T

附上一张芯片对比:

Tuner 芯片 频率范围
Elonics E4000 52 – 2200 MHz, 其中1100 MHz to 1250 MHz无法覆盖
Rafael Micro R820T 24 – 1766 MHz
Fitipower FC0013 22 – 1100 MHz
Fitipower FC0012 22 – 948.6 MHz
FCI FC2580 146 – 308 MHz, 438 – 924 MHz

 

bbbb
继续阅读“监听飞机塔台ADS-B协议通讯”

NE555+CD4017计数/流水灯

之前有个学妹问我如何不用单片机编程控制IO来做一个流水灯。第一反应就是NE555(工作在无稳态时基)+CD4017(译码/十进制计数)

好久没焊洞洞板,手也痒了,就把过程记录一下

首先先确定一下NE555无稳态输出方波的频率与占空比。

Screenshot_2016-08-03-00-25-16

毕竟人眼看。0.5-3hz都行,占空比最好50%。不过也不用太精确。我用的参数如图所示。

这电路过于简单我就不画电路图了。NE555输出接入CD4017的CP脚,数字输出脚分别接LED。注意CMOS芯片由于高阻态千万不能让input引脚悬空就行。都根据实际接上拉电阻或者下拉到Gnd就行。

IMG20160803201708
继续阅读“NE555+CD4017计数/流水灯”