Hacker

水星的MW151RM3G和TP-Link的TL-WR703N,他们的硬件是一模一样的,所以在MW151RM3G上安装703N的固件是完全可能的。掐指一算,手上已经买过十几个151RM了,用在了各种地方。

1

2

tplink和水星的在线升级程序根据固件文件的特定位置的特征值来判断固件是否匹配。

固件的中表示id是位置在 0x00000040 - 0x000047的数据
tplink 是 0703 0101 0000 0001
水星是 0703 0101 0001 0001

几年前,我把tplink的固件改成水性固件的id,就可以把水星路由器安装上tplink的固件,但是新买的两台路由器发现无法把我自己的程序写进去,好在网上有很多类似的固件下载,就可以刷成tplink的程序了。

...continue reading

2,794 total views, 2 views today

对于Nexus 4 16G 添加一下文件

/etc/udev/rules.d/99-android.rules

# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery

然后就可以刷谷歌的image了,刷image意味着已有的设置都会没有。

然后到android官网去下载,地址: https://developers.google.com/android/nexus/images

再要root就自己root

 

1,368 total views, no views today

http://player.youku.com/player.php/sid/XNzA5NDg0MzIw/v.swf

A maze designed for Katyusha[Катюша].

Katyusha is a cute hamster lives in Shanghai. She's very smart, a bit aggressive, but a quite adorable young lady in general. She loves sunflower seeds and littleBits.

Northy upload this instruction to littlebits -> https://littlebits.cc/projects/hamster-maze

...continue reading

2,192 total views, 1 views today

2014年2月22日,和新车间一行人去无锡和金华调研电动车的生产厂商。

无锡的老年代步车,就是一根小棍支起座位的电动车,大小正合适呀。:-P
car_1

car_2

电动车老板,他儿子搞市场,他自己负责技术,逐步把整个厂子搞起来。现在有个更大的愿望,就是能够提供它自己的场地,提供住宿,提供工具,让全国各地的有兴趣做自己东西的人来到他们厂,完成自己的想法。这个和新车间创客的想法好相似,我们简单的交流了想法。哈哈,祝老板成功!

car_3

 
...continue reading

2,249 total views, no views today

2014年2月20号,真是个疯狂的一天,早上听BG4ARR说去南北湖通宵架台,下午就收拾一下出发了。一路上真是惊现万分,由于我驾照还在实习期,不能上高速,所以去南北湖就只能偷偷地上高速了。于是半夜集结后,直奔南北湖。结果没想到,凯立德导航太不靠谱了,在嘉兴出口还有300米的时候才说要变道出去,已经是实线了,让我们直奔杭州T.T

找了最近的出口下高速之后,打算走国道南北湖。走着走着就发现前方有一团一团的白雾迎面而来,后来就是几乎能见度降到了0米。太恐怖了,打开双闪,前后雾灯,靠最右车道旁边的树木引导慢慢的开,也不敢停车怕后面的车追尾,也不敢开太快怕撞到前面的人或车。就这样一路跌跌撞撞到了南北湖。到南北湖的时候已经是2点快3点了。

nanbeihu_1

nanbeihu_2

在BG4ARR的指挥和领导下,完成了20m,70cm天线的架设。

nanbeihu_3
...continue reading

1,815 total views, no views today

细细想来,为了这个东西上天已经折腾了一年的时间了,试了无数的方案,也受到了无数人的帮助。终于是上天了,下面就是整机的照片。样子有点丑,各位hold住。

img

这个飞行器是以上天为目标,所以机架什么都是最低成本制作。用两块钱买来的PVC管子加上一个捡来的饮用水桶就成了四轴的机架。

用了两块电池,kk飞控,四个新西达1000kv电机,四个新西达30A电调。下面是控制部分的特写。

img

严格意义上来说还不能称之为我自己的四轴飞行器,仍然用了现成的飞控板,我自己的飞控板还在继续研制中,估计还要等上一段时间了。呵呵。

下面是第一次飞行视频。


http://v.youku.com/v_show/id_XMzA0NDI3MjYw.html

1,923 total views, 2 views today

