异星工厂吧 关注:64,751贴子:422,609

电路杂货铺

只看楼主收藏回复

最近想着在电路方面在往前多走几步(主要还是感觉闲暇时间玩电路更有意思).
怎么说呢,有时候会搞出一些新操作,如果闷在心里,可能其他玩电路的需要重新摸索,重复我的探索,走些没必要的路.
写教程的话,要照顾到大多数人,太啰嗦没啥效率,如果没啥意外是不会写了,毕竟"领进门"就行了.
其实很多东西几句话就能点明的.
所以如果有啥新操作、新发现我会在这里简洁的说下,
给其他厂长提供一些参考,能有所帮助.


IP属地:上海来自WindowsPhone客户端1楼2017-09-08 09:29回复
    ------------2*3显示屏--------------

    2*3显示屏
    说明:
    通过6个显示屏按2*3拼接而成一个更大的显示屏.
    6个显示屏的序号分别是:
    4 5 6
    1 2 3
    为方便图像数据处理,上面三个进行了反置.
    6个显示屏图像数据传输口集中在了右下角.
    我尝试着去优化显示屏的计算部分,
    a /(-2^n) + (a+2^(n-1))/ (2^n)
    a为图像数据值;n为列(位)数.
    这个公式无法用更少的运算器计算,
    所以显示屏基本是还是用的原来的.


    IP属地:上海来自WindowsPhone客户端2楼2017-09-08 09:45
    收起回复
      2026-04-24 11:57:03
      广告
      不感兴趣
      开通SVIP免广告
      ----------显卡功能_点亮一个点--------------

      作用:输入一个坐标,点亮该坐标的灯.
      功能编号:显-01
      输入:
      {
      参数名----坐标值
      信号种类----小镐头
      信号接口----[01](暂)
      }
      输出:图像数据+显示屏序号
      说明:
      显示屏的坐标范围是(1,1)到(84,56).
      坐标值为x*64+y.
      坐标值相当于一个13位的二进制数,Y坐标占低6位,X坐标占高7位.
      这个电路由两部分组成,
      第一部分,根据坐标计算这个坐标显示在第几个显示屏.
      将xy除以28,得显示屏坐标,取值到该显示屏的序号,输出(蓝图)信号.
      第二部分,根据坐标计算出显示用的图像数据.
      通过4^n再*-1进行抵消重置,算是一个新奇的思路.
      计算采用了取值法,比刚开始的信号匹配法少了1t.
      这是最基础也是最常用的一个功能,整体还是很满意的,
      很少在保持可阅读性的情况下建的这么整齐:)


      IP属地:上海来自WindowsPhone客户端3楼2017-09-08 14:44
      收起回复
        ---------显卡硬件_数据分流-------------

        作用:
        根据蓝图信号的值,将信号传入不同的方向.
        说明;
        一个简单的基础组件,没啥太难的地方.
        不过这里使用了一种新的方法抵消无关信号.

        (蓝图,1)是无关信号,这个方法可以省很多麻烦.甚至是1t时间.


        IP属地:上海来自WindowsPhone客户端4楼2017-09-08 19:25
        回复
          ,你是什么专业的,我一个学工程的,只学过入门计算机


          来自Android客户端5楼2017-09-08 20:07
          收起回复
            有种不详的预感……设计电路时找到了显示屏的改进思路,如果可行的话,之前的设计可能会被全部推翻……需要冷静一下


            IP属地:上海来自Android客户端6楼2017-09-09 19:58
            回复
              这个游戏应该推出有线供电系统,手工拉铜线。供电柱很恶心


              IP属地:福建7楼2017-09-09 20:54
              收起回复
                对啊,不止这个,如果把颜色的显示规则改改能做彩色显示屏的。


                IP属地:上海来自Android客户端8楼2017-09-09 21:02
                回复
                  2026-04-24 11:51:03
                  广告
                  不感兴趣
                  开通SVIP免广告
                  忘了显示屏在设计的时候就考虑了扩展,一个显示屏扩一下应该就够用。不过移位计算还需要摸索摸索


                  IP属地:上海来自Android客户端9楼2017-09-09 23:28
                  回复
                    话说 能参考一下DaveMcW大神的sandstorm视频,里面的多色显示方案感觉挺不错呀,虽然我看着他的教程也做不来


                    IP属地:广东10楼2017-09-10 04:09
                    收起回复
                      将十进制转为二进制.
                      以十进制数去除以以递减顺序排列的2的次幂,每除一次,商是一个二进制位,而余数继续去除以下一个最大的2的次幂.
                      ——《编码的奥秘》


                      IP属地:上海来自WindowsPhone客户端11楼2017-09-10 11:35
                      回复
                        思维惯性,一直想着显示屏那个公式,忽略了十进制转二进制的一般方法.
                        由原来的4排运算器减到2排运算器,调试起来也更方便了.


                        IP属地:上海来自WindowsPhone客户端12楼2017-09-10 11:38
                        收起回复
                          重点是我一直没学会拼接屏幕,所以屏幕只能做到31x31了


                          IP属地:广东13楼2017-09-10 14:32
                          收起回复

                            新的显卡功能-点亮一个点重置完成,
                            因为显示屏改为了60*108所以只能用信号匹配法设计.
                            之前建的虽然没有了,但让我对信号抵消更熟练.
                            在加上当时精神状态比较好,电路耗时为4t,
                            这是理论上的最低耗时.建好很有成就感.
                            不过不可避免的有点繁杂(从结构和连线就能看出来),
                            要调整电路的话,可能需要一定的时间去重新理解回忆.....
                            很容易发生自己也看不懂的情况
                            等会记下逻辑.


                            IP属地:上海来自WindowsPhone客户端14楼2017-09-10 22:42
                            回复
                              2026-04-24 11:45:03
                              广告
                              不感兴趣
                              开通SVIP免广告
                              一个显示屏的大小是30*108,
                              如果采用一般的逐除取余法进行十进制转二进制,
                              显示屏也会是逐列刷新,总体上30t一帧,看着很难受。
                              需要进行一些变通。
                              第一列计算过程是(n为值):
                              (n%2)/1
                              第二列是:
                              (n%4)/2
                              第三列:
                              (n%8)/4
                              ......
                              也就是说,
                              n为输入的图像数据值
                              a为灯的列数
                              (n%(2^a))/(2^(a-1))
                              两个30*108的显示屏拼成一个大显示屏。
                              另一个显示屏并不是单纯的复制,
                              计算式子为:
                              (n%(2^a))/(-2^(a-1))
                              也就是只能接受负值数据。


                              IP属地:上海来自WindowsPhone客户端15楼2017-09-11 17:51
                              收起回复