麦昆小车来到了身边

有幸参加粒子老师的麦昆脑洞大开的活动,特地向瀚瀚_luna老师询问了情况,购买了micro:bit板和扩展板。 企盼着,企盼着,终于盼来了快递。一辆小巧的麦昆小车轻松装好。







清单:
micro bit板
麦昆小车
A4纸
戏剧任务素材
川剧变脸,是中华著名文化艺术,也是中国非物质文化遗产,更是国家文化二级机密。我想用bit的点阵屏,来做川剧的变脸,我在网上找到了一张京剧的图片,根据bit板点阵屏大小进行编辑,然后把它打印出来。


用小刀把戏剧人物雕刻下来。


然后把它粘贴在麦昆小车上。一个有趣的戏剧人物就出现了



借用了其他小车的一个遥控器,利用mind+程序把遥控器的按键数字读了出来,然后整理成了一张按键的数字表,最后我们通过编辑变脸程序逐个逐个添加图谱进去。





餐具变脸完成后,给瀚瀚_luna老师看了,老师说好像这个是有点矮,像个武大郎,然后就想办法能能不能做一个bit的连长线?网上找了很久,没有,就想自己来加工,找了一块坏网卡,锯下了等长的插口,试了几次,都没有成功。





材料清单
- micro bit板 X1
- 麦昆小车 X1
- A4锡剧人物 X1
- 遥控器 X1
代码
#include <DFRobot_IRremote_dal.h> #include <Microbit_Matrix.h> #include <Maqueen_Motor.h> #include <DFRobot_NeoPixel.h> double df_bianlian; double df_dongzuo; double df_bl2; double df_d2; double df_hong; double df_lan; double df_lu; DFROBOT_IRremote_Receive remote(16); const uint8_t bitmap_KJKd[5] = {B00000,B11011,B00000,B01010,B00100}; const uint8_t bitmap_QQxk[5] = {B01010,B10001,B00000,B00100,B01010}; const uint8_t bitmap_cT_7[5] = {B10001,B11011,B00000,B01110,B00000}; const uint8_t bitmap_0NNN[5] = {B11011,B10001,B00000,B00000,B01110}; const uint8_t bitmap_dFUb[5] = {B01010,B11111,B11111,B01110,B00100}; const uint8_t bitmap_LVcj[5] = {B11111,B00100,B11111,B00100,B11111}; const uint8_t bitmap_0FRR[5] = {B10001,B10101,B10101,B10101,B10001}; const uint8_t bitmap_Q0JJ[5] = {B00000,B11011,B00100,B00100,B01110}; const uint8_t bitmap_M6wb[5] = {B10001,B10001,B01010,B00000,B00100}; Maqueen_Motor motor; const uint8_t bitmap_2JJI[5] = {B00000,B11011,B00000,B01010,B00100}; const uint8_t bitmap_gYYa[5] = {B01010,B10001,B00000,B00100,B01010}; const uint8_t bitmap_gwaF[5] = {B10001,B11011,B00000,B01110,B00000}; const uint8_t bitmap_Rr7r[5] = {B11011,B10001,B00000,B00000,B01110}; const uint8_t bitmap_dN3x[5] = {B01010,B11111,B11111,B01110,B00100}; const uint8_t bitmap_KNEE[5] = {B11111,B00100,B11111,B00100,B11111}; const uint8_t bitmap_guBK[5] = {B10001,B10101,B10101,B10101,B10001}; const uint8_t bitmap_fjCd[5] = {B00000,B11011,B00100,B00100,B01110}; const uint8_t bitmap_5q5q[5] = {B10001,B10001,B01010,B00000,B00100}; DFRobot_NeoPixel rgb_display_15; void onIRReceive(uint8_t data_IR) { if ((data_IR == 207)) { MMatrix.show(bitmap_KJKd); } if ((data_IR == 231)) { MMatrix.show(bitmap_QQxk); } if ((data_IR == 133)) { MMatrix.show(bitmap_cT_7); } if ((data_IR == 239)) { MMatrix.show(bitmap_0NNN); } if ((data_IR == 199)) { MMatrix.show(bitmap_dFUb); } if ((data_IR == 165)) { MMatrix.show(bitmap_LVcj); } if ((data_IR == 189)) { MMatrix.show(bitmap_0FRR); } if ((data_IR == 181)) { MMatrix.show(bitmap_Q0JJ); } if ((data_IR == 173)) { MMatrix.show(bitmap_M6wb); } if ((data_IR == 151)) { MMatrix.clear(); } if ((data_IR == 31)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((data_IR == 253)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((data_IR == 111)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((data_IR == 103)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } if ((data_IR == 87)) { motor.motorStop(motor.LEFT); motor.motorStop(motor.RIGHT); } if ((data_IR == 93)) { for (int count = 0; count < 1000; count++) { df_bianlian = (random(1, 9+1)); df_dongzuo = (random(1, 4+1)); if ((df_bianlian == df_bl2)) { df_bianlian = (random(1, 9+1)); } else { if ((df_dongzuo == df_d2)) { df_dongzuo = (random(1, 4+1)); } else { if ((df_bianlian == 1)) { MMatrix.show(bitmap_2JJI); df_bl2 = df_bianlian; df_d2 = df_dongzuo; if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 2)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_gYYa); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 3)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_gwaF); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 4)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_Rr7r); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 5)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_dN3x); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 6)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_KNEE); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 7)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_guBK); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 8)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_fjCd); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } if ((df_bianlian == 9)) { df_bl2 = df_bianlian; df_d2 = df_dongzuo; MMatrix.show(bitmap_5q5q); if ((df_dongzuo == 1)) { motor.motorRun(motor.LEFT,motor.CW,100); } if ((df_dongzuo == 3)) { motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 2)) { motor.motorRun(motor.LEFT,motor.CW,100); motor.motorRun(motor.RIGHT,motor.CW,100); } if ((df_dongzuo == 4)) { motor.motorRun(motor.LEFT,motor.CCW,100); motor.motorRun(motor.RIGHT,motor.CCW,100); } } delay(300); } } } } } void setup() { remote.begin(); remote.setCallback(onIRReceive); dfrobotRandomSeed(); rgb_display_15.begin(15, 4, 255); } void loop() { df_hong = (random(1, 255+1)); df_lan = (random(1, 255+1)); df_lu = (random(1, 255+1)); rgb_display_15.setRangeColor(0, 0, rgb_display_15.rgbToColor(round(df_hong), round(df_lu), round(df_lan))); df_hong = (random(1, 255+1)); df_lan = (random(1, 255+1)); df_lu = (random(1, 255+1)); rgb_display_15.setRangeColor(1, 1, rgb_display_15.rgbToColor(round(df_hong), round(df_lu), round(df_lan))); df_hong = (random(1, 255+1)); df_lan = (random(1, 255+1)); df_lu = (random(1, 255+1)); rgb_display_15.setRangeColor(2, 2, rgb_display_15.rgbToColor(round(df_hong), round(df_lu), round(df_lan))); df_hong = (random(1, 255+1)); df_lan = (random(1, 255+1)); df_lu = (random(1, 255+1)); rgb_display_15.setRangeColor(3, 3, rgb_display_15.rgbToColor(round(df_hong), round(df_lu), round(df_lan))); delay(500); }
木子哦2019.05.16
好有创意,赞一个!