很长时间没折腾了,因为前段时间忙家里的事情、学校的事情,所以就耽搁了。昨天搞了一个通宵,搞定了今天上午的一个报告,下午就继续搞飞机了。

我们原定的目标就是通过Arduino来作为四轴飞行器的控制板,那么必然就需要用Arduino来控制四个电机的转速,其实就是多PWM输出。在去年我已经实现了单电机的输出,发现了不少问题。

首先,舵机的信号格式和我们用的电调的信号格式是相同的,一般来说,航模上的电调信号线接于接收器的三号通道上,但是,如果接在别的通道上也是能正常工作的,这也证明了他们之间信号是相同的。

但是,上次通过Arduino上的Servo库来控制电机时,发现Servo库输出的pwm宽度会超过电调接收的范围,从而导致电机无法启动。然而,通过遥控器遥控时就不存在这个问题。所以,我今天就首先对遥控器的pwm信号进行测量,然后对Arduino输出的pwm信号进行测量。然后计算出控制方式。注意:这里的pwm信号是通过Arudino上Servo库输出的pwm信号,它是脉冲宽度调制,不是Arduino默认的pwm,默认的pwm是通过占空比来模拟一个模拟量。

好了,不多说,上图。

首先,测试电池是否有能力带动两个电机同时稳定地工作,我用遥控器电路对他们进行了测试。先搭建了一个下图所示的电路,进行测试。

img


http://v.youku.com/v_show/id_XMjcwNzAxNzY0.html

然后就需要测量遥控器输出的脉冲宽度和Arduino输出的脉冲宽度,搭了下面这个电路。为此我还去买了能测占空比的ut10a,但是那个万用表实在不给力,根本没有办法量到数据。-_-b

这张图当中电调只是起到供电的作用,所以并没有连电机。

img

无奈,但是发现Arduino有pulseIn()这个函数,可以计算一个高电平或低电平持续时间,正好,把数据拿下了。

最高位:	1900us
最低位:	1100us

那么就碰到了另外一个问题,既然没有仪器来测量脉冲宽度,那如何去测量Arduino输出的PWM脉冲的宽度呢?我在万念俱灰的情况下,把两个Arduino上的数字端口连在了一起,就像下面图中的一样,看看是否能自己测量自己。

img

结果很出乎意料,居然得到数据了,真的很佩服Arduino写底层库的人,中断控制得如此完美:-)

img
img

可以看到,Servo库在输出0时,对应的脉冲宽度为522ms;而输出180时,对应的脉冲宽度为2373ms。远远大于遥控器输出的范围,所以导致一开始电调无法识别Arduino的pwm信号。这样经过简单的计算就可得出,电调的最低位应为56度,最高位应为133度。:-D

有了这个重要的数据,下面就可以用它来控制电机了。不过首先还是先让程序控制舵机,保证他能正常运行,呵呵。

img

测试通过之后,就上电机啦。通过控制板上的两个旋钮,其实就是可变电阻,来控制电机的速度。

img

上视频


http://v.youku.com/v_show/id_XMjcwNzA0MDAw.html

控制板特写

img

右边的电源模块特写,整个系统的动力电源和控制电源分为两路,控制电源由我自己做的手机电池包来提供.

img

电机特写,呵呵,山寨味道太浓了

img

最后,我测了下电机的电流,在两个电机空载,半油门的情况下,电流为4A左右。这两个电机都是经过风风雨雨的,什么坠机、落水都经历过,轴已经有点不正常了,所以也只是带大概估计一下。

img

下面就是测试程序

#include <Servo.h>

//Author:	HE Qichen
//Date:	2011-5-27
//Website:	http://heqichen.cn
//Email:	heqichen(a)gmail.com

#define inputPin1  A8
#define inputPin2  A9

#define motorPin1  5
#define motorPin2  6

Servo motor1;
Servo motor2;

void setup()
{
  motor1.attach(motorPin1);
  motor2.attach(motorPin2);
  motor1.write(motorSpeedTransfer(0));
  motor2.write(motorSpeedTransfer(0));
  Serial.begin(9600);
}

