幻影麦昆(失败的尝试)-Arduino中文社区 - Powered by Discuz! Archiver

seesea 发表于 2019-5-29 00:09

幻影麦昆(失败的尝试)

原设想是利用 POV 的原理,在 microbit 上用一列 LED 来顺序显示一串字或图的每一列,让麦昆原地旋转来实现 POV 效果。
还没有发现怎样快速点 microbit 的一列 LED,只能用显示只有一列的 5x5 图形来显示,结果发现 LED 显示的切换很慢,即使没有加任何延迟的循环切换都感觉有 0.2 秒的延迟。然后是即使是使用最快的电机速度,结果还是太慢,最终这个幻影麦昆的尝试以失败告终。
在这里抛砖引玉,希望有大神指点。

这是一些失败代码(需要使用手动编辑):
#include <Maqueen_Motor.h>
#include <DFRobot_NeoPixel.h>
#include <Microbit_Matrix.h>
#include <Microbit_Sensors.h>

Maqueen_Motor motor;

DFRobot_NeoPixelrgb_display_15;
const uint8_t bitmap_orginal[] = {
// B00110,B01111,B11110,B01111,B00110,
B11111,B00010,B00100,B00010,B11111,
/* B11100,B01010,B01001,B01010,B11100,
B00110,B01001,B11001,B10110,B00000,
B01111,B10000,B10000,B10000,B01111,
B11111,B10101,B10101,B10101,B10001,
B11111,B10101,B10101,B10101,B10001,
B11111,B00010,B00100,B01000,B11111
*/
};
const int BITMAP_COUNT = sizeof(bitmap_orginal) / sizeof(bitmap_orginal);
uint8_t bitmap_sets;

void process_bit_map()
{
for (int i = 0; i < BITMAP_COUNT; ++i)
{
    bitmap_sets = (bitmap_orginal >> 0) & 0x01;
    bitmap_sets = (bitmap_orginal >> 1) & 0x01;
    bitmap_sets = (bitmap_orginal >> 2) & 0x01;
    bitmap_sets = (bitmap_orginal >> 3) & 0x01;
    bitmap_sets = (bitmap_orginal >> 4) & 0x01;
}
}

void setup() {
        // motor.motorRun(motor.LEFT,motor.CW,255);
        // motor.motorRun(motor.RIGHT,motor.CCW,255);
        rgb_display_15.begin(15, 4, 255);
        rgb_display_15.setRangeColor(0, 0, 0xff0000);
        rgb_display_15.setRangeColor(1, 1, 0xffff00);
        rgb_display_15.setRangeColor(2, 2, 0x0000ff);
        rgb_display_15.setRangeColor(3, 3, 0x00ff00);
       
        process_bit_map();
}

void loop1() {
static int i = -1;
if (++i >= BITMAP_COUNT)
    i = 0;
   
        MMatrix.show(bitmap_sets);
        delay(1);
}

void loop() {
static int i = -1;
while(true)
{
    if (((Sensors.acceleration(Sensors.Y)) < 0)) {
      continue;
          }
          
    if (++i >= BITMAP_COUNT)
      i = 0;
      
        MMatrix.show(bitmap_sets);
}
}

上面的图形数组是用自动生成的代码复制过去的,长这样:

最终呢试了试只显示一个麦昆的 M 字,用手摇,效果也不咋滴,原因是这些 LED 点阵本来就是动态扫描的,所以最后的显示也会发生错乱:



dfrobot 发表于 2019-5-29 17:40

小板凳已搬好,帮大神占个位

seesea 发表于 2019-5-30 02:36

dfrobot 发表于 2019-5-29 17:40
小板凳已搬好,帮大神占个位

:hug: 大神快来
页: [1]
查看完整版本: 幻影麦昆(失败的尝试)