大数跨境
0
0

【项目分享】被困超立方

【项目分享】被困超立方 蘑菇云创造
2019-10-08
4
导读:这个故事,还要从电影《星际穿越》说起...

点击上方“蘑菇云创造”可以关注我们哦


本期作品来自"创客大侦探挑战赛"优秀作品

《被困超立方》


作者:安卓机器人

原文链接:

https://makelog.dfrobot.com.cn/article-1839.html


超立方体

从电影《星际穿越》说起:

我们所生活的三维空间可以想象为一个立方体,而超立方体属于四维空间物体。我们所认识的点动成线,线动成面,面动成体,推广到四维空间(非三维-时间概念)中,立方体的移动形成四维的超立方体,由无数个立方体所组成。


影片中的超立方体,可能是未来人类(科技发展后,超越四维的人类,他们可以随意改变时间轴)建立的五维空间,这个空间以主角女儿的房间做为基础空间,多条时间轴交接(从电影看来应该是两条时间轴)而成的。之前提到维度是很难影响的,重力影响时间(基于相对论)。这个超立方体以重力构建,所以只能存在于黑洞中。主角被吸入黑洞时掉进了这个五维空间,(所以没有彻底掉进黑洞里被碾成基本粒子)。


主角女儿房间的种种特殊现象,直觉告诉了她不能让父亲离开她!但是父亲为了寻找适合人类生存的星球而决定冒险(死)!临行前,父女在地球上比对了量子手表。


探索“时空入门”


父亲滑向“黑洞”


父亲被困五维 “超立方体”。在这个高维时空中,父亲在不同的时间轴片段上亲眼目睹女儿房间里的种种灵异现象原来竟是自己在五维世界向四维世界发出的种种求救讯号!可惜年幼的女儿知识不足以理解它。


这不,最近玩虚谷号——厚物扩展板,出现了奇怪的现象:在没有联网的状态下,OLED上竟出现了如图的点点画画!

这是不是某种暗示呢?

查阅资料,准备解密:(原来就是摩尔斯码!)

查阅资料发现,很可能是通过“量子纠缠”方式,超距作用传输来的信息。


分析译码

直译就是:“求救”“五维”“地址”;坐标X,Y,Z

意思似乎是指定了某个位置。

救援行动第一步已经完成。


根据译文大意,救援行动何其难:我们必须首先搞清“五维”世界的相关知识,练习用程序初级表达!


学习!学习!再学习!


每一个人从出生所看到地球上的一切,它们是有边缘,有体积而且占有一定空间的,物体存在的状态在世世代代的人类脑海里——根!深!蒂!固!

所以如果高维度(如:五)时空真的存在,那么我们很难想象存在于高维度(如:五)的物体是什么样子。就像一只生活在平面内的小蚂蚁(假想它就是二维世界的生物,如二维动画里的形象)。它永远不会知道它生活的平面之外有什么。但是身为高纬度(四维)的我们却可以清楚地看到它爬行的整个状态!


一、维度(Dimension)这个单词是人类创造出来的


零维:

在数学上就是指一个无穷小的点,物理学上指没有空间、时间的一个无穷小的点。
线、面、体被我们命名为一,二,三维。


一维:

点动成线。一条由无数个点构成的有长度但没有宽度线。


二维:

线动成面。无数条紧密相邻的线形成有宽度、长度(面积),但没有厚度的面,就像极薄的纸。


三维:

面动成体。无数个面在新的维度产生了有厚度的空间,再也不仅是面了。三维物体就是我们每天感受到的物体。大到宏观天体,小到一些微观粒子。


四维:

我们人类所认识的四维时空就是:三维空间加上一维时间,也就是说我们人类是在四维空间上运动的三维物体。


为什么“时间”对于绝大多数人的感觉总是抽象的呢?