void loop()
{
  int input1, input2;
  int speed1, speed2;
  input1 = analogRead(inputPin1);
  input2 = analogRead(inputPin2);
  speed1 = motorSpeedTransfer(input1);
  speed2 = motorSpeedTransfer(input2);
  motor1.write(speed1);
  motor2.write(speed2);
  Serial.print("#1 value: ");
  Serial.print(speed1, DEC);
  Serial.print("    #2 value: ");
  Serial.println(speed2, DEC);

  delay(500);
}

int motorSpeedTransfer(int s)
{
  return (s/13 + 56);
}

2,639 total views, 2 views today

今天完成了遥控车的改造,这是自主控制的第一步。这辆车是在淘宝上买的,结构很简单,控制很简陋。方向就是将电机打死,这时候电流会非常大,而且对于将来的自主移动的精细控制带来不利因素。所以很早就想把它改成舵机控制的了,下面就是整个改造的过程。

这就是需要改造的部分。

photo

先将需要改造的部分画下来,便于设计框架结构。我不是机械出身的,所以就画个大概吧。

photo

结构图完成

photo

在图纸上设计新的结构

photo

根据设计切割材料

photo

最后完成的样子,由于是临时电路,也就没固定,看上去有点像垃圾车-_-b

photo

改造部分的特写

photo

再来一张

photo

这些只是机械部份,然后就是控制部份。由于舵机能够转动的角度范围到180度,而该车的转向轮仅能转动在30-40度之间。同时,自主移动机器人目标是在Arduino上面开发。所以我就一步到位,先用Arduino读取天地飞的pwm信号,然后经过转换,输出新的pwm信号给舵机,这样就不会因为卡住而损坏舵机了。

最后效果如下


http://v.youku.com/v_show/id_XMjYzOTc2NzA4.html

使用的程序非常简单,如下:


#include <Servo.h>

//Author:	HE Qichen
//Date:	2011-5-3
//Website:	http://heqichen.cn
//Email:	heqichen(a)gmail.com

Servo directionServo;

void setup()
{
  pinMode(2, INPUT);
  directionServo.attach(3);
  
}

void loop()
{
  int t, a;
  t = pulseIn(2, HIGH);
  a = map(t, 1000, 2000, 65, 115);
  directionServo.write(a);
  
  
}

1,551 total views, no views today

在四轴飞行器上除了要有陀螺仪外,还要有个重要的传感器就是重力传感器。由于它们各自的误差,若使用单一的传感器会造成严重的精读问题,使飞行器丧失稳定性。所以要用两个传感器进行相互矫正。

现在重力传感器应用非常广,目前iphone等智能手机上都有重力传感器,包括笔者的一台山寨手机上都有重力传感器。

这次就是要用Android来读取重力传感器的数据。这个重力传感器模块是从淘宝购买的,模块非常简单,自己够买芯片来焊接也不成问题。根据它的datasheet,就能够知道如何使用这款重力加速度模块了。下面就进行详细的介绍

这个模块使用的芯片型号是MMA7260Q,(datasheet下载[PDF,229KB]),测试中的电路就是下面图片中的样子

photo

控制的目标是通过重力传感器的数据来控制舵机的转动。但是发现会有少量的抖动,于是在程序中加入了一个简单的滤波器,阶数没有仔细调,但是基本上能够进行控制了。


http://v.youku.com/v_show/id_XMjYzNjIyODIw.html

下面是芯片的特写

photo
photo
...continue reading

1,461 total views, 2 views today

今天拿到了四轴飞行器的一个重要部件,就是陀螺仪。^_^ 下面这张图上的就是了,这是一个三轴陀螺仪,seeedstudio GROVE套装的一个部件。

gyro

这个陀螺仪使用ITG3200芯片,可以直接使用了I2C接口连接到Arduino上面。默认的地址是0x68,但是可以修改成0x69,只要将板子上的JP1连起来就可以修改。接口四个针脚的定义就像下面这张图中所画的。

photo

是的。。你没看错,他们用红色作为地线 -_-b
...continue reading

1,611 total views, no views today