diff --git a/build/core/core.a b/build/core/core.a index 929fbb7..c90425d 100644 Binary files a/build/core/core.a and b/build/core/core.a differ diff --git a/build/ex2.ino.elf b/build/ex2.ino.elf index da1b975..fcc358d 100644 Binary files a/build/ex2.ino.elf and b/build/ex2.ino.elf differ diff --git a/build/ex2.ino.hex b/build/ex2.ino.hex index 00d23af..8110918 100644 --- a/build/ex2.ino.hex +++ b/build/ex2.ino.hex @@ -1,47 +1,212 @@ -:100000000C9461000C9473000C9473000C947300B6 -:100010000C9473000C9473000C9473000C94730094 -:100020000C9473000C9473000C9473000C94730084 -:100030000C9473000C9473000C9473000C94730074 -:100040000C9475000C9473000C9473000C94730062 -:100050000C9473000C9473000C9473000C94730054 -:100060000C9473000C94730000000000250028001D -:100070002B0000000000240027002A0000000000E0 -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000008000201000003040700000000000027 -:1000C000000011241FBECFEFD8E0DEBFCDBF21E07E -:1000D000A0E0B1E001C01D92A930B207E1F70E9493 -:1000E000BF000C946E010C9400001F920F920FB68B -:1000F0000F9211242F933F938F939F93AF93BF93AE -:100100008091050190910601A0910701B09108012D -:100110003091040123E0230F2D3758F50196A11DDE -:10012000B11D209304018093050190930601A093D3 -:100130000701B09308018091000190910101A09105 -:100140000201B09103010196A11DB11D8093000130 -:1001500090930101A0930201B0930301BF91AF916D -:100160009F918F913F912F910F900FBE0F901F90F5 -:10017000189526E8230F0296A11DB11DD2CF7894C1 -:1001800084B5826084BD84B5816084BD85B582609C -:1001900085BD85B5816085BD80916E00816080934D -:1001A0006E001092810080918100826080938100B6 -:1001B00080918100816080938100809180008160C6 -:1001C000809380008091B10084608093B100809121 -:1001D000B00081608093B00080917A008460809349 -:1001E0007A0080917A00826080937A0080917A0010 -:1001F000816080937A0080917A00806880937A0091 -:100200001092C100CCE9D0E0FE01249108E810E092 -:10021000F80184918823C9F090E0880F991FFC01B0 -:10022000EE58FF4FA591B491FC01E859FF4F45915D -:1002300054913FB7F8949C91822F809598239C937A -:10024000FA019081892380833FBF90EBE92E90E0F3 -:10025000F92E20E0C22E20E0D22EF7018491FE017B -:100260009491F8019491992391F0882339F0833087 -:10027000F1F098F4813009F1823019F1E92FF0E0C2 -:10028000EE0FFF1FE458FF4FA591B4918C91C1145C -:10029000D10419F30E940000E0CF8730A9F0883024 -:1002A000C9F0843059F7809180008F7D03C0809120 -:1002B00080008F7780938000E1CF84B58F7784BDF5 -:1002C000DDCF84B58F7DFBCF8091B0008F77809399 -:1002D000B000D4CF8091B0008F7DF9CFF894FFCFDC +:100000000C9462000C948A000C948A000C948A0070 +:100010000C948A000C948A000C948A000C948A0038 +:100020000C948A000C948A000C948A000C948A0028 +:100030000C948A000C948A000C948A000C948A0018 +:100040000C94C7020C948A000C9495020C946F02D5 +:100050000C948A000C948A000C948A000C948A00F8 +:100060000C948A000C948A000000000024002700F1 +:100070002A0000000000250028002B0000000008D6 +:10008000000201000003040700000000000000005F +:1000900000000000230026002900040404040404D6 +:1000A0000404020202020202030303030303010227 +:1000B00004081020408001020408102001020408F6 +:1000C0001020B90411241FBECFEFD8E0DEBFCDBF92 +:1000D00011E0A0E0B1E0E8E0FDE002C005900D9283 +:1000E000A231B107D9F721E0A2E1B1E001C01D9230 +:1000F000A83BB207E1F710E0C2E6D0E004C02197C8 +:10010000FE010E947C06C136D107C9F70E94560342 +:100110000C9482060C940000AF92BF92CF92DF92B3 +:10012000EF92FF920F931F93CF93DF936C017B01AC +:100130008B01040F151FEB015E01AE18BF08C0173D +:10014000D10759F06991D601ED91FC910190F081B0 +:10015000E02DC6010995892B79F7C501DF91CF9173 +:100160001F910F91FF90EF90DF90CF90BF90AF90D5 +:100170000895FC01538D448D252F30E0842F90E0AD +:10018000821B930B541710F0CF9608950197089592 +:10019000FC01918D828D981761F0A28DAE0FBF2F5B +:1001A000B11D5D968C91928D9F5F9F73928F90E0B1 +:1001B00008958FEF9FEF0895FC01918D828D981720 +:1001C00031F0828DE80FF11D858D90E008958FEF5D +:1001D0009FEF0895FC01918D228D892F90E0805C26 +:1001E0009F4F821B91098F73992708958BE191E0AE +:1001F0000E94EA0021E0892B09F420E0822F089573 +:1002000080E090E0892B29F00E94F60081110C9487 +:1002100000000895FC01A48DA80FB92FB11DA35AA9 +:10022000BF4F2C91848D90E001968F739927848F16 +:10023000A689B7892C93A089B1898C918370806439 +:100240008C93938D848D981306C00288F389E02DDA +:1002500080818F7D80830895EF92FF920F931F938B +:10026000CF93DF93EC0181E0888F9B8D8C8D981369 +:100270001AC0E889F989808185FF15C09FB7F89475 +:10028000EE89FF896083E889F989808183708064C1 +:1002900080839FBF81E090E0DF91CF911F910F910C +:1002A000FF90EF900895F62E0B8D10E00F5F1F4F1B +:1002B0000F731127E02E8C8D8E110CC00FB607FC2A +:1002C000FACFE889F989808185FFF5CFCE010E94B8 +:1002D0000A01F1CFEB8DEC0FFD2FF11DE35AFF4F1B +:1002E000F0829FB7F8940B8FEA89FB898081806246 +:1002F000CFCFCF93DF93EC01888D8823B9F0AA8903 +:10030000BB89E889F9898C9185FD03C0808186FDD0 +:100310000DC00FB607FCF7CF8C9185FFF2CF80811F +:1003200085FFEDCFCE010E940A01E9CFDF91CF9189 +:100330000895833081F028F4813099F08230A9F05B +:1003400008958730A9F08830C9F08430B1F48091E5 +:1003500080008F7D03C0809180008F778093800024 +:10036000089584B58F7784BD089584B58F7DFBCFC4 +:100370008091B0008F778093B00008958091B00095 +:100380008F7DF9CFCF93DF93282F30E0F901E45828 +:10039000FF4F8491F901E255FF4FD491F901E656E0 +:1003A000FF4FC491CC23A1F081110E949901EC2F41 +:1003B000F0E0EE0FFF1FE057FF4FA591B491EC91D5 +:1003C000ED2381E090E009F480E0DF91CF91089582 +:1003D00080E090E0FACF1F93CF93DF93282F30E097 +:1003E000F901E458FF4F8491F901E255FF4FD49190 +:1003F000F901E656FF4FC491CC23A9F0162F8111C5 +:100400000E949901EC2FF0E0EE0FFF1FEE58FF4F16 +:10041000A591B4918FB7F894EC91111108C0D095C3 +:10042000DE23DC938FBFDF91CF911F910895DE2BE8 +:10043000F8CFCF93DF9390E0FC01E255FF4F24917A +:1004400086569F4FFC0184918823D1F090E0880F5D +:10045000991FFC01E859FF4FA591B491FC01EE589A +:10046000FF4FC591D49161110EC09FB7F8948C9144 +:10047000E22FE0958E238C932881E223E8839FBFAF +:10048000DF91CF9108958FB7F894EC91E22BEC9324 +:100490008FBFF6CF3FB7F894809117019091180164 +:1004A000A0911901B0911A0126B5A89B05C02F3F54 +:1004B00019F00196A11DB11D3FBFBA2FA92F982F8A +:1004C0008827BC01CD01620F711D811D911D42E085 +:1004D000660F771F881F991F4A95D1F708951F92BD +:1004E0000F920FB60F9211242F933F934F935F9368 +:1004F0006F937F938F939F93AF93BF93EF93FF93EC +:100500008BE191E00E940A01FF91EF91BF91AF91C1 +:100510009F918F917F916F915F914F913F912F911B +:100520000F900FBE0F901F9018951F920F920FB64D +:100530000F9211242F938F939F93EF93FF93E0914A +:100540002B01F0912C018081E0913101F091320179 +:1005500082FD1BC09081809134018F5F8F73209149 +:100560003501821741F0E0913401F0E0E55EFE4F85 +:10057000958F80933401FF91EF919F918F912F91EF +:100580000F900FBE0F901F9018958081F4CF1F928F +:100590000F920FB60F9211242F933F938F939F9337 +:1005A000AF93BF938091130190911401A091150115 +:1005B000B09116013091120123E0230F2D3758F529 +:1005C0000196A11DB11D20931201809313019093F8 +:1005D0001401A0931501B093160180911701909119 +:1005E0001801A0911901B0911A010196A11DB11D28 +:1005F0008093170190931801A0931901B0931A01E9 +:10060000BF91AF919F918F913F912F910F900FBE0E +:100610000F901F90189526E8230F0296A11DB11D7B +:10062000D2CFCF92DF92EF92FF920F931F93E82FDA +:10063000F92F05C0015011092109310961F190819B +:1006400096239417B9F305C0015011092109310906 +:1006500011F1908196239413F7CFC12CD12CE12C6A +:10066000F12C0AC08FEFC81AD80AE80AF80A0C154C +:100670001D052E053F0579F080818623841791F3AF +:100680006C2D7D2D8E2D9F2D1F910F91FF90EF9042 +:10069000DF90CF90089560E070E080E090E01F91DF +:1006A0000F91FF90EF90DF90CF900895789484B5EC +:1006B000826084BD84B5816084BD85B5826085BD5E +:1006C00085B5816085BD80916E00816080936E00EC +:1006D00010928100809181008260809381008091DE +:1006E000810081608093810080918000816080938F +:1006F00080008091B10084608093B1008091B0004F +:1007000081608093B00080917A00846080937A0049 +:1007100080917A00826080937A0080917A00816073 +:1007200080937A0080917A00806880937A0010929A +:10073000C10060E082E00E94190260E083E00E9454 +:10074000190261E084E00E94190261E085E00E94E4 +:100750001902E0912B01F0912C0182E08083E0915D +:100760002701F09128011082E0912901F0912A01DE +:100770008FEC808310923301E0912F01F0913001D2 +:1007800086E08083E0912D01F0912E0180818061CF +:100790008083E0912D01F0912E018081886080831B +:1007A000E0912D01F0912E01808180688083E0919D +:1007B0002D01F0912E0180818F7D80833BE4232EDB +:1007C000312C43E7C42ED12C2BE3E22EFF24F394EB +:1007D00082E00E94C201019709F0BEC060E084E09F +:1007E0000E94EB0183E090E00197F1F761E084E083 +:1007F0000E94EB01C1010197F1F760E084E00E94E3 +:10080000EB01E1EBF0E06491EDE9F0E08491E82F99 +:10081000F0E0EE0FFF1FE057FF4F8591949100E449 +:1008200012E42FE030E0462F0E941103611571059C +:100830008105910529F06F5F7F4F8F4F9F4F9F700C +:100840000E945D0520E034E244E759E40E94EB0495 +:1008500020E030E04AEA53E40E940F0620E030E056 +:1008600040E05FE30E940F0620E030E048EC52E4F5 +:100870000E940F0620E030E040EF51E40E94E604C1 +:1008800087FF6AC060E085E00E94EB010E944A0297 +:100890004B015C018EE1482E512C612C712C0E9481 +:1008A0004A02681979098A099B09683E73408105E3 +:1008B0009105A8F3F1E04F1A51086108710828EE7C +:1008C000820E23E0921EA11CB11C4114510461044C +:1008D000710429F761E085E00E94EB018BE990E06B +:1008E0000197F1F760E085E00E94190285E00E941F +:1008F000C2010197D9F3C7010197F1F785E00E9482 +:10090000C201892BD9F3C7010197F1F7C5E0D0E007 +:1009100008E010E085E00E94C201892B81F485E0A7 +:100920000E94C201892BD9F3C6010197F1F785E036 +:100930000E94C20185E00E94C2010197D9F30150D3 +:10094000110941F7219721F761E085E00E94190222 +:1009500061E085E00E94EB0180E090E0892B09F4E2 +:1009600037CF0E94F600882309F42ECF0E940000A2 +:100970002BCFEBE1F1E01382128288EE93E0A0E04E +:10098000B0E084839583A683B78384E091E091836C +:10099000808385EC90E09587848784EC90E097874E +:1009A000868780EC90E0918B808B81EC90E0938B3C +:1009B000828B82EC90E0958B848B86EC90E0978B19 +:1009C000868B118E128E138E148E08950E949A05B6 +:1009D00008F481E008950E94FF040C94D5050E945C +:1009E000CE0558F00E94C70540F029F45F3F29F07A +:1009F0000C94BE0551110C9409060C94C4050E9478 +:100A0000E60568F39923B1F3552391F3951B550B34 +:100A1000BB27AA2762177307840738F09F5F5F4FD1 +:100A2000220F331F441FAA1FA9F335D00E2E3AF010 +:100A3000E0E832D091505040E695001CCAF72BD028 +:100A4000FE2F29D0660F771F881FBB1F2617370779 +:100A50004807AB07B0E809F0BB0B802DBF01FF27AB +:100A600093585F4F3AF09E3F510578F00C94BE05C5 +:100A70000C9409065F3FE4F3983ED4F3869577958E +:100A80006795B795F7959F5FC9F7880F911D969564 +:100A9000879597F90895E1E0660F771F881FBB1FC0 +:100AA000621773078407BA0720F0621B730B840B6D +:100AB000BA0BEE1F88F7E0950895E89409C097FBFC +:100AC0003EF490958095709561957F4F8F4F9F4F25 +:100AD0009923A9F0F92F96E9BB279395F695879569 +:100AE00077956795B795F111F8CFFAF4BB0F11F42C +:100AF00060FF1BC06F5F7F4F8F4F9F4F16C08823D3 +:100B000011F096E911C0772321F09EE8872F762F08 +:100B100005C0662371F096E8862F70E060E02AF049 +:100B20009A95660F771F881FDAF7880F9695879535 +:100B300097F90895990F0008550FAA0BE0E8FEEF0A +:100B400016161706E807F907C0F012161306E40791 +:100B5000F50798F0621B730B840B950B39F40A268A +:100B600061F0232B242B252B21F408950A2609F468 +:100B7000A140A6958FEF811D811D089597F99F676C +:100B800080E870E060E008959FEF80EC0895002415 +:100B90000A941616170618060906089500240A94E2 +:100BA00012161306140605060895092E0394000C68 +:100BB00011F4882352F0BB0F40F4BF2B11F460FFF7 +:100BC00004C06F5F7F4F8F4F9F4F089557FD905820 +:100BD000440F551F59F05F3F71F04795880F97FB01 +:100BE000991F61F09F3F79F08795089512161306BB +:100BF0001406551FF2CF4695F1DF08C016161706EA +:100C00001806991FF1CF869571056105089408951E +:100C1000E894BB2766277727CB0197F908950E94B0 +:100C200022060C94D5050E94C70538F00E94CE0517 +:100C300020F0952311F00C94BE050C94C4051124EA +:100C40000C9409060E94E60570F3959FC1F3950F79 +:100C500050E0551F629FF001729FBB27F00DB11D40 +:100C6000639FAA27F00DB11DAA1F649F6627B00DD0 +:100C7000A11D661F829F2227B00DA11D621F739FB9 +:100C8000B00DA11D621F839FA00D611D221F749FC7 +:100C90003327A00D611D231F849F600D211D822F0E +:100CA000762F6A2F11249F5750409AF0F1F0882335 +:100CB0004AF0EE0FFF1FBB1F661F771F881F915062 +:100CC0005040A9F79E3F510580F00C94BE050C944E +:100CD00009065F3FE4F3983ED4F3869577956795D0 +:100CE000B795F795E7959F5FC1F7FE2B880F911D8C +:100CF0009695879597F90895EE0FFF1F0590F4914B +:080D0000E02D0994F894FFCFE7 +:100D0800000000002C018C00B9007901EA00C8003D +:020D1800DC00FD :00000001FF diff --git a/build/ex2.ino.with_bootloader.bin b/build/ex2.ino.with_bootloader.bin index 6e72df1..1d449f8 100644 Binary files a/build/ex2.ino.with_bootloader.bin and b/build/ex2.ino.with_bootloader.bin differ diff --git a/build/ex2.ino.with_bootloader.hex b/build/ex2.ino.with_bootloader.hex index 94f8f23..7054811 100644 --- a/build/ex2.ino.with_bootloader.hex +++ b/build/ex2.ino.with_bootloader.hex @@ -1,50 +1,214 @@ :020000040000FA -:100000000C9461000C9473000C9473000C947300B6 -:100010000C9473000C9473000C9473000C94730094 -:100020000C9473000C9473000C9473000C94730084 -:100030000C9473000C9473000C9473000C94730074 -:100040000C9475000C9473000C9473000C94730062 -:100050000C9473000C9473000C9473000C94730054 -:100060000C9473000C94730000000000250028001D -:100070002B0000000000240027002A0000000000E0 -:1000800023002600290004040404040404040202DA -:100090000202020203030303030301020408102007 -:1000A0004080010204081020010204081020000012 -:1000B0000008000201000003040700000000000027 -:1000C000000011241FBECFEFD8E0DEBFCDBF21E07E -:1000D000A0E0B1E001C01D92A930B207E1F70E9493 -:1000E000BF000C946E010C9400001F920F920FB68B -:1000F0000F9211242F933F938F939F93AF93BF93AE -:100100008091050190910601A0910701B09108012D -:100110003091040123E0230F2D3758F50196A11DDE -:10012000B11D209304018093050190930601A093D3 -:100130000701B09308018091000190910101A09105 -:100140000201B09103010196A11DB11D8093000130 -:1001500090930101A0930201B0930301BF91AF916D -:100160009F918F913F912F910F900FBE0F901F90F5 -:10017000189526E8230F0296A11DB11DD2CF7894C1 -:1001800084B5826084BD84B5816084BD85B582609C -:1001900085BD85B5816085BD80916E00816080934D -:1001A0006E001092810080918100826080938100B6 -:1001B00080918100816080938100809180008160C6 -:1001C000809380008091B10084608093B100809121 -:1001D000B00081608093B00080917A008460809349 -:1001E0007A0080917A00826080937A0080917A0010 -:1001F000816080937A0080917A00806880937A0091 -:100200001092C100CCE9D0E0FE01249108E810E092 -:10021000F80184918823C9F090E0880F991FFC01B0 -:10022000EE58FF4FA591B491FC01E859FF4F45915D -:1002300054913FB7F8949C91822F809598239C937A -:10024000FA019081892380833FBF90EBE92E90E0F3 -:10025000F92E20E0C22E20E0D22EF7018491FE017B -:100260009491F8019491992391F0882339F0833087 -:10027000F1F098F4813009F1823019F1E92FF0E0C2 -:10028000EE0FFF1FE458FF4FA591B4918C91C1145C -:10029000D10419F30E940000E0CF8730A9F0883024 -:1002A000C9F0843059F7809180008F7D03C0809120 -:1002B00080008F7780938000E1CF84B58F7784BDF5 -:1002C000DDCF84B58F7DFBCF8091B0008F77809399 -:1002D000B000D4CF8091B0008F7DF9CFF894FFCFDC +:100000000C9462000C948A000C948A000C948A0070 +:100010000C948A000C948A000C948A000C948A0038 +:100020000C948A000C948A000C948A000C948A0028 +:100030000C948A000C948A000C948A000C948A0018 +:100040000C94C7020C948A000C9495020C946F02D5 +:100050000C948A000C948A000C948A000C948A00F8 +:100060000C948A000C948A000000000024002700F1 +:100070002A0000000000250028002B0000000008D6 +:10008000000201000003040700000000000000005F +:1000900000000000230026002900040404040404D6 +:1000A0000404020202020202030303030303010227 +:1000B00004081020408001020408102001020408F6 +:1000C0001020B90411241FBECFEFD8E0DEBFCDBF92 +:1000D00011E0A0E0B1E0E8E0FDE002C005900D9283 +:1000E000A231B107D9F721E0A2E1B1E001C01D9230 +:1000F000A83BB207E1F710E0C2E6D0E004C02197C8 +:10010000FE010E947C06C136D107C9F70E94560342 +:100110000C9482060C940000AF92BF92CF92DF92B3 +:10012000EF92FF920F931F93CF93DF936C017B01AC +:100130008B01040F151FEB015E01AE18BF08C0173D +:10014000D10759F06991D601ED91FC910190F081B0 +:10015000E02DC6010995892B79F7C501DF91CF9173 +:100160001F910F91FF90EF90DF90CF90BF90AF90D5 +:100170000895FC01538D448D252F30E0842F90E0AD +:10018000821B930B541710F0CF9608950197089592 +:10019000FC01918D828D981761F0A28DAE0FBF2F5B +:1001A000B11D5D968C91928D9F5F9F73928F90E0B1 +:1001B00008958FEF9FEF0895FC01918D828D981720 +:1001C00031F0828DE80FF11D858D90E008958FEF5D +:1001D0009FEF0895FC01918D228D892F90E0805C26 +:1001E0009F4F821B91098F73992708958BE191E0AE +:1001F0000E94EA0021E0892B09F420E0822F089573 +:1002000080E090E0892B29F00E94F60081110C9487 +:1002100000000895FC01A48DA80FB92FB11DA35AA9 +:10022000BF4F2C91848D90E001968F739927848F16 +:10023000A689B7892C93A089B1898C918370806439 +:100240008C93938D848D981306C00288F389E02DDA +:1002500080818F7D80830895EF92FF920F931F938B +:10026000CF93DF93EC0181E0888F9B8D8C8D981369 +:100270001AC0E889F989808185FF15C09FB7F89475 +:10028000EE89FF896083E889F989808183708064C1 +:1002900080839FBF81E090E0DF91CF911F910F910C +:1002A000FF90EF900895F62E0B8D10E00F5F1F4F1B +:1002B0000F731127E02E8C8D8E110CC00FB607FC2A +:1002C000FACFE889F989808185FFF5CFCE010E94B8 +:1002D0000A01F1CFEB8DEC0FFD2FF11DE35AFF4F1B +:1002E000F0829FB7F8940B8FEA89FB898081806246 +:1002F000CFCFCF93DF93EC01888D8823B9F0AA8903 +:10030000BB89E889F9898C9185FD03C0808186FDD0 +:100310000DC00FB607FCF7CF8C9185FFF2CF80811F +:1003200085FFEDCFCE010E940A01E9CFDF91CF9189 +:100330000895833081F028F4813099F08230A9F05B +:1003400008958730A9F08830C9F08430B1F48091E5 +:1003500080008F7D03C0809180008F778093800024 +:10036000089584B58F7784BD089584B58F7DFBCFC4 +:100370008091B0008F778093B00008958091B00095 +:100380008F7DF9CFCF93DF93282F30E0F901E45828 +:10039000FF4F8491F901E255FF4FD491F901E656E0 +:1003A000FF4FC491CC23A1F081110E949901EC2F41 +:1003B000F0E0EE0FFF1FE057FF4FA591B491EC91D5 +:1003C000ED2381E090E009F480E0DF91CF91089582 +:1003D00080E090E0FACF1F93CF93DF93282F30E097 +:1003E000F901E458FF4F8491F901E255FF4FD49190 +:1003F000F901E656FF4FC491CC23A9F0162F8111C5 +:100400000E949901EC2FF0E0EE0FFF1FEE58FF4F16 +:10041000A591B4918FB7F894EC91111108C0D095C3 +:10042000DE23DC938FBFDF91CF911F910895DE2BE8 +:10043000F8CFCF93DF9390E0FC01E255FF4F24917A +:1004400086569F4FFC0184918823D1F090E0880F5D +:10045000991FFC01E859FF4FA591B491FC01EE589A +:10046000FF4FC591D49161110EC09FB7F8948C9144 +:10047000E22FE0958E238C932881E223E8839FBFAF +:10048000DF91CF9108958FB7F894EC91E22BEC9324 +:100490008FBFF6CF3FB7F894809117019091180164 +:1004A000A0911901B0911A0126B5A89B05C02F3F54 +:1004B00019F00196A11DB11D3FBFBA2FA92F982F8A +:1004C0008827BC01CD01620F711D811D911D42E085 +:1004D000660F771F881F991F4A95D1F708951F92BD +:1004E0000F920FB60F9211242F933F934F935F9368 +:1004F0006F937F938F939F93AF93BF93EF93FF93EC +:100500008BE191E00E940A01FF91EF91BF91AF91C1 +:100510009F918F917F916F915F914F913F912F911B +:100520000F900FBE0F901F9018951F920F920FB64D +:100530000F9211242F938F939F93EF93FF93E0914A +:100540002B01F0912C018081E0913101F091320179 +:1005500082FD1BC09081809134018F5F8F73209149 +:100560003501821741F0E0913401F0E0E55EFE4F85 +:10057000958F80933401FF91EF919F918F912F91EF +:100580000F900FBE0F901F9018958081F4CF1F928F +:100590000F920FB60F9211242F933F938F939F9337 +:1005A000AF93BF938091130190911401A091150115 +:1005B000B09116013091120123E0230F2D3758F529 +:1005C0000196A11DB11D20931201809313019093F8 +:1005D0001401A0931501B093160180911701909119 +:1005E0001801A0911901B0911A010196A11DB11D28 +:1005F0008093170190931801A0931901B0931A01E9 +:10060000BF91AF919F918F913F912F910F900FBE0E +:100610000F901F90189526E8230F0296A11DB11D7B +:10062000D2CFCF92DF92EF92FF920F931F93E82FDA +:10063000F92F05C0015011092109310961F190819B +:1006400096239417B9F305C0015011092109310906 +:1006500011F1908196239413F7CFC12CD12CE12C6A +:10066000F12C0AC08FEFC81AD80AE80AF80A0C154C +:100670001D052E053F0579F080818623841791F3AF +:100680006C2D7D2D8E2D9F2D1F910F91FF90EF9042 +:10069000DF90CF90089560E070E080E090E01F91DF +:1006A0000F91FF90EF90DF90CF900895789484B5EC +:1006B000826084BD84B5816084BD85B5826085BD5E +:1006C00085B5816085BD80916E00816080936E00EC +:1006D00010928100809181008260809381008091DE +:1006E000810081608093810080918000816080938F +:1006F00080008091B10084608093B1008091B0004F +:1007000081608093B00080917A00846080937A0049 +:1007100080917A00826080937A0080917A00816073 +:1007200080937A0080917A00806880937A0010929A +:10073000C10060E082E00E94190260E083E00E9454 +:10074000190261E084E00E94190261E085E00E94E4 +:100750001902E0912B01F0912C0182E08083E0915D +:100760002701F09128011082E0912901F0912A01DE +:100770008FEC808310923301E0912F01F0913001D2 +:1007800086E08083E0912D01F0912E0180818061CF +:100790008083E0912D01F0912E018081886080831B +:1007A000E0912D01F0912E01808180688083E0919D +:1007B0002D01F0912E0180818F7D80833BE4232EDB +:1007C000312C43E7C42ED12C2BE3E22EFF24F394EB +:1007D00082E00E94C201019709F0BEC060E084E09F +:1007E0000E94EB0183E090E00197F1F761E084E083 +:1007F0000E94EB01C1010197F1F760E084E00E94E3 +:10080000EB01E1EBF0E06491EDE9F0E08491E82F99 +:10081000F0E0EE0FFF1FE057FF4F8591949100E449 +:1008200012E42FE030E0462F0E941103611571059C +:100830008105910529F06F5F7F4F8F4F9F4F9F700C +:100840000E945D0520E034E244E759E40E94EB0495 +:1008500020E030E04AEA53E40E940F0620E030E056 +:1008600040E05FE30E940F0620E030E048EC52E4F5 +:100870000E940F0620E030E040EF51E40E94E604C1 +:1008800087FF6AC060E085E00E94EB010E944A0297 +:100890004B015C018EE1482E512C612C712C0E9481 +:1008A0004A02681979098A099B09683E73408105E3 +:1008B0009105A8F3F1E04F1A51086108710828EE7C +:1008C000820E23E0921EA11CB11C4114510461044C +:1008D000710429F761E085E00E94EB018BE990E06B +:1008E0000197F1F760E085E00E94190285E00E941F +:1008F000C2010197D9F3C7010197F1F785E00E9482 +:10090000C201892BD9F3C7010197F1F7C5E0D0E007 +:1009100008E010E085E00E94C201892B81F485E0A7 +:100920000E94C201892BD9F3C6010197F1F785E036 +:100930000E94C20185E00E94C2010197D9F30150D3 +:10094000110941F7219721F761E085E00E94190222 +:1009500061E085E00E94EB0180E090E0892B09F4E2 +:1009600037CF0E94F600882309F42ECF0E940000A2 +:100970002BCFEBE1F1E01382128288EE93E0A0E04E +:10098000B0E084839583A683B78384E091E091836C +:10099000808385EC90E09587848784EC90E097874E +:1009A000868780EC90E0918B808B81EC90E0938B3C +:1009B000828B82EC90E0958B848B86EC90E0978B19 +:1009C000868B118E128E138E148E08950E949A05B6 +:1009D00008F481E008950E94FF040C94D5050E945C +:1009E000CE0558F00E94C70540F029F45F3F29F07A +:1009F0000C94BE0551110C9409060C94C4050E9478 +:100A0000E60568F39923B1F3552391F3951B550B34 +:100A1000BB27AA2762177307840738F09F5F5F4FD1 +:100A2000220F331F441FAA1FA9F335D00E2E3AF010 +:100A3000E0E832D091505040E695001CCAF72BD028 +:100A4000FE2F29D0660F771F881FBB1F2617370779 +:100A50004807AB07B0E809F0BB0B802DBF01FF27AB +:100A600093585F4F3AF09E3F510578F00C94BE05C5 +:100A70000C9409065F3FE4F3983ED4F3869577958E +:100A80006795B795F7959F5FC9F7880F911D969564 +:100A9000879597F90895E1E0660F771F881FBB1FC0 +:100AA000621773078407BA0720F0621B730B840B6D +:100AB000BA0BEE1F88F7E0950895E89409C097FBFC +:100AC0003EF490958095709561957F4F8F4F9F4F25 +:100AD0009923A9F0F92F96E9BB279395F695879569 +:100AE00077956795B795F111F8CFFAF4BB0F11F42C +:100AF00060FF1BC06F5F7F4F8F4F9F4F16C08823D3 +:100B000011F096E911C0772321F09EE8872F762F08 +:100B100005C0662371F096E8862F70E060E02AF049 +:100B20009A95660F771F881FDAF7880F9695879535 +:100B300097F90895990F0008550FAA0BE0E8FEEF0A +:100B400016161706E807F907C0F012161306E40791 +:100B5000F50798F0621B730B840B950B39F40A268A +:100B600061F0232B242B252B21F408950A2609F468 +:100B7000A140A6958FEF811D811D089597F99F676C +:100B800080E870E060E008959FEF80EC0895002415 +:100B90000A941616170618060906089500240A94E2 +:100BA00012161306140605060895092E0394000C68 +:100BB00011F4882352F0BB0F40F4BF2B11F460FFF7 +:100BC00004C06F5F7F4F8F4F9F4F089557FD905820 +:100BD000440F551F59F05F3F71F04795880F97FB01 +:100BE000991F61F09F3F79F08795089512161306BB +:100BF0001406551FF2CF4695F1DF08C016161706EA +:100C00001806991FF1CF869571056105089408951E +:100C1000E894BB2766277727CB0197F908950E94B0 +:100C200022060C94D5050E94C70538F00E94CE0517 +:100C300020F0952311F00C94BE050C94C4051124EA +:100C40000C9409060E94E60570F3959FC1F3950F79 +:100C500050E0551F629FF001729FBB27F00DB11D40 +:100C6000639FAA27F00DB11DAA1F649F6627B00DD0 +:100C7000A11D661F829F2227B00DA11D621F739FB9 +:100C8000B00DA11D621F839FA00D611D221F749FC7 +:100C90003327A00D611D231F849F600D211D822F0E +:100CA000762F6A2F11249F5750409AF0F1F0882335 +:100CB0004AF0EE0FFF1FBB1F661F771F881F915062 +:100CC0005040A9F79E3F510580F00C94BE050C944E +:100CD00009065F3FE4F3983ED4F3869577956795D0 +:100CE000B795F795E7959F5FC1F7FE2B880F911D8C +:100CF0009695879597F90895EE0FFF1F0590F4914B +:100D0000E02D0994F894FFCF000000002C018C0026 +:0A0D1000B9007901EA00C800DC0018 :107E0000112484B714BE81FFF0D085E080938100F7 :107E100082E08093C00088E18093C10086E0809377 :107E2000C20080E18093C4008EE0C9D0259A86E02C diff --git a/build/preproc/ctags_target_for_gcc_minus_e.cpp b/build/preproc/ctags_target_for_gcc_minus_e.cpp index 969e903..0eb5f52 100644 --- a/build/preproc/ctags_target_for_gcc_minus_e.cpp +++ b/build/preproc/ctags_target_for_gcc_minus_e.cpp @@ -1,10 +1,19 @@ # 1 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" //通过人体红外热释电传感器和超声波测距传感器检测是否有人靠近以及当前距离是否小于30cm,基于温湿度传感器采集环境数据,通过硬件编程实现所需功能。 const int INFRARED_PIN = 2; +const int ECHO_PIN = 3; +const int TRIG_PIN = 4; +const int DHT11_PIN = 5; const double DISTANCE = 30.0; +byte data[5]; void setup() { // put your setup code here, to run once: - pinMode(INFRARED_PIN,0x0); + // 输入模式传感器读取环境数据,此时可被读取 + pinMode(INFRARED_PIN, 0x0); + pinMode(ECHO_PIN, 0x0); + pinMode(TRIG_PIN, 0x1); + pinMode(DHT11_PIN, 0x1); + Serial.begin(9600); } void loop() { @@ -14,7 +23,7 @@ void loop() { { if (measure_distance()10, starting measuring + digitalWrite(TRIG_PIN, 0x0); + double time = pulseIn(ECHO_PIN, 0x1); + return time/1000000*340/2*100; // return distance (cm) } void measure_T(){ + // 主机把总线拉低(输出低)至少18ms,保证DHT11检测到信号 + digitalWrite(DHT11_PIN, 0x0); + delay(30); // > 18 ms + // 主机延时等待20-40us(输出高,然后等待DHT11响应) + digitalWrite(DHT11_PIN, 0x1); + delayMicroseconds(40); + + // DHT11输入模式,准备读取数据 + pinMode(DHT11_PIN, 0x0); + + // DHT11发送80us低电平响应信号,然后再把总线拉高(高电平)80us + while (digitalRead(DHT11_PIN) == 0x1); // 必须等到 LOW + delayMicroseconds(80); // DHT11 发出响应,会拉低 80us;所以至少等80us + while (digitalRead(DHT11_PIN) == 0x0); // 继续等到变 HIGH + delayMicroseconds(80); //DHT11 会拉高到HIGH 80us 后开始发送数据 + for (int i = 0; i < 5; ++i) data[i] = read_byte(); + + // 最后一bit发送后,DHT11拉低总线50us,然后转换为输出模式(总线拉高),总线进入空闲状态 + pinMode(DHT11_PIN, 0x1); + digitalWrite(DHT11_PIN, 0x1); +} + +// 连续发送40bit数据,高位先出, 每一bit数据都是50us低电平开始,高电平的长短决定了数据是‘0’或是‘1’ +byte read_byte(){ + byte byt = 0; + for (int i = 0; i < 8; ++i){ + if (digitalRead(DHT11_PIN) == 0x0){ + while (digitalRead(DHT11_PIN) == 0x0); // wait to be high + delayMicroseconds(30); + if (digitalRead(DHT11_PIN) == 0x1) + byt |= (1<<(7-i)); ////高位在前,低位在后 + while (digitalRead(DHT11_PIN) == 0x1); // wait to be low + } + } + return byt; } diff --git a/build/sketch/ex2.ino.cpp b/build/sketch/ex2.ino.cpp index e093104..bae7ba4 100644 --- a/build/sketch/ex2.ino.cpp +++ b/build/sketch/ex2.ino.cpp @@ -2,21 +2,32 @@ #line 1 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" //通过人体红外热释电传感器和超声波测距传感器检测是否有人靠近以及当前距离是否小于30cm,基于温湿度传感器采集环境数据,通过硬件编程实现所需功能。 const int INFRARED_PIN = 2; +const int ECHO_PIN = 3; +const int TRIG_PIN = 4; +const int DHT11_PIN = 5; const double DISTANCE = 30.0; -#line 4 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +byte data[5]; +#line 8 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" void setup(); -#line 9 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +#line 18 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" void loop(); -#line 21 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +#line 30 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" bool person_closing(); -#line 26 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +#line 35 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" double measure_distance(); -#line 31 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +#line 46 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" void measure_T(); -#line 4 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +#line 71 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" +byte read_byte(); +#line 8 "g:\\course\\wlw\\exs\\code\\ex2\\ex2.ino" void setup() { // put your setup code here, to run once: - pinMode(INFRARED_PIN,INPUT); + // 输入模式传感器读取环境数据,此时可被读取 + pinMode(INFRARED_PIN, INPUT); + pinMode(ECHO_PIN, INPUT); + pinMode(TRIG_PIN, OUTPUT); + pinMode(DHT11_PIN, OUTPUT); + Serial.begin(9600); } void loop() { @@ -26,7 +37,7 @@ void loop() { { if (measure_distance()10, starting measuring + digitalWrite(TRIG_PIN, LOW); + + double time = pulseIn(ECHO_PIN, HIGH); + return time/1000000*340/2*100; // return distance (cm) } void measure_T(){ - + // 主机把总线拉低(输出低)至少18ms,保证DHT11检测到信号 + digitalWrite(DHT11_PIN, LOW); + delay(30); // > 18 ms + + // 主机延时等待20-40us(输出高,然后等待DHT11响应) + digitalWrite(DHT11_PIN, HIGH); + delayMicroseconds(40); + + // DHT11输入模式,准备读取数据 + pinMode(DHT11_PIN, INPUT); + + // DHT11发送80us低电平响应信号,然后再把总线拉高(高电平)80us + while (digitalRead(DHT11_PIN) == HIGH); // 必须等到 LOW + delayMicroseconds(80); // DHT11 发出响应,会拉低 80us;所以至少等80us + while (digitalRead(DHT11_PIN) == LOW); // 继续等到变 HIGH + delayMicroseconds(80); //DHT11 会拉高到HIGH 80us 后开始发送数据 + for (int i = 0; i < 5; ++i) data[i] = read_byte(); + + // 最后一bit发送后,DHT11拉低总线50us,然后转换为输出模式(总线拉高),总线进入空闲状态 + pinMode(DHT11_PIN, OUTPUT); + digitalWrite(DHT11_PIN, HIGH); } +// 连续发送40bit数据,高位先出, 每一bit数据都是50us低电平开始,高电平的长短决定了数据是‘0’或是‘1’ +byte read_byte(){ + byte byt = 0; + for (int i = 0; i < 8; ++i){ + if (digitalRead(DHT11_PIN) == LOW){ + while (digitalRead(DHT11_PIN) == LOW); // wait to be high + delayMicroseconds(30); + if (digitalRead(DHT11_PIN) == HIGH) + byt |= (1<<(7-i)); ////高位在前,低位在后 + while (digitalRead(DHT11_PIN) == HIGH); // wait to be low + } + } + return byt; +} diff --git a/build/sketch/ex2.ino.cpp.o b/build/sketch/ex2.ino.cpp.o index 5164c4f..29bca14 100644 Binary files a/build/sketch/ex2.ino.cpp.o and b/build/sketch/ex2.ino.cpp.o differ diff --git a/ex2.ino b/ex2.ino index a6cf3b1..6ed0463 100644 --- a/ex2.ino +++ b/ex2.ino @@ -2,11 +2,17 @@ const int INFRARED_PIN = 2; const int ECHO_PIN = 3; const int TRIG_PIN = 4; +const int DHT11_PIN = 5; const double DISTANCE = 30.0; +byte data[5]; void setup() { // put your setup code here, to run once: - pinMode(INFRARED_PIN,INPUT); - pinMode() + // 输入模式传感器读取环境数据,此时可被读取 + pinMode(INFRARED_PIN, INPUT); + pinMode(ECHO_PIN, INPUT); + pinMode(TRIG_PIN, OUTPUT); + pinMode(DHT11_PIN, OUTPUT); + Serial.begin(9600); } void loop() { @@ -26,11 +32,52 @@ bool person_closing(){ return digitalRead(INFRARED_PIN)==HIGH; } -double measure_distance() -{ - +double measure_distance(){ + digitalWrite(TRIG_PIN, LOW); + delayMicroseconds(2); + digitalWrite(TRIG_PIN, HIGH); + delayMicroseconds(20); // >10, starting measuring + digitalWrite(TRIG_PIN, LOW); + + double time = pulseIn(ECHO_PIN, HIGH); + return time/1000000*340/2*100; // return distance (cm) } void measure_T(){ - + // 主机把总线拉低(输出低)至少18ms,保证DHT11检测到信号 + digitalWrite(DHT11_PIN, LOW); + delay(30); // > 18 ms + + // 主机延时等待20-40us(输出高,然后等待DHT11响应) + digitalWrite(DHT11_PIN, HIGH); + delayMicroseconds(40); + + // DHT11输入模式,准备读取数据 + pinMode(DHT11_PIN, INPUT); + + // DHT11发送80us低电平响应信号,然后再把总线拉高(高电平)80us + while (digitalRead(DHT11_PIN) == HIGH); // 必须等到 LOW + delayMicroseconds(80); // DHT11 发出响应,会拉低 80us;所以至少等80us + while (digitalRead(DHT11_PIN) == LOW); // 继续等到变 HIGH + delayMicroseconds(80); //DHT11 会拉高到HIGH 80us 后开始发送数据 + for (int i = 0; i < 5; ++i) data[i] = read_byte(); + + // 最后一bit发送后,DHT11拉低总线50us,然后转换为输出模式(总线拉高),总线进入空闲状态 + pinMode(DHT11_PIN, OUTPUT); + digitalWrite(DHT11_PIN, HIGH); } + +// 连续发送40bit数据,高位先出, 每一bit数据都是50us低电平开始,高电平的长短决定了数据是‘0’或是‘1’ +byte read_byte(){ + byte byt = 0; + for (int i = 0; i < 8; ++i){ + if (digitalRead(DHT11_PIN) == LOW){ + while (digitalRead(DHT11_PIN) == LOW); // wait to be high + delayMicroseconds(30); + if (digitalRead(DHT11_PIN) == HIGH) + byt |= (1<<(7-i)); ////高位在前,低位在后 + while (digitalRead(DHT11_PIN) == HIGH); // wait to be low + } + } + return byt; +} \ No newline at end of file