我是这样理解的:我们可以在三个维度任意测量三维物体的长度、宽度、高度,但却不能测量第四维“时间”!即我们唯一看见的只是当前的“时间点”时刻,前一秒的时间片段仅存于大脑的记忆,后一秒时间片段更无从知晓。我们目前无法测量过去的时间,也不能测量未来的时间。然而,如果真存在高维度(如:五维)生物,它们不仅轻易看见三维物体,甚至透视三维物体的内部细节等一切运动状态,更比人类厉害的是可能测量整个时间轴,也就是四维世界的时间维,所以它们能够轻易看见我们的一生!(就像我们能够回放二维动画中平面上爬行的蚂蚁的任意时间点的状态。)


五维:

如果把三维空间简化理解为一个点,加上时间轴就变成了一条线,而五维空间就是四维空间线构成的时间平面,无数个四维空间集合于一条轴线,这也就衍生出了平行宇宙,时间旅行的理论可能性。 


二、物理学上为什么时间是第四维? 


我们可以从坐标上解释:假定一架飞机在地球百慕大三角(魔鬼三角)390万平方千米某空域爆炸。


二维坐标:

一架飞机在北纬32°20′西经64°45′处爆炸。 


三维坐标:

一架飞机在北纬32°20′西经64°45′499米高空处爆炸。 

我们似乎感觉描述的已经很详细了。不过如果当前的你去那个位置能否目睹到飞机爆炸吗?显然无法确定。因为缺少另一因素——时间!现在我们加上时间再次描述事件。 


四维坐标:

1980年10月29日0点整,一架飞机在北纬32°20′西经64°45′499米高空处爆炸。这才是完整的叙述。就像x,y确定平面内的一个点一样。x,y,z,t 4点坐标缺一不可,才能确定一个4维空间点。这也是时间作为第四维度的原因。 


三、关于五维生物和物体


低维度物体不可能干预高维度,高维度生物可知低维度物体运动状态(例如3维物体在4维空间里只能前进,不能后退,人类不能改变时间,5维物体能控制到时间轴,且时间轴有负轴)


四、电影和小说里的五维生物为什么具有改变时间的可能性? 

举个栗子:一个二维的小蚂蚁努力的生活在一个长方形的平面内(大家可以想象成一张无限薄的白纸).它只可以永不间断的沿着一条X轴向前爬,不可后退. 这时如果我们把平面(白纸)首尾相接,卷成一个筒,那么蚂蚁在爬的时候会从白纸的结尾处爬白纸的开始处,完成对于它来说不可思议的穿越之旅,那么身为更高维度的我们却把他的行动看的清清楚楚。


根据弦理论、超弦理论、M理论,宇宙最高是十一维度(百度了解),其它大多数维被紧致卷曲。


救援行动千万里~不仅要敢于打破固有思维模式,还需要先进工具学习广博知识技能。


虚谷号与其配套——厚物扩展板:


按上图把厚物扩展板插入虚谷号上,开机!


练习Python语言中的海龟作图,试连续画出一维轴、二维轴、三维轴。



运行结果显示符合要求。

救援行动万里路,终于向前迈进第二步了~

第三步了解“量子通讯”

第四步...

第五步...

......


材料清单

虚谷号

厚物——虚谷号扩展板

HDMILCD 显示屏

鼠标

键盘


摩尔斯码程序:

向上滑动阅览

