Page 134 - MDP2020-2
P. 134

|    인천전자마이스터고등학교  ·············································································································
            128


            제  2  장  소프트웨어  설계

            1.  개요

                Arduino에서  led의  색을  설정되고  출력을  시작합니다.  동시에  60Hz의  주파수로  스피커가  동
            작하여  고무호스를  진동시킵니다.  만약  첫번째  스위치가  on  되었다면  led는  59Hz의  주파수로
            동작됩니다.  그렇지  않고  두번째  스위치가  on  되었다면  led는  61Hz의  주파수로  동작됩니다.  어
            떠한  스위치도  눌리지  않는다면  60Hz의  주파수로  동작됩니다.  그리고  ATmega128이  동작이
            시작되고  플로트  스위치가  on  되었다면  펌프를  동작시켜  물을  끌어  올립니다.  물이  다  채워지

            면  솔레노이드  밸브를  동작시켜  32bit  10가지의  도형과  출력합니다.  그  후,  32bit의  저희  조원
            들의  이름이  차례대로  출력됩니다.


            2.  소프트웨어

                가)ATMEGA128
            #include  <mega128.h>
            #include  <delay.h>


            void  print(unsigned  long  shape[32]);
            void  shift_water();


            unsigned  long  shapes[10][32]={
                                                                    //heart
                                                                    {0x7E007E0,  0x1FF00FF8,  0x3FF81FFC,  0x7FFC3FFE,  0x7FFE7FFE,
            0xFFFFFFFF,  0xFFFFFFFF,  0xFFFFFFFF,  0xFFFFFFFF,  0xFFFFFFFF,
                                                                    0xFFFFFFFF,  0xFFFFFFFF,  0xFFFFFFFF,  0xFFFFFFFF,
            0xFFFFFFFF,  0x7FFFFFFE,  0x7FFFFFFE,  0x3FFFFFFC,  0x3FFFFFFC,  0x1FFFFFF8,
                                                                    0xFFFFFF0,  0x7FFFFE0,  0x3FFFFC0,  0x1FFFF80,  0xFFFF00,
            0x7FFE00,  0x3FFC00,  0x1FF800,  0xFF000,  0x7E000,  0x3C000,  0x18000},

                                                                    //arrow
                                                                    {0x10000,  0x30000,  0x70000,  0xF0000,  0x1F0000,  0x3F0000,
            0x7F0000,  0xFF0000,  0x1FF0000,  0x3FF0000,  0x7FFFFFF,  0xFFFFFFF,
                                                                    0x1FFFFFFF,  0x3FFFFFFF,  0x7FFFFFFF,  0xFFFFFFFF,
            0xFFFFFFFF,  0x7FFFFFFF,  0x3FFFFFFF,  0x1FFFFFFF,  0xFFFFFFF,  0x7FFFFFF,
                                                                    0x3FF0000,  0x1FF0000,  0xFF0000,  0x7F0000,  0x3F0000,  0x1F0000,
            0xF0000,  0x70000,  0x30000,  0x10000},

                                                                    //diamond
                                                                    {0x18000,  0x3C000,  0x7E000,  0xFF000,  0x1FF800,  0x3FFC00,
            0x7FFE00,  0xFFFF00,  0x1FFFF80,  0x3FFFFC0,  0x7FFFFE0,  0xFFFFFF0,
                                                                    0x1FFFFFF8,  0x3FFFFFFC,  0x7FFFFFFE,  0xFFFFFFFF,
            0xFFFFFFFF,  0x7FFFFFFE,  0x3FFFFFFC,  0x1FFFFFF8,  0xFFFFFF0,  0x7FFFFE0,
                                                                    0x3FFFFC0,  0x1FFFF80,  0xFFFF00,  0x7FFE00,  0x3FFC00,
            0x1FF800,  0xFF000,  0x7E000,  0x3C000,  0x18000},
   129   130   131   132   133   134   135   136   137   138   139