/*
Color.pde
"Hello World!" example code with color.
>>> Before compiling: Please remove comment from the constructor of the >>> connected graphics display (see below).
Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/
Copyright (c) 2012, olikraus@gmail.com All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include "U8glib.h"
// setup u8g object, please remove comment from one of the following constructor calls// IMPORTANT NOTE: The following list is incomplete. The complete list of supported// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED)//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11)//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board)//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx)//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED)

void draw(void) {
if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { /* draw background (area is 128x128) */ u8g_uint_t r, g, b; for( b = 0; b < 4; b++ ) { for( g = 0; g < 32; g++ ) { for( r = 0; r < 32; r++ ) { u8g.setRGB(r<<3, g<<3, b<<4 ); u8g.drawPixel(g + b*32, r); u8g.setRGB(r<<3, g<<3, (b<<4)+64 ); u8g.drawPixel(g + b*32, r+32); u8g.setRGB(r<<3, g<<3, (b<<4)+128 ); u8g.drawPixel(g + b*32, r+32+32); u8g.setRGB(r<<3, g<<3, (b<<4)+128+64 ); u8g.drawPixel(g + b*32, r+32+32+32); } } } }
// assign default color value if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { u8g.setColorIndex(255); // white } else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { u8g.setColorIndex(3); // max intensity } else if ( u8g.getMode() == U8G_MODE_BW ) { u8g.setColorIndex(1); // pixel on } else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { u8g.setHiColorByRGB(255,255,255); } u8g.setFont(u8g_font_unifont); u8g.drawStr( 0, 8, "... --- ..."); u8g.drawStr( 0, 20, "..... -.."); u8g.drawStr(0, 30, ".- -.. -.."); u8g.drawStr(0, 40, "-.... --..."); u8g.drawStr(0, 50, "----. ....-"); u8g.drawStr(0, 60, "---.. --...");
}
void setup(void) {
// flip screen, if required // u8g.setRot180();
// set SPI backup if required //u8g.setHardwareBackup(u8g_backup_avr_spi);
}
void loop(void) { // picture loop u8g.firstPage(); do { draw(); } while( u8g.nextPage() );
// rebuild the picture after some delay delay(500);}




  


海龟作图Python程序:

向上滑动阅览

import turtle as tt.screensize(800,400,"black")t.pencolor("white")t.pensize(10)t.speed(2)t.fd(130)t.left(90)t.goto(0,0)t.fd(130)t.goto(0,0)t.left(135)t.fd(100)t.goto(0,0)t.mainloop()


参考:

《三体III》等



———————  正文完    ———————

 


教育的目的是为了培养学生协作能力、沟通能力、批判思维以及创造力,其中最核心的是创造力,蘑菇云创客教育作为国内为数不多的一站式创客教育服务供应商旨在培养孩子的创造力。

为让学生们在课堂上学习到的知识更好地连接现实世界,蘑菇云将指导学校规划、建立、运营自己的创客空间。并根据学生年龄段的不同,在设计与布局上进行了区分

小学创客空间注重趣味性,

强调互动场景;

初中创客空间注重实用性,

强调学习场景;

高中创客空间注重技术性,

强调应用场景;

 

在内容上, 蘑菇云和国内一线创客名师联手,编纂了一系列适合国内创客教育的教材。并拥有一套完整的创客教育课程体系,包括课程内容及教具,课程培训,技术答疑。同样根据学生年龄段的不同,在课程分类与设计上也会有所区别。

小学通过游戏化和体验化的方式来开展,要以“玩中学”为主。

初中引导学生在实际动手过程中进行探究式学习,促进“做中学”。

高中基于问题和设计的学习,需要教师为学生创设相关的真实情境,使高中生在“思中学”。




推荐阅读:

公益科普|给大理鸡足山的娃儿们上个课

关于举办“2019未来课程设计国际高峰论坛”的通知!

micro:bit、 Arduino、 掌控板,三大主控板究竟有什么区别?

【比赛】micro:bit全球青少年创意征集

欢乐迎国庆,科技伴我行—智能机器人花车活动

教师节福利 | 给我两分钟,让我送完这个礼!

开学第一课 , 编程成亮点!

美国K12创客教育报告 | 创客文化-全美教育创客空间研究

聚焦2019世界机器人大会 | DFRobot 创始人畅谈“开源硬件在创客教育中的最佳实践”

究竟有没有必要给孩子报机器人教育?

DFRobot携手同胞助力第四届海峡两岸青少年创客大赛!

【获奖名单】第34届全国青少年科技创新大赛DF创意之星专项奖

2019Robotex亚洲赛火星救援赛项火热招募,等你来战!

创客教育课程体系开发不得不重视的四大问题!

活动开展II 纸动科技,智造未来—嘉定区练川实验学校

活动开展II点燃科技梦想,体验创意生活—上海四中

重磅!Mind+正式进入micro:bit官方软件推荐列表



我知道你在看


点击“阅读原文”,了解更多!

【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读1.1k
粉丝0
内容969