(457,-457,'',457,0,0,'','','html1','[Linux] 라즈베리파이 제로W 사용','<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 60px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">라즈베리파이 제로에서 wi-fi 모듈이 추가된 제로 W<br /></span><span style=\"background-color: inherit;\">이름 그대로 제로에서 wifi 모듈이 추가되어서 wifi의 약자인 W를 뒤에 넣은 것 같다 (?)<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea\" style=\"position: relative; margin-right: auto; margin-left: auto; max-width: 308px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"se_mediaArea __se_image_link __se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_0_img&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjg5/MDAxNTE1NjY4NTA1NDIy.MiqYqh03ZYHdGUBROO0wXaRvadO8Q50rD7K1h_oC0Ygg.va4H5olYXUuR2Eg3ifexglQ_JPL-crmiaEYVSp_mnjIg.JPEG.asdf2017/W.jpg&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); position: relative; display: block;\" target=\"_blank\"><img id=\"img_1\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjg5/MDAxNTE1NjY4NTA1NDIy.MiqYqh03ZYHdGUBROO0wXaRvadO8Q50rD7K1h_oC0Ygg.va4H5olYXUuR2Eg3ifexglQ_JPL-crmiaEYVSp_mnjIg.JPEG.asdf2017/W.jpg?type=w800\" data-lazy-src=\"\" data-width=\"308\" data-height=\"164\" data-attachment-id=\"I0izsku4-G4ctNbB8kC04c6AiHa0\" alt=\"\" data-top=\"818\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; width: 308px;\" /></a>\r\n            <div class=\"se_editView\" style=\"position: relative; margin-bottom: 30px;\">\r\n               <div class=\"se_textView se_mediaCaption\" style=\"max-width: 700px; min-height: 18px; font-size: 13px; line-height: 19px; color: #777777; margin-left: auto; margin-right: auto; margin-top: 10px;\"><span class=\"se_textarea\" style=\"display: block; width: 308px; height: 19px; padding: 0px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-word;\">라즈베리파이 제로W</span></div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 60px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">라즈베리파이 제로와 성능 스펙은 똑같고 차이점이 있다면 wifi 모듈과 블루투스 모듈이 탑재된 것이다.<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-justify\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: justify; font-size: 0px;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea\" style=\"position: relative;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"se_mediaArea __se_image_link __se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_1_img&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjMz/MDAxNTE1NjY4NTUzMjM2.5dvbg4g03uxDHxV8mNhSfKyBBWw4Z5h3OJjBpPMvcDUg.lELobZOtmvqsZXzw5gP4tsfuPGcI1i9f5hYJACn1-Kgg.PNG.asdf2017/W1.PNG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); position: relative; display: block;\" target=\"_blank\"><img id=\"img_2\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjMz/MDAxNTE1NjY4NTUzMjM2.5dvbg4g03uxDHxV8mNhSfKyBBWw4Z5h3OJjBpPMvcDUg.lELobZOtmvqsZXzw5gP4tsfuPGcI1i9f5hYJACn1-Kgg.PNG.asdf2017/W1.PNG?type=w800\" data-lazy-src=\"\" data-width=\"1050\" data-height=\"816\" data-attachment-id=\"IHqe3Y0_aevwzq-hrZUWEci7gv80\" alt=\"\" data-top=\"1131\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; width: 700px;\" /></a>\r\n            <div class=\"se_editView\" style=\"position: relative; margin-bottom: 30px;\">\r\n               <div class=\"se_textView se_mediaCaption\" style=\"max-width: 700px; min-height: 18px; font-size: 13px; line-height: 19px; color: #777777; text-align: center; margin-left: auto; margin-right: auto; margin-top: 10px;\"><span class=\"se_textarea\" style=\"display: block; width: 700px; height: 19px; padding: 0px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-word;\">출처 : https://cdn.sparkfun.com/assets/learn_tutorials/6/7/6/PiZero_1.pdf</span></div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 180px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">위의 사진을 보면 왼쪽에 Zero 오른쪽이 ZeroW 모델이다.&nbsp;</span><span style=\"background-color: inherit;\">라즈베리파이 3과 비슷하게 2.4GHz wifi만 잡을 수 있다.&nbsp;</span><span style=\"background-color: inherit;\">라즈베리파이 제로는 LAN 선을 꽂고 ssh로 접속을 하거나 hdmi로 모니터와 마우스 및 키보드를 꽂아서 설정해줘야&nbsp;되기 때문에 매우 번거로웠는데, 제로W같은 경우에는 wifi 모듈이 탑재되어서 boot 파티션에서 wifi 설정 파일만 넣어준 뒤에 ip를 찾아서 접속을 하면 된다. wifi와 블루투스 모듈도 생겼기 때문에 스마트폰 어플을 만들어서 통신도 가능하다. 여하튼 와이파이 모듈과 블루투스 모듈의 추가가&nbsp; 여러 가지 만들 수 있는 조건을 만들어주었다.<br /></span><span style=\"background-color: inherit;\"></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_sectionTitle \" style=\"margin-top: 24px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_H1 \" style=\"position: relative; font-size: 38px; line-height: 1.45; text-decoration: inherit; font-style: inherit;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <h4 class=\"se_textarea\" style=\"margin: 0px; padding: 0px; font-size: inherit; line-height: inherit; font-family: inherit; font-weight: inherit; width: 700px; height: 110px; outline: 0px; border: none; background: 0px 0px; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none;\">라즈베리파이 제로W 모니터 사용안하고 접속하기</h4>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 24px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 60px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">OS가 깔려있지 않다면 먼저 밑의 링크로 들어가서 SD카드에다가 라즈베리파이 OS를 Writing을 먼저 해준다.</p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_oglink default \" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; vertical-align: middle; position: relative; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px; line-height: 1.2;\">\r\n      <div class=\"se_editArea\" id=\"SEDOC-1519454644150-821107990_oglink_1\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_og_wrap\" style=\"position: relative; display: inline-block; width: 480px; background: url(&quot;../img/theme_bg/bg_component_light.png&quot;) rgb(248, 248, 248);\"><a class=\"se_og_box  __se_link\" href=\"https://www.raspberrypi.org/downloads/raspbian/\" target=\"_blank\" data-linktype=\"link\" data-linkdata=\"{&quot;link&quot; : &quot;https://www.raspberrypi.org/downloads/raspbian/&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 8px 0px; overflow: hidden; position: relative; width: 480px; height: 130px; display: table; table-layout: fixed;\">\r\n               <div class=\"se_og_thumb\" style=\"overflow: hidden; position: relative; clear: both; display: table-cell; width: 130px;\"><img src=\"https://dthumb-phinf.pstatic.net/?src=%22https%3A%2F%2Fwww.raspberrypi.org%2Fapp%2Fuploads%2F2015%2F08%2Fraspbian.png%22&amp;type=ff120\" alt=\"\" class=\"_lazy-loading-target-image\" data-top=\"2168.25\" style=\"border: 0px; vertical-align: middle; max-width: 100%; width: 130px; min-height: 110px;\" /></div>\r\n               <div class=\"se_og_txt\" style=\"text-align: left; vertical-align: middle; position: relative; width: 350px; padding: 21px 30px 21px 20px; box-sizing: border-box; display: table-cell;\">\r\n                  <div class=\"se_og_tit\" style=\"font-size: 15px; color: #444444; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;\">Download Raspbian for Raspberry Pi</div>\r\n                  <div class=\"se_og_desc\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #666666;\">Raspbian is the Foundation\'s official supported operating system. You can install it with NOOBS or download the image below.</div>\r\n                  <div class=\"se_og_cp\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #608cba;\">www.raspberrypi.org</div>\r\n                  </div>\r\n               </a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">라즈비안을 굽는 방법을 모르시는 분들은 밑의 링크로 들어가서 확인해보시면 됩니다.</p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_oglink og_bSize \" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; vertical-align: middle; position: relative; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px; line-height: 1.2;\">\r\n      <div class=\"se_editArea\" id=\"SEDOC-1519454644150-821107990_oglink_2\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_og_wrap\" style=\"position: relative; display: inline-block; width: 480px; background: url(&quot;../img/theme_bg/bg_component_light.png&quot;) rgb(248, 248, 248);\"><a class=\"se_og_box  __se_link\" href=\"http://blog.xcoda.net/82\" target=\"_blank\" data-linktype=\"link\" data-linkdata=\"{&quot;link&quot; : &quot;http://blog.xcoda.net/82&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 8px 0px; overflow: hidden; position: relative; width: 480px; height: 398px; display: block;\">\r\n               <div class=\"se_og_thumb\" style=\"overflow: hidden; position: relative; clear: both; width: 480px;\"><img src=\"https://dthumb-phinf.pstatic.net/?src=%22http%3A%2F%2Fcfile24.uf.tistory.com%2Fimage%2F272316465728B3BA15FD8B%22&amp;type=ff500_300\" alt=\"\" class=\"_lazy-loading-target-image\" data-top=\"2388.25\" style=\"border: 0px; vertical-align: top; max-width: 100%; width: 480px; max-height: 480px;\" /></div>\r\n               <div class=\"se_og_txt\" style=\"text-align: left; vertical-align: middle; position: relative; width: 480px; padding: 21px 20px; box-sizing: border-box;\">\r\n                  <div class=\"se_og_tit\" style=\"font-size: 15px; color: #444444; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;\">라즈베리파이 개발환경 꾸미기 #1. 라즈비안 OS 설치하기</div>\r\n                  <div class=\"se_og_desc\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #666666;\">이 포스트는 라즈베리파이 개발환경 꾸미기를 주제로 아래와 같은 시리즈 연재로 이루어 집니다. &gt;&gt; 라즈비안 OS 설치하기 &lt;&lt; 키보드 모니터 없이 라즈베리파이 Login 하기 Wifi 설정 / 기본 설정하기 파이썬 + Ec..</div>\r\n                  <div class=\"se_og_cp\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #608cba;\">blog.xcoda.net</div>\r\n                  </div>\r\n               </a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea\" style=\"position: relative; margin-right: auto; margin-left: auto; max-width: 476px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"se_mediaArea __se_image_link __se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_2_img&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfNjAg/MDAxNTE1NjY5Mzk3NjQ2.HPXZCJEnSaGxCU-i8YT3Htw2JLpRggi39cxQVV398HUg.ijoSzAfawfyOf3mf0f1eg3-iW-I0S2EProrufC5RqLMg.PNG.asdf2017/aa.PNG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); position: relative; display: block;\" target=\"_blank\"><img id=\"img_3\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfNjAg/MDAxNTE1NjY5Mzk3NjQ2.HPXZCJEnSaGxCU-i8YT3Htw2JLpRggi39cxQVV398HUg.ijoSzAfawfyOf3mf0f1eg3-iW-I0S2EProrufC5RqLMg.PNG.asdf2017/aa.PNG?type=w800\" data-lazy-src=\"\" data-width=\"476\" data-height=\"339\" data-attachment-id=\"I2ILYQ-kQQ_Zcs95NB5KvoMtpovE\" alt=\"\" data-top=\"2816.25\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; width: 476px;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">저는 Win32 Disk imager 프로그램을 사용해서 Writing해보도록 하겠습니다.<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_imageStrip imageStrip2 default \" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-extend\" style=\"position: relative; width: auto; max-width: none; margin: 0px -50px;\">\r\n      <div class=\"se_viewArea\" style=\"position: relative;\">\r\n         <div class=\"se_editArea\" style=\"position: relative;\">\r\n            <div class=\"se_imageStripView\" style=\"position: relative; overflow-wrap: normal;\">\r\n               <div class=\"se_mediaArea\" style=\"position: relative; white-space: nowrap; font-size: 0px; padding-right: 5px;\">\r\n                  <div class=\"se_imageStripArea\" style=\"position: relative; display: inline-block; height: 459.359px; margin-right: 5px; overflow: hidden; vertical-align: top; width: 327.156px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"__se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_3_img_0&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTUy/MDAxNTE1NjY5ODY0ODU4.pj5AKP_rLlAYeUKgyNuLW8DDAdw_z_RoaTIbBzJiZTUg.YXgL_bpoBBV1TrHV6yufyB7aqApwy65mQZCDGHl3P5kg.PNG.asdf2017/ab.PNG&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);\" target=\"_blank\"><img alt=\"\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" data-attachment-id=\"I1B1s47drCOScZ7obJQM00fpqMNA\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTUy/MDAxNTE1NjY5ODY0ODU4.pj5AKP_rLlAYeUKgyNuLW8DDAdw_z_RoaTIbBzJiZTUg.YXgL_bpoBBV1TrHV6yufyB7aqApwy65mQZCDGHl3P5kg.PNG.asdf2017/ab.PNG?type=w800\" data-lazy-src=\"\" data-width=\"193\" data-height=\"271\" id=\"img_4\" data-top=\"3245.390625\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; margin: 0px auto; width: 327.156px;\" /></a></div>\r\n                  &nbsp;\r\n                  <div class=\"se_imageStripArea\" style=\"position: relative; display: inline-block; height: 459.766px; margin-right: 0px; overflow: hidden; vertical-align: top; width: 928.828px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"__se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_4_img_1&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjEz/MDAxNTE1NjY5ODY0OTIx.wZKn7wHv3ervbfqm-ApICbCQjpGyY7lytGXA9zx3kxYg.aD_25fxWdJfuMMSqXj1N-8ebYHE8gWeiD8KCOpZJFfAg.PNG.asdf2017/ac.PNG&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);\" target=\"_blank\"><img alt=\"\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" data-attachment-id=\"ID6pk6RVl9qzX-iTv-qR-OgjFyss\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjEz/MDAxNTE1NjY5ODY0OTIx.wZKn7wHv3ervbfqm-ApICbCQjpGyY7lytGXA9zx3kxYg.aD_25fxWdJfuMMSqXj1N-8ebYHE8gWeiD8KCOpZJFfAg.PNG.asdf2017/ac.PNG?type=w800\" data-lazy-src=\"\" data-width=\"1108\" data-height=\"548\" id=\"img_5\" data-top=\"3245.390625\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; margin: 0px auto; width: 928.828px;\" /></a></div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 120px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">Writing이 끝났으면 라즈베리파이 SD카드 boot 디렉토리로 가서 설정된 두 개의 파일을 해당 디렉토리에다가 넣어주면 되는데, 그 파일이 wpa_supplicant.conf와 ssh가 있다. wpa 파일은 라즈비안이 wifi을 잡을 수 있는 역할을 해준다. ssh 파일은 라즈비안의 보안상 막혀있는 ssh 통신 접속을 enable시켜주는 역할을 한다. 밑에 있는 두개의 파일을 다운로드 한 뒤에 wpa 파일만 설정해준다.</span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_file default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px;\">\r\n      <div class=\"se_editArea\" id=\"SEDOC-1519454644150-821107990_file_0\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_file_wrap\" style=\"position: relative; display: inline-block; width: 480px; height: 47px;\"><a href=\"http://blogattach.naver.net/49dc55e5f1a9ad715eb2dfefd1384f3791c93dddf8/20180111_75_blogfile/asdf2017_1515670246394_tup2aB_conf/wpa_supplicant.conf\" title=\"파일 다운로드 팝업띄우기\" role=\"button\" class=\"se_name_area __se_toggle_fileList __se_link\" target=\"_blank\" data-linktype=\"file\" data-linkdata=\"{&quot;link&quot;: &quot;http://blogattach.naver.net/49dc55e5f1a9ad715eb2dfefd1384f3791c93dddf8/20180111_75_blogfile/asdf2017_1515670246394_tup2aB_conf/wpa_supplicant.conf&quot;}\" style=\"text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); display: block; position: relative; text-align: left; padding: 0px 13px; line-height: normal;\"><span class=\"se_name\" style=\"width: 408.594px; height: inherit; line-height: 47px; font-size: 13px; display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;\">wpa_supplicant.conf</span><span class=\"se_btn_openFileDown\" style=\"position: absolute; right: 0px; top: 0px; width: 46px; height: 47px;\"><i class=\"se_ico_fileDown\" style=\"background-image: url(&quot;../img/sp_component.png&quot;); background-repeat: no-repeat; background-size: 391px 362px; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; margin: auto; display: inline-block; width: 16px; height: 17px; background-position: -187px -140px;\"></i></span></a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_file default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px;\">\r\n      <div class=\"se_editArea\" id=\"SEDOC-1519454644150-821107990_file_1\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_file_wrap\" style=\"position: relative; display: inline-block; width: 480px; height: 47px;\"><a href=\"http://blogattach.naver.net/ea7ff64d546160d6f11d7d4f7d96ed9238609c37/20180111_74_blogfile/asdf2017_1515670642553_zYN9jr_/ssh\" title=\"파일 다운로드 팝업띄우기\" role=\"button\" class=\"se_name_area __se_toggle_fileList __se_link\" target=\"_blank\" data-linktype=\"file\" data-linkdata=\"{&quot;link&quot;: &quot;http://blogattach.naver.net/ea7ff64d546160d6f11d7d4f7d96ed9238609c37/20180111_74_blogfile/asdf2017_1515670642553_zYN9jr_/ssh&quot;}\" style=\"text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); display: block; position: relative; text-align: left; padding: 0px 13px; line-height: normal;\"><span class=\"se_name\" style=\"width: 408.594px; height: inherit; line-height: 47px; font-size: 13px; display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;\">ssh</span><span class=\"se_btn_openFileDown\" style=\"position: absolute; right: 0px; top: 0px; width: 46px; height: 47px;\"><i class=\"se_ico_fileDown\" style=\"background-image: url(&quot;../img/sp_component.png&quot;); background-repeat: no-repeat; background-size: 391px 362px; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; margin: auto; display: inline-block; width: 16px; height: 17px; background-position: -187px -140px;\"></i></span></a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_code code_black\" id=\"SEDOC-1519454644150-821107990_code_0\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_fs_T3 \" style=\"position: relative; font-family: &quot;Source Code Pro&quot;, Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace, sans-serif; line-height: 26px;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\" style=\"overflow: auto; background:  0% 0% / 52px 52px rgb(39, 40, 34);\">\r\n                  <div class=\"__se_code_view se_textarea  language-javascript\" style=\"width: auto; height: 232px; padding: 12px 17px; outline: 0px; border: none; background: 0px 0px; font-size: inherit; font-weight: inherit; line-height: inherit; color: #f8f8f2; font-style: inherit; text-decoration: inherit; resize: none; min-height: 50px; box-sizing: border-box; direction: ltr; word-spacing: normal; word-break: break-all; overflow-wrap: normal; tab-size: 4; hyphens: none; overflow: auto; white-space: pre-wrap; font-family: inherit !important;\">#wpa_supplicant<span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">.</span>conf\r\ncountry<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_constant\" style=\"color: #f86634;\">GB</span>\r\nctrl_interface<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_constant\" style=\"color: #f86634;\">DIR</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span><span class=\"token se_code_keyword\" style=\"color: #f2c13f;\">var</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span>run<span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span>wpa_supplicant <span class=\"token se_code_constant\" style=\"color: #f86634;\">GROUP</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span>netdev\r\nupdate_config<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_number\" style=\"color: #f86634;\">1</span>\r\nnetwork<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">{</span>\r\n        ssid<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_string\" style=\"color: #f761aa;\">\"your-id\"</span>\r\n        psk<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_string\" style=\"color: #f761aa;\">\"your-password\"</span><span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">}</span></div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 90px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">wpa 파일 확장자명을 .txt 로 바꾸거나, 노트패드++ 및 다른 프로그램을 사용하여 파일을 열어 your-id를 집 혹은 주변에 있는 wifi 이름으로 your-password를 해당 wifi의 비밀번호를 적어준 다음에 저장한다. 저장할 때&nbsp;</span><span style=\"background-color: inherit;\">주의할 점은 확장자 명이 없어야 한다.<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 24px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">ex ) wpa_supplicant.conf.txt (X) wpa_supplicant.conf (O)<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 24px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">만약 패스워드가 없는 경우라면 밑에 있는 코드를 참조하면 된다.</p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_code code_black\" id=\"SEDOC-1519454644150-821107990_code_1\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_fs_T3 \" style=\"position: relative; font-family: &quot;Source Code Pro&quot;, Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace, sans-serif; line-height: 26px;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\" style=\"overflow: auto; background:  0% 0% / 52px 52px rgb(39, 40, 34);\">\r\n                  <div class=\"__se_code_view se_textarea  language-javascript\" style=\"width: auto; height: 232px; padding: 12px 17px; outline: 0px; border: none; background: 0px 0px; font-size: inherit; font-weight: inherit; line-height: inherit; color: #f8f8f2; font-style: inherit; text-decoration: inherit; resize: none; min-height: 50px; box-sizing: border-box; direction: ltr; word-spacing: normal; word-break: break-all; overflow-wrap: normal; tab-size: 4; hyphens: none; overflow: auto; white-space: pre-wrap; font-family: inherit !important;\">#wpa_supplicant<span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">.</span>conf\r\ncountry<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_constant\" style=\"color: #f86634;\">GB</span>\r\nctrl_interface<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_constant\" style=\"color: #f86634;\">DIR</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span><span class=\"token se_code_keyword\" style=\"color: #f2c13f;\">var</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span>run<span class=\"token se_code_operator\" style=\"color: #9fba45;\">/</span>wpa_supplicant <span class=\"token se_code_constant\" style=\"color: #f86634;\">GROUP</span><span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span>netdev\r\nupdate_config<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_number\" style=\"color: #f86634;\">1</span>\r\nnetwork<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">{</span>\r\n    ssid<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_string\" style=\"color: #f761aa;\">\"your-id\"</span>\r\n    key_mgmt<span class=\"token se_code_operator\" style=\"color: #9fba45;\">=</span><span class=\"token se_code_constant\" style=\"color: #f86634;\">NONE</span><span class=\"token se_code_punctuation\" style=\"color: #ffffff;\">}</span></div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 0px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">&nbsp;</p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_imageStrip imageStrip2 default \" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-extend\" style=\"position: relative; width: auto; max-width: none; margin: 0px -50px;\">\r\n      <div class=\"se_viewArea\" style=\"position: relative;\">\r\n         <div class=\"se_editArea\" style=\"position: relative;\">\r\n            <div class=\"se_imageStripView\" style=\"position: relative; overflow-wrap: normal;\">\r\n               <div class=\"se_mediaArea\" style=\"position: relative; white-space: nowrap; font-size: 0px; padding-right: 5px;\">\r\n                  <div class=\"se_imageStripArea\" style=\"position: relative; display: inline-block; height: 460.594px; margin-right: 5px; overflow: hidden; vertical-align: top; width: 328.031px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"__se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_5_img_0&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjI5/MDAxNTE1NjcwNzQ4NTQy.33bbrVzmy03n7R8Wnsguzoxy4IyAHNR9Qdpves9U578g.9vXw08ESr7TyNXIg0Ou1MSC7XysyCu5nR5dCtgARlW0g.PNG.asdf2017/ab.PNG&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);\" target=\"_blank\"><img alt=\"\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" data-attachment-id=\"IT5-Vdgnnsf0eX53JWnz49dNEKPc\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMjI5/MDAxNTE1NjcwNzQ4NTQy.33bbrVzmy03n7R8Wnsguzoxy4IyAHNR9Qdpves9U578g.9vXw08ESr7TyNXIg0Ou1MSC7XysyCu5nR5dCtgARlW0g.PNG.asdf2017/ab.PNG?type=w800\" data-lazy-src=\"\" data-width=\"193\" data-height=\"271\" id=\"img_8\" data-top=\"4807.796875\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; margin: 0px auto; width: 328.031px;\" /></a></div>\r\n                  &nbsp;\r\n                  <div class=\"se_imageStripArea\" style=\"position: relative; display: inline-block; height: 460.484px; margin-right: 0px; overflow: hidden; vertical-align: top; width: 927.953px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"__se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_6_img_1&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfNjQg/MDAxNTE1NjcwODQ3MzUx.LUMkTlYEKkKsS0SMRCwuhD6v_3Zbcxwa8lu4xx56FqEg.2MnngWfkFYOlBttLZEFm5PA9rsiIIxUnNnbVOj_ZEFsg.PNG.asdf2017/ac.PNG&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);\" target=\"_blank\"><img alt=\"\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" data-attachment-id=\"IuRUrDtp_pMp7-_iBctr7kjZz3pY\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfNjQg/MDAxNTE1NjcwODQ3MzUx.LUMkTlYEKkKsS0SMRCwuhD6v_3Zbcxwa8lu4xx56FqEg.2MnngWfkFYOlBttLZEFm5PA9rsiIIxUnNnbVOj_ZEFsg.PNG.asdf2017/ac.PNG?type=w800\" data-lazy-src=\"\" data-width=\"1104\" data-height=\"548\" id=\"img_9\" data-top=\"4807.796875\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; margin: 0px auto; width: 927.953px;\" /></a></div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">설정을 끝낸 뒤에 SD 카드 boot 디렉터리에다가 넣어주면 된다.</span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 24px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">이제 제로W와 SD카드를 합체시켜준다.<br /></span><span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-justify\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: justify; font-size: 0px;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea\" style=\"position: relative;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"se_mediaArea __se_image_link __se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_7_img&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTIx/MDAxNTE1NjcxMjcxMDkw.rw3PJzHkSQ-vF_eSmUHcwTdZNMlLP_wgPFDFyzO-ZAsg.4qIjqXeTM7Oi5r88qCnYkdXUlXFXVmkI7TslbfRDXpUg.JPEG.asdf2017/1.jpg&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); position: relative; display: block;\" target=\"_blank\"><img id=\"img_10\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTIx/MDAxNTE1NjcxMjcxMDkw.rw3PJzHkSQ-vF_eSmUHcwTdZNMlLP_wgPFDFyzO-ZAsg.4qIjqXeTM7Oi5r88qCnYkdXUlXFXVmkI7TslbfRDXpUg.JPEG.asdf2017/1.jpg?type=w800\" data-lazy-src=\"\" data-width=\"960\" data-height=\"720\" data-attachment-id=\"IGEOR1YGJb8lYdQrp0Hf59Rrw9qs\" alt=\"\" data-top=\"5421.765625\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; width: 700px;\" /></a>\r\n            <div class=\"se_editView\" style=\"position: relative; margin-bottom: 30px;\">\r\n               <div class=\"se_textView se_mediaCaption\" style=\"max-width: 700px; min-height: 18px; font-size: 13px; line-height: 19px; color: #777777; text-align: center; margin-left: auto; margin-right: auto; margin-top: 10px;\"><span class=\"se_textarea\" style=\"display: block; width: 700px; height: 19px; padding: 0px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-word;\">라즈베리파이 제로W</span></div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 120px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\"><span style=\"background-color: inherit;\">화질은 양해 바란다 ㅠ. 이렇게 연결을 해준 뒤에 무선 공유기에 접속한 뒤 라즈베리파이 IP가 떴는지 확인해준다.<br /></span><span style=\"background-color: inherit;\">만약 뜨지 않았으면 설정이 정확하게 되었는지 확인해 본 후 설정이 완벽하다면, 해당 무선공유기가 라즈베리파이 와이파이 모듈이 호환이 안되는 경우도 있으니 밑에 링크를 참조해주길 바랍니다.</span><br /></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_oglink default \" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; vertical-align: middle; position: relative; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px; line-height: 1.2;\">\r\n      <div class=\"se_editArea\" id=\"SEDOC-1519454644150-821107990_oglink_3\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_og_wrap\" style=\"position: relative; display: inline-block; width: 480px; background: url(&quot;../img/theme_bg/bg_component_light.png&quot;) rgb(248, 248, 248);\"><a class=\"se_og_box  __se_link\" href=\"http://asdf2017.blog.me/220989831334\" target=\"_blank\" data-linktype=\"link\" data-linkdata=\"{&quot;link&quot; : &quot;http://asdf2017.blog.me/220989831334&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 8px 0px; overflow: hidden; position: relative; width: 480px; height: 130px; display: table; table-layout: fixed;\">\r\n               <div class=\"se_og_thumb\" style=\"overflow: hidden; position: relative; clear: both; display: table-cell; width: 130px;\"><img src=\"https://dthumb-phinf.pstatic.net/?src=%22https%3A%2F%2Fblogimgs.pstatic.net%2Fnblog%2Fmylog%2Fpost%2Fog_default_image_160610.png%22&amp;type=ff120\" alt=\"\" class=\"_lazy-loading-target-image\" data-top=\"6155.765625\" style=\"border: 0px; vertical-align: middle; max-width: 100%; width: 130px; min-height: 110px;\" /></div>\r\n               <div class=\"se_og_txt\" style=\"text-align: left; vertical-align: middle; position: relative; width: 350px; padding: 21px 30px 21px 20px; box-sizing: border-box; display: table-cell;\">\r\n                  <div class=\"se_og_tit\" style=\"font-size: 15px; color: #444444; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;\">라즈베리파이 wifi 연결 오류 해결방안(1)</div>\r\n                  <div class=\"se_og_desc\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #666666;\">라즈베리파이2를 가지고 집에서 사용했던 적이 있었다. 그때는 iptime_wifi동글이 있어서 라즈베리파이를 i...</div>\r\n                  <div class=\"se_og_cp\" style=\"margin-top: 9px; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all; color: #608cba;\">asdf2017.blog.me</div>\r\n                  </div>\r\n               </a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 30px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">ip를 확인한 후 ssh client 프로그램을 이용하여 해당 ip로 접속해준다.<span style=\"background-color: inherit;\"></span></p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea se_align-center\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto; text-align: center; font-size: 0px;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea\" style=\"position: relative; margin-right: auto; margin-left: auto; max-width: 787px;\"><a href=\"https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&amp;logNo=221183090402&amp;proxyReferer=https:%2F%2Fwww.google.com%2F#\" class=\"se_mediaArea __se_image_link __se_link\" data-linktype=\"img\" data-linkdata=\"{&quot;imgId&quot; : &quot;SEDOC-1519454644150-821107990_image_8_img&quot;, &quot;src&quot; : &quot;https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTk1/MDAxNTE1NjczOTUwNzQw.4f_y6awp-SEB333Dj2va57QkvfTIXZwOzPhSvN_JV3Yg.LUpJzuQcQ5DfTvq7DE3kaRzi9Xemsyma1ezG3Gc4xVEg.PNG.asdf2017/1.PNG&quot;, &quot;linkUse&quot; : &quot;false&quot;, &quot;link&quot; : &quot;&quot;}\" style=\"color: #000000; text-decoration-line: none; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); position: relative; display: block;\" target=\"_blank\"><img id=\"img_11\" class=\"se_mediaImage __se_img_el _lazy-loading-target-image\" src=\"https://mblogthumb-phinf.pstatic.net/MjAxODAxMTFfMTk1/MDAxNTE1NjczOTUwNzQw.4f_y6awp-SEB333Dj2va57QkvfTIXZwOzPhSvN_JV3Yg.LUpJzuQcQ5DfTvq7DE3kaRzi9Xemsyma1ezG3Gc4xVEg.PNG.asdf2017/1.PNG?type=w800\" data-lazy-src=\"\" data-width=\"787\" data-height=\"491\" data-attachment-id=\"I3j0xU785QDbLSz4SmSFnFVOzIuc\" alt=\"\" data-top=\"6375.765625\" style=\"border: 0px; vertical-align: top; max-width: 100%; height: auto; width: 700px;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_paragraph default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; word-break: normal; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">\r\n   <div class=\"se_sectionArea\" style=\"position: relative; width: 700px; max-width: 700px; margin: 0px auto;\">\r\n      <div class=\"se_editArea\" style=\"position: relative;\">\r\n         <div class=\"se_viewArea se_ff_nanumgothic se_fs_T3 se_align-center\" style=\"position: relative; text-align: center; font-size: 16px; overflow-wrap: break-word; line-height: 1.9;\">\r\n            <div class=\"se_editView\" style=\"position: relative;\">\r\n               <div class=\"se_textView\">\r\n                  <p class=\"se_textarea\" style=\"padding: 0px; width: 700px; height: 60px; outline: 0px; border: none; background: 0px 0px; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; text-align: inherit; font-style: inherit; text-decoration: inherit; resize: none; overflow-wrap: break-word; word-break: break-all;\">라즈베리파이에 정상적으로 접속이 된 것을 확인할 수 있는데, 이 과정에서 VNC 프로그램도 enable 시켜주자.</p>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"se_component se_image default\" style=\"margin-top: 30px; font-family: &quot;Helvetica Neue&quot;, helvetica, AppleSDGothicNeo, sans-serif; -webkit-font-smoothing: antialiased; margin-left: 50px; margin-right: 50px; font-size: 14px; background-color: #ffffff;\">&nbsp','https://m.blog.naver.com/PostView.nhn?blogId=asdf2017&logNo=221183090402&proxyReferer=https:%2F%2Fwww.google.com%2F','',0,0,5,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-07-23 13:00:25',0,'2020-07-23 13:00:25','210.101.103.92','','','','','','','','','','','',''),(458,-458,'',458,0,0,'','','html1','[Linux] 윈도우10, 리눅스 민트 멀티부팅(듀얼부팅) 구현하기','<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt; line-height: 1.8;\">윈도우를 주로 쓰고 있지만 가끔 리눅스를 사용해야 하는 경우가 있거나 공부를 위해서 설치를 해야 하는 경우가 있습니다. 이럴 경우 가장 쉬운 선택은 버추얼박스, VMWare 등의 가상머신에 리눅스를 올리는 것일 겁니다. 하지만 윈도우와 리소스를 공유하기 때문에 컴퓨터 성능이 좋지 않을 경우 느려서 사용에 지장이 생길 수 있습니다. 이럴 때는 아예 C 드라이브의 파티션을 나누어서 윈도우와 리눅스를 모두 설치하고 멀티부팅(듀얼부팅)이 가능하도록 만드는 것이 좋습니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\">먼저 리눅스를 설치하려면 OS를 다운로드 받고 USB나 DVD에 구워야 합니다. 리눅스는 여러가지 종류가 있으나 요즘 가장 잘 나간다는 우분투 기반의 리눅스 민트를 다운로드 받아서 설치해 보려고 합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8; clear: none; float: none;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 637px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/22150F4A574700FE25\" width=\"637\" filename=\"1.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">리눅스 민트 다운로드 사이트인&nbsp;</span><span style=\"font-size: 14.6667px; line-height: 26.4px;\"><a href=\"https://www.linuxmint.com/download.php\" target=\"_blank\" class=\"tx-link\" style=\"text-decoration-line: none;\">https://www.linuxmint.com/download.php</a>&nbsp; 로 이동하면 위와 같이 여러가지 종류의 리눅스 민트가 있습니다. 현재 최신버전은 17.3 Rosa 라고 합니다. 멀티미디어 지원여부와 X-Window 종류에 따라 종류가 나뉘는데 저는 그냥 무난한 맨 위에 있는 Cinnamon 64-Bit 버전을 다운로드 받았습니다. 참고로 KDE 가 가장 무겁고 Mate, Cinnamon, xfce 순으로 가볍습니다. 낮은 성능의 PC라면 xfce 를 설치하는 것도 괜찮을 것 같습니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 365px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/27324B4A5747064821\" width=\"365\" filename=\"2.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">Rufus 라는 프로그램을 이용해서 부팅 가능한 리눅스 설치 USB를 만들어 주었습니다. Rufus 는 네이버 소프트웨어에서 다운로드 받을 수 있습니다.&nbsp;<a href=\"http://software.naver.com/software/summary.nhn?softwareId=MFS_111001\" target=\"_blank\" class=\"tx-link\" style=\"text-decoration-line: none;\">http://software.naver.com/software/summary.nhn?softwareId=MFS_111001</a>&nbsp;USB는 8GB 이상의 USB가 필요 합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; height: auto; max-width: 100%;\"><a href=\"https://deneb21.tistory.com/attachment/cfile27.uf@2159784F5747339B03B08F.zip\" style=\"text-decoration-line: none;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/tistory_admin/assets/blog/19563ac0a7578d79b96f330dc8e9a849e7f913a9/blogs/image/extension/zip.gif?_version_=19563ac0a7578d79b96f330dc8e9a849e7f913a9\" alt=\"\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; vertical-align: middle;\" />&nbsp;rufus-2.9.zip</a></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2343334A574708751A\" width=\"683\" filename=\"3.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; cursor: pointer; max-width: 100%; height: auto;\" /></span><br /><span style=\"font-size: 11pt;\">컴퓨터 관리 -&gt; 디스크 관리로 들어 갑니다. C 드라이브에서 리눅스가 설치될 파티션을 생성해 줄 것입니다. C 드라이브에서 마우스 오른쪽, 메뉴 중에서 \'볼륨 축소\'를 클릭합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/222EA64A5747087631\" width=\"683\" filename=\"4.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; cursor: pointer; max-width: 100%; height: auto;\" /></span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">\'축소할&nbsp;공간 입력\' 에&nbsp;리눅스에 할당할 용량을 적어 줍니다.&nbsp;&nbsp;저는 20GB 를 할당해 주었습니다. 자신이 원하는 용량을 적어 넣으면 됩니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2140874A574708771E\" width=\"683\" filename=\"5.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; cursor: pointer; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">19.53GB 의 리눅스를 설치할 파티션이 생겼네요. 이제 위에서 만들어준 USB 메모리를 끼우고 재부팅 하면 됩니다. 재부팅시 PC의&nbsp;CMOS 화면에 들어가서 Boot 메뉴에 들어간 다음 USB 부팅을 반드시 선택해 주어야 리눅스 설치가 진행 됩니다. 컴퓨터 바이오스에 따라서 Booting 순서 변경 방법은 모두 다르므로 설정방법을 여기서는 생략 합니다.</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2504AF4F574724C62E\" width=\"683\" filename=\"IMG_20160527_001631.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">USB로 부팅이 진행되면서 리눅스 민트 설치 화면이 나옵니다. Install Linux Mint 를 클릭합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2331674F574724C704\" width=\"683\" filename=\"IMG_20160526_235331.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">언어를 한국어를 선택해 줍니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">&nbsp;</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/25248D4F574724C811\" width=\"683\" filename=\"IMG_20160526_235402.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">설치준비 화면 입니다.&nbsp;계속을 클릭해서 진행합니다.</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/23189F4F574724CA1C\" width=\"683\" filename=\"IMG_20160526_235611.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">설치공간을 결정하는 화면 입니다. 수동으로 설정하기 위해서 기타를 클릭합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/24302F4F574724CB05\" width=\"683\" filename=\"IMG_20160527_000609.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">설치할 파티션을 정의해 줍니다. \'남은공간\' 이라고 표시된 20GB 파티션이 보입니다. 이것을 더블클릭하면 위와 같이 설정 화면이 뜹니다. 스왑(Swap)파티션은 만들지 않을 계획이므로 위와 같이 설정하고 확인을 눌러 주었습니다. 만약 자신의 PC에 RAM 이 부족하다고 생각된다면 스왑파티션을 만들어 주는 것이 좋습니다. 만드는 방법은 총용량 20GB 에서 자신의 현재 RAM 용량 만큼을 빼줍니다. 예를 들어 RAM이 2GB 라면 저기에 18GB 만&nbsp;설정하고 주 파티션으로 만든 다음 남은 2GB의 공간을 스왑파티션으로 설정해 주면 됩니다. (스왑파티션 =&gt;&nbsp;크기: 2GB, 파티션 종류: 논리 파티션, 새 파티션의 위치: 이 공간이 시작하는 지점, 용도: 스왑 파티션... 이렇게 설정 해주면 됩니다.)</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2418D34F574724CD1B\" width=\"683\" filename=\"IMG_20160527_000831.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">리눅스 민트를 설치할 파티션이 생성된 모습입니다. 파티션을 선택하고 \'지금 설치\'를 클릭합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/251E164F574724CE17\" width=\"683\" filename=\"IMG_20160527_000907.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">스왑파티션을 설정하지 않았다는 경고가 나옵니다. \'계속\' 클릭</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/233C5A4A574724CF11\" width=\"683\" filename=\"IMG_20160527_000926.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">\'계속\' 을 클릭합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">&nbsp;</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/233F314A574724D109\" width=\"683\" filename=\"IMG_20160527_001015.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">살고있는 지역을 선택 합니다. Seoul 선택, 시간대 선택을 위한 것으로 대한민국이면 Seoul을 선택하면 됩니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2149834A574724D204\" width=\"683\" filename=\"IMG_20160527_001046.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">키보드 설정을 해 줍니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">&nbsp;</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2720884A574724D42C\" width=\"683\" filename=\"IMG_20160527_001326.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">컴퓨터 이름과 로그인 계정을 설정해 줍니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2411B04A574724D53C\" width=\"683\" filename=\"IMG_20160527_001535.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">드디어 리눅스 민트 설치가 시작 됩니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">&nbsp;</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2518314A574724D734\" width=\"683\" filename=\"IMG_20160527_001812.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">조금&nbsp;지나면 설치완료 메시지가 나옵니다. USB를 제거하고&nbsp;\'지금 다시 시작\' 을 클릭해서 재부팅 해 줍니다.</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/252E6D4A57472AA32C\" width=\"683\" filename=\"IMG_20160527_003103.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">리눅스 부트로더인 Grub 이 자동으로 실행이 됩니다. Grub 실행은 부팅시 시간이 좀 걸릴 수 있으니 화면에 아무것도 안 나오더라도 기다려 주면 나옵니다. 맨 위에 리눅스 민트를 선택하고 엔터를 누르면 리눅스 민트로 부팅이 됩니다. 마찬가지로 맨 아래 Windows 8 을 선택하면 윈도우로 부팅이 됩니다. 윈도우 10 인데 저기에 나오기는 Windows 8 로 나오네요.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"line-height: 1.8; font-size: 11pt;\">&nbsp;</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2555EF4A57472AA508\" width=\"683\" filename=\"IMG_20160527_002239.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">리눅스 민트가 처음 부팅된 화면 입니다. 핸드폰으로 찍었더니 화질이 구리네요. 양해해 주세요.&nbsp;제일 처음 해 줄 것이 \'환영합니다\' 창을 보면 드라이버 라는 항목이 있습니다. 클릭해서 그래픽 카드 등의 드라이버를 먼저 설치해 주는 것이 좋습니다.<br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">그런데 저 위에 Grub 이라는 부트로더가 좀 구립니다. 부팅시 뜨는 속도도 느리고 설정하기도 까다롭습니다. 그래서 EasyBCD 라는 프로그램을 이용해서&nbsp;우리에게 친숙한 Windows Boot Manager 를 활성화 시키고 부팅시 OS를 고를 수 있도록 해 보겠습니다.&nbsp;</span></p>\r\n<div class=\"google-auto-placed ap_container\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; width: 4210.83px; height: auto; clear: none; text-align: center;\"><ins data-ad-format=\"auto\" class=\"adsbygoogle adsbygoogle-noablate\" data-ad-client=\"ca-pub-8277699784481059\" data-adsbygoogle-status=\"done\" style=\"display: block; margin: auto; background-color: transparent; height: 280px;\"><ins id=\"aswift_6_expand\" style=\"display: inline-table; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 683px; background-color: transparent;\"><ins id=\"aswift_6_anchor\" style=\"display: block; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 683px; background-color: transparent; overflow: visible;\"><iframe id=\"aswift_6\" name=\"aswift_6\" sandbox=\"allow-forms allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" width=\"683\" height=\"280\" frameborder=\"0\" src=\"https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8277699784481059&amp;output=html&amp;h=280&amp;adk=153334300&amp;adf=1458518233&amp;w=683&amp;fwrn=4&amp;fwrnh=100&amp;lmt=1596598928&amp;num_ads=1&amp;rafmt=1&amp;armr=3&amp;sem=mc&amp;pwprc=2051104756&amp;psa=1&amp;guci=2.2.0.0.2.2.0.0&amp;ad_type=text_image&amp;format=683x280&amp;url=https%3A%2F%2Fdeneb21.tistory.com%2F349&amp;flash=0&amp;fwr=0&amp;pra=3&amp;rh=171&amp;rw=683&amp;rpe=1&amp;resp_fmts=3&amp;wgl=1&amp;fa=27&amp;adsid=ChEI8I6k-QUQgZe-rN7o3uC7ARIqAMGjPQzCaXkWJx7jaPbYTYY85o8EGHKSFzZBn87gJKyyGeI8zhXJzhNM&amp;dt=1596598928946&amp;bpp=2&amp;bdt=653&amp;idt=-M&amp;shv=r20200803&amp;cbv=r20190131&amp;ptt=9&amp;saldr=aa&amp;abxe=1&amp;cookie=ID%3D96d8afda4108d20e%3AT%3D1596499144%3AS%3DALNI_MatrmYahjuzKQ7fG2TwZy45C06stw&amp;prev_fmts=0x0%2C683x280%2C336x280&amp;nras=2&amp;correlator=3339871716966&amp;frm=20&amp;pv=1&amp;ga_vid=2030321710.1596499146&amp;ga_sid=1596598929&amp;ga_hid=1317283715&amp;ga_fc=0&amp;iag=0&amp;icsg=747668589150208&amp;dssz=60&amp;mdo=0&amp;mso=0&amp;u_tz=540&amp;u_his=1&amp;u_java=0&amp;u_h=1440&amp;u_w=2560&amp;u_ah=1400&amp;u_aw=2560&amp;u_cd=24&amp;u_nplug=3&amp;u_nmime=4&amp;adx=183&amp;ady=13097&amp;biw=1263&amp;bih=1296&amp;scr_x=0&amp;scr_y=0&amp;eid=21066653%2C21066154%2C21066807&amp;oid=3&amp;pvsid=3507646838828099&amp;pem=542&amp;ref=https%3A%2F%2Fdeneb21.tistory.com%2F368&amp;rx=0&amp;eae=0&amp;fc=1408&amp;brdim=-8%2C40%2C-8%2C40%2C2560%2C40%2C1296%2C1416%2C1280%2C1296&amp;vis=1&amp;rsz=%7C%7Cs%7C&amp;abl=NS&amp;fu=8320&amp;bc=31&amp;jar=2020-08-05-03&amp;ifi=6&amp;uci=a!6&amp;btvi=1&amp;fsb=1&amp;xpc=EFgLJo1FNZ&amp;p=https%3A//deneb21.tistory.com&amp;dtd=21\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" scrolling=\"no\" allowfullscreen=\"true\" data-google-container-id=\"a!6\" data-google-query-id=\"CMy6h8CSg-sCFRPOvAodZ78ECA\" data-load-complete=\"true\" style=\"max-width: 100%; left: 0px; position: absolute; top: 0px; border-width: 0px; border-style: initial; width: 683px; height: 280px;\"></iframe></ins></ins></ins></div>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">재부팅을 하여 Grub 화면이 나오면 Windows 로 부팅을 해 줍니다. 윈도우 부팅도 왜 그런지 모르겠는데 시간이 걸립니다. 저는 윈도우가 망가진건 아닌가? 생각했는데 기다리니까 부팅이 되네요. 아무튼 윈도우로 들어갑니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 703px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/246C904857472E6624\" width=\"703\" filename=\"6.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\"><a href=\"http://neosmart.net/EasyBCD/\" target=\"_blank\" class=\"tx-link\" style=\"text-decoration-line: none;\">http://neosmart.net/EasyBCD/</a>&nbsp;사이트에 들어가서 스크롤을 조금 내리면 Register 버튼이 있습니다. 개인용도로 사용할 경우 무료로 다운로드 가능하도록 되어 있습니다. 클릭 합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 688px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2265DE4857472E672B\" width=\"688\" filename=\"7.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">이름과, 이메일을 적고 Download! 버튼을 클릭하면 EasyBCD 가 다운로드 됩니다. 다운로드 후 PC에 설치하고 EasyBCD 를 실행 합니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; height: auto; max-width: 100%;\"><a href=\"https://deneb21.tistory.com/attachment/cfile25.uf@225C464A5747337F11E880.zip\" style=\"text-decoration-line: none;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/tistory_admin/assets/blog/19563ac0a7578d79b96f330dc8e9a849e7f913a9/blogs/image/extension/zip.gif?_version_=19563ac0a7578d79b96f330dc8e9a849e7f913a9\" alt=\"\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; vertical-align: middle;\" />&nbsp;EasyBCD 2.3.zip</a></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 569px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2768F8495747317717\" width=\"569\" filename=\"8.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">좌측 메뉴에서 \'새로운 부팅 추가\' 를 누른 후 위와 같이 설정하고 \'부팅 추가\' 버튼을 클릭 합니다. 부팅 이름은 자신이 원하는 것으로 정하면 됩니다. 드라이브는 리눅스 민트가 설치된 파티션을 선택해 주면 됩니다.</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 569px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/237FC1495747317805\" width=\"569\" filename=\"9.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">\'부트 메뉴 수정\' 으로 들어가보면 좀 전에 설정한 Linux Mint 항목이 보입니다. 여기에서 Default 부팅할 OS를 골라 줍니다. 저는 윈도우를 선택 했습니다. 카운트 다운 시작 이라는 항목은 OS 선택화면에서 몇 초 동안 머물러 있을 것인지 정하는 것입니다. 모두 설정 했으면 \'설정 저장\' 버튼을 클릭 합니다.</span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 569px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2161F349574731781C\" width=\"569\" filename=\"10.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">마지막으로 \'BCD 백업/수리\' 라는 항목으로 들어 갑니다. BCD 관리 옵션에서 \'부트 파일 재생산 및 수리\' 를 선택하고 \'실행한다\' 버튼을 클릭 합니다. 설정을 백업할 분들은 아래의 설정백업에서 하시면 됩니다. 이제 모든 설정이 끝났습니다. EasyBCD 를 닫고 재부팅을 해 줍니다.<br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/245B464B5747369502\" width=\"683\" filename=\"IMG_20160527_023646.jpg\" filemime=\"image/jpeg\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; cursor: pointer; max-width: 100%; height: auto;\" /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">조금 기다리면 부팅이 되면서 위와 같은 운영체제 선택 화면이 나옵니다. 원하는 OS를 선택하면 되며 카운트다운 시간이 다 지나면 Default 로 잡아준 OS가 자동으로 부팅이 됩니다. 위와 같은 그래픽화된 부트 선택 화면을 Metro Bootloader 라고 합니다. 만약 저 화면이 아니라 예전 텍스트 방식의 Bootloader 를 보고 싶다면 EasyBCD 설정 시 &nbsp;\'부트 메뉴 수정\' 탭에서 Use Metro Bootloader 옵션을 끄면 됩니다.<br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"></span><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span class=\"imageblock\" style=\"margin: 5px 0px; display: inline-block; width: 683px; height: auto; max-width: 100%;\"><img src=\"https://t1.daumcdn.net/cfile/tistory/2323CB3757473D0F0A\" width=\"683\" filename=\"IMG_20160527_030409.jpg\" filemime=\"image/jpeg\" original=\"yes\" style=\"margin: 0px; padding: 0px; border: 0px; line-height: 1.3; max-width: 100%; height: auto;\" /><span class=\"cap1\" style=\"padding: 4px 0px; color: #999999; text-align: center; display: block; max-width: 100%; width: 683px;\">예전방식의 WIndows Bootloader 로 바꾼 모습입니다. 이게 속도는 더 빠른듯 합니다.</span></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">이상으로 윈도우10 과 리눅스 민트를 멀티부팅(듀얼부팅) 하는 방법을 알아보았습니다. 리눅스 민트가 아니라&nbsp;다른 종류의 리눅스 또는 다른 OS 의 경우라도 거의 같은 방법으로 멀티부팅 환경을 만들어 줄 수 있을 것 같습니다.</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; clear: none; float: none; line-height: 1.8;\"><span style=\"font-size: 11pt;\">※ 추가내용 (2016.06.01) : 아래 댓글에도 나와 있지만 이렇게 설치하고 윈도우 부트매니저에서 리눅스 민트를 선택하니&nbsp;Grub이 부팅전에 나오게 됩니다. 현재 삭제하는 방법을 찾고 있으며 나오더라도 리눅스 민트 사용에는 전혀 지장이 없습니다.&nbsp;혹시 불편한 분들은 다음의 방법을 사용하셔서&nbsp;Grub 의 설정을 좀 조정하시면 부팅 시간을 좀 더 줄일 수 있습니다.</span></p>\r\n<div class=\"txc-textbox\" style=\"margin: 0px; padding: 10px; border: 1px dashed rgb(243, 197, 52); line-height: 1.3; font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #fefeb8;\">\r\n   <p style=\"clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">터미널을 하나 열어서...</span></p>\r\n   <p style=\"clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">sudo gedit /boot/grub/grub.cfg 을 입력하면 Grub 설정파일이 나옵니다.</span></p>\r\n   <p style=\"clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">먼저 set default 부분이 0 (리눅스 민트로 기본부팅) 으로 되어 있는지 확인하고</span></p>\r\n   <p style=\"clear: none; float: none;\"><span style=\"font-size: 14.6667px; line-height: 26.4px;\">set timeout 부분의 값도 모두 0으로 바꾸어 줍니다. 그럼 Grub OS 선택 화면 없이 바로 리눅스 민트로 부팅이 됩니다.</span></p>\r\n   </div>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\"><br /></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\">저도 리눅스 초보라 ^^ 좀 어려움이 있네요. 혹시 이 글 보시다가 해결법 아는 분 계시면 댓글로 부탁 드립니다. 리눅스 게시판, 네이버 지식인까지 문의해 놨는데 아직까지 이렇다 할 답변이 없네요. ㅠㅠ</span></p>\r\n<p style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8; line-height: 1.8;\"><span style=\"font-size: 11pt;\"><br /></span></p>\r\n<div class=\"txc-textbox\" style=\"margin: 0px; padding: 10px; border: 1px dashed rgb(159, 211, 49); line-height: 1.3; font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #e7fdb5;\">\r\n   <p style=\"line-height: 1.8;\"><span style=\"font-size: 11pt;\">■&nbsp;관련글 모음<br /></span></p>\r\n   <p style=\"line-height: 1.8;\"><span style=\"font-size: 8pt;\"><a href=\"http://deneb21.tistory.com/357\" target=\"_blank\" style=\"text-decoration-line: none;\"><span style=\"font-size: 9pt;\">[컴퓨터&amp;인터넷] - 리눅스 민트 한글 설정 (Linux Mint Hangul) 17.3 Rosa 기준</span></a></span></p>\r\n   <p style=\"line-height: 1.8;\"><a href=\"http://deneb21.tistory.com/364\" target=\"_blank\" style=\"text-decoration-line: none;\">[컴퓨터&amp;인터넷] - 리눅스 동영상 플레이어 VLC Media Player 단축키를 팟플레이어처럼 바꾸기</a></p>\r\n   <p style=\"line-height: 1.8;\"><a href=\"http://deneb21.tistory.com/365\" target=\"_blank\" style=\"text-decoration-line: none;\">[컴퓨터&amp;인터넷] - [프리웨어] 리눅스 민트 스크린캡처 프로그램 추천 - Shutter</a></p>\r\n   <p style=\"line-height: 1.8;\"><a href=\"http://deneb21.tistory.com/366\" target=\"_blank\" style=\"text-decoration-line: none;\">[컴퓨터&amp;인터넷] - [프리웨어] 리눅스 민트 토렌트 프로그램 추천 - qbittorrent</a></p>\r\n   <p style=\"line-height: 1.8;\"><a href=\"http://deneb21.tistory.com/368\" target=\"_blank\" style=\"text-decoration-line: none;\">[아두이노] - [아두이노] 리눅스 민트에서 아두이노 IDE 폰트를 보기 좋게 하기</a></p>\r\n   </div>\r\n<p><br style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\" /><br style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\" /><span style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\">출처:&nbsp;</span><a href=\"https://deneb21.tistory.com/349\" style=\"text-decoration-line: none; font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\" target=\"_blank\">https://deneb21.tistory.com/349</a><span style=\"font-family: &quot;Nanum Gothic&quot;, &quot;Nanum Gothic&quot;, AppleGothic, sans-serif; background-color: #d4dad8;\">&nbsp;[Do It Yourself!]</span></p>','https://deneb21.tistory.com/349','',0,0,2,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-08-05 12:44:51',0,'2020-08-05 12:44:51','210.101.103.92','','','','','','','','','','','',''),(459,-459,'',459,0,0,'','','html1','[Arduino] 아두이노 - 메모리(SRAM) 공간 확보를 위한 PROGMEM과 F() 매크로의 사용','<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아두이노는 스케치에 저장된 변수와, 문자 열등의 데이터를 아두이노 초기화 시 Flash memory에서 읽어&nbsp; SRAM에 저장하여 코드 실행 시 빠르게 처리될 수 있도록 하고 있다. 하지만 아두이노 우노의 경우 SRAM의 크기가 2048 bytes로써 그렇게 크다고 할 수 없다. 통신용 라이브러리의 경우 보통 300 ~ 500 bytes 정도의 통신용 버퍼가 필요하고 그 버퍼로 SRAM을 사용한다고 한다. 비단 통신용 라이브러리뿐만 아니라 각 라이브러리들에는 눈에 보이지 않는 라이브러리 내부 변수들이 있고 이러한 변수들 역시 SRAM의 공간을 차지하게 된다. 사용하는 라이브러리가 많아질수록 SRAM의 여유 공간은 줄어들고 코드 실행에 필요한 충분한 메모리 여유 공간을 확보하지 못한다면 메모리 에러(stack error) 또는 무한 리부팅을 경험하게 된다. 이러한 오류 발생을 방지하기 위해서는 스케치를 작성할 때 최대한 메모리를 확보하도록 코드를 짜주어야 하는데 여러 방법 중에 PROGMEM과 F() 매크로를 사용하여 상수(const, 고정된 값)로써 읽기만 하는 데이터는 Flash memory에서 바로 읽도록 하는 게 가장 손쉬운 방법이라 할 수 있다.&nbsp;<br /><br />대표적인&nbsp;상수로&nbsp;문자열(또는&nbsp;스트링)을&nbsp;꼽을&nbsp;수&nbsp;있고&nbsp;이&nbsp;문자열을&nbsp;PROGMEM과&nbsp;F()&nbsp;매크로를&nbsp;사용하여&nbsp;Flash&nbsp;memory에서&nbsp;바로&nbsp;읽도록 할&nbsp;때&nbsp;SRAM의&nbsp;공간 확보에&nbsp;있어&nbsp;그&nbsp;효과가&nbsp;가장&nbsp;좋다고&nbsp;말할&nbsp;수&nbsp;있다.&nbsp;&nbsp;<br /><br />Serial.print(\"문자열\')에&nbsp;사용하는&nbsp;문자열도&nbsp;SRAM에&nbsp;저장되었다가&nbsp;시리얼&nbsp;모니터에&nbsp;메시지를&nbsp;출력할&nbsp;때&nbsp;사용되게&nbsp;된다.&nbsp;이렇게&nbsp;반복적이지&nbsp;않게&nbsp;어느&nbsp;한&nbsp;코드에서만&nbsp;실행되는&nbsp;문자열의&nbsp;경우에는&nbsp;F()&nbsp;매크로를&nbsp;사용하여&nbsp;Serial.print(F(\"문자열\"))로&nbsp;처리를&nbsp;해주면&nbsp;간단하게&nbsp;SRAM의&nbsp;공간을&nbsp;절약할&nbsp;수&nbsp;있게 된다.&nbsp;&nbsp;</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6420px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6398px; padding: 10px;\">\r\n            <p>Serial.print(F(\"Write&nbsp;something&nbsp;on&nbsp;the&nbsp;Serial&nbsp;Monitor&nbsp;that&nbsp;is&nbsp;stored&nbsp;in&nbsp;FLASH\"));&nbsp;<br />Serial.print((const&nbsp;PROGMEM&nbsp;char&nbsp;*)(\"Write&nbsp;something&nbsp;on&nbsp;the&nbsp;Serial&nbsp;Monitor&nbsp;that&nbsp;is&nbsp;stored&nbsp;in&nbsp;FLASH\"));</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">* 본래의&nbsp;pgmspace.h 라이브러리에는 \"#define PSTR(s) ((const PROGMEM char *)(string))\"가&nbsp;정의되어 있으나 아두이노 우노에서는 컴파일되지 않는다.(ESP8266 / ESP32 모듈에서는 사용 가능) 라이브러리에 통합하면서 F() 매크로와 중복된 기능이므로 생략됐을 수 있다.&nbsp;F() 매크로를 사용하는 경우와&nbsp;매크로를 사용하지 않고 PROGMEM 지시어 \"(const PROGMEM char *)(string)\"을 사용하는 것은 같다고 볼 수 있다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">서로&nbsp;다른&nbsp;코드에서&nbsp;반복적으로&nbsp;사용되는&nbsp;문자열(전역&nbsp;변수&nbsp;스트링)의&nbsp;경우&nbsp;PROGMEM을&nbsp;사용하여&nbsp;Flash&nbsp;memory에서&nbsp;바로&nbsp;읽도록&nbsp;하는 게&nbsp;효과적이다.&nbsp;또한&nbsp;PROGMEM의&nbsp;경우&nbsp;문자열뿐만 아니라&nbsp;다양한&nbsp;자료형에&nbsp;사용할&nbsp;수&nbsp;있다.&nbsp;&nbsp;<br /><br />PROGMEM을&nbsp;사용하기&nbsp;위해서는&nbsp;pgmspace.h&nbsp;라이브러리가&nbsp;필요했었지만&nbsp;아두이노&nbsp;IDE&nbsp;버전&nbsp;1.0부터&nbsp;자체&nbsp;라이브러리에&nbsp;포함되어&nbsp;있어&nbsp;따로&nbsp;라이브러리를&nbsp;불러올&nbsp;필요 없이&nbsp;스케치에서&nbsp;Flash&nbsp;memory에서&nbsp;바로&nbsp;읽을&nbsp;변수에&nbsp;변수&nbsp;수식어&nbsp;\"PROGMEM\"을&nbsp;사용하면&nbsp;된다.&nbsp;&nbsp;<br /><br />아래 페이지에서 pgmspace.h 라이브러리에 정의된 매크로와 함수들을 살펴볼 수 있다.&nbsp;&nbsp;<br /><a href=\"https://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s;\" target=\"_blank\">https://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html</a>&nbsp;<br /><br /></p>\r\n<h3 data-ke-size=\"size23\" style=\"font-size: 1.44em; font-weight: normal; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">변수에&nbsp;PROGMEM&nbsp;수식어&nbsp;적용하기&nbsp;</h3>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래 형식 중 하나를 사용하면 된다.</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6420px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6398px; padding: 10px;\">\r\n            <p>const&nbsp;자료형&nbsp;변수이름[]&nbsp;PROGMEM&nbsp;=&nbsp;{};&nbsp;<br />const&nbsp;PROGMEM&nbsp;자료형&nbsp;변수이름[]&nbsp;=&nbsp;{};&nbsp;<br />const&nbsp;자료형&nbsp;PROGMEM&nbsp;변수이름[]&nbsp;=&nbsp;{};</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">RPOGMEM을 전역 변수로 사용할 경우에는 상기의 형식을 바로 사용하면 되지만 로컬 변수로 사용할 경우에는 static 키워드로 정의를 해주어야 한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><br />전역 변수로&nbsp;사용&nbsp;<br />const&nbsp;char&nbsp;str[]&nbsp;PROGMEM&nbsp;=&nbsp;\"Hi,&nbsp;I&nbsp;would&nbsp;like&nbsp;to&nbsp;tell&nbsp;you&nbsp;a&nbsp;bit&nbsp;about&nbsp;myself.\\n\";&nbsp;<br />const PROGMEM char str[] = \"Hi, I would like to tell you a bit about myself.\\n\";&nbsp;<br />const char PROGMEM str[] = \"Hi, I would like to tell you a bit about myself.\\n\";&nbsp;<br /><br />로컬 변수로 사용 - 문자열의 경우 F() 매크로를 사용하면 간단하다.<br />const&nbsp;static&nbsp;char str[] PROGMEM = \"Hi, I would like to tell you a bit about myself.\\n\" ;<br />const&nbsp;PROGMEM&nbsp;static&nbsp;char value[] =&nbsp;{ 36, -5, 0, -26, 99 };<br />const&nbsp;static&nbsp;char PROGMEM value[] =&nbsp;{ 36, -5, 0, -26, 99 };&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; position: relative; text-align: center; overflow: hidden; margin: auto;\"><ins class=\"adsbygoogle\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-8269928309278636\" data-ad-slot=\"7194013449\" data-adsbygoogle-status=\"done\" style=\"display: block; height: 0px;\"><ins id=\"aswift_2_expand\" style=\"display: inline-table; border: none; height: 0px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 879px; background-color: transparent;\"><ins id=\"aswift_2_anchor\" style=\"display: block; border: none; height: 0px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 879px; background-color: transparent; overflow: hidden; opacity: 0;\"><iframe id=\"aswift_2\" name=\"aswift_2\" sandbox=\"allow-forms allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" width=\"879\" height=\"200\" frameborder=\"0\" src=\"https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8269928309278636&amp;output=html&amp;h=200&amp;slotname=7194013449&amp;adk=2728018722&amp;adf=1597229448&amp;w=879&amp;fwrn=4&amp;lmt=1597036438&amp;rafmt=11&amp;psa=1&amp;guci=2.2.0.0.2.2.0.0&amp;format=879x200&amp;url=https%3A%2F%2Fpostpop.tistory.com%2F92%3Fcategory%3D744994&amp;flash=0&amp;wgl=1&amp;adsid=ChEI8L2--QUQ0tq16-2fjYqgARIqAO0FjTH2X4ovhdExS6bKOi7R9f0NygxK9IBK2VhOLFsQTLsM8j4Yinsr&amp;dt=1597036438387&amp;bpp=5&amp;bdt=411&amp;idt=369&amp;shv=r20200805&amp;cbv=r20190131&amp;ptt=9&amp;saldr=aa&amp;abxe=1&amp;cookie=ID%3D720ca2025ee5b318%3AT%3D1597021416%3AS%3DALNI_MbwB0RmCu8y8M7-tE67Lg-ncQLpkQ&amp;prev_fmts=0x0%2C300x250&amp;nras=1&amp;correlator=2969050074808&amp;frm=20&amp;pv=1&amp;ga_vid=190590715.1597021417&amp;ga_sid=1597036439&amp;ga_hid=919505124&amp;ga_fc=0&amp;iag=0&amp;icsg=8935813677056&amp;dssz=66&amp;mdo=0&amp;mso=0&amp;rplot=4&amp;u_tz=540&amp;u_his=19&amp;u_java=0&amp;u_h=1440&amp;u_w=2560&amp;u_ah=1400&amp;u_aw=2560&amp;u_cd=24&amp;u_nplug=3&amp;u_nmime=4&amp;adx=336&amp;ady=1573&amp;biw=1261&amp;bih=1287&amp;scr_x=0&amp;scr_y=0&amp;eid=42530558%2C42530560%2C21065725%2C21065727&amp;oid=3&amp;pvsid=2837138608314062&amp;pem=173&amp;ref=https%3A%2F%2Fpostpop.tistory.com%2F88%3Fcategory%3D744994&amp;rx=0&amp;eae=0&amp;fc=1920&amp;brdim=-7%2C40%2C-7%2C40%2C2560%2C40%2C1294%2C1407%2C1278%2C1287&amp;vis=1&amp;rsz=%7C%7CeoEbr%7C&amp;abl=CS&amp;pfx=0&amp;fu=8320&amp;bc=31&amp;jar=2020-08-10-04&amp;ifi=2&amp;uci=a!2&amp;btvi=1&amp;fsb=1&amp;xpc=G3XSF5TQ1h&amp;p=https%3A//postpop.tistory.com&amp;dtd=375\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" scrolling=\"no\" allowfullscreen=\"true\" data-google-container-id=\"a!2\" data-google-query-id=\"CJHVxKzwj-sCFUxYYAodH6cHaA\" data-load-complete=\"true\" style=\"max-width: 100%; left: 0px; position: absolute; top: 0px; border-width: 0px; border-style: initial; width: 879px; height: 200px;\"></iframe></ins></ins></ins></div>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<h3 data-ke-size=\"size23\" style=\"font-size: 1.44em; font-weight: normal; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">PROGMEM 지시어로 저장된 문자열 출력하기&nbsp;&nbsp;</h3>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아두이노에서 PROGMEM 지시어로 저장된 문자열을 Serial.print(\"문자열\") 함수를 통해 직접 출력하게 되면 읽을 수 없는 이상한 문자(\'⸮\')가 출력되거나 아무것도 출력되지 않게 된다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">정상적으로 출력하기 위해서는 자료형 __FlashStringHelper를 이용해야 하고 이 자료형을 이용하여 아래처럼 매크로로 정의하여&nbsp;문자열을 출력하고자 하는 코드에 사용할 수 있다.&nbsp;&nbsp;&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">#define&nbsp;FV(s)&nbsp;((const&nbsp;__FlashStringHelper*)(s))</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래 예제를 업로드하고 확인해 보자.</p>\r\n<figure class=\"fileblock\" style=\"margin: 28px auto 20px; max-width: 100%; clear: both; width: 470px; height: 71px; border: 1px solid rgb(233, 233, 233); position: relative; border-radius: 1px; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><a href=\"https://blog.kakaocdn.net/dn/bsRXaS/btqzOWJDrEN/HBmQBafOey93lhkqOaNxx0/progmem_string_print_test.ino?attach=1&amp;knm=tfile.ino\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; display: block; height: 71px;\" target=\"_blank\">\r\n      <div class=\"image\" style=\"box-sizing: border-box; position: absolute; left: 0px; top: 0px; width: 30px; height: 30px; background-image: url(&quot;https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg&quot;); background-position: 0px 0px; margin: 21px 17px 20px 22px;\">&nbsp;</div>\r\n      <div class=\"desc\" style=\"box-sizing: border-box; position: absolute; left: 70px; right: 60px; top: 0px; bottom: 0px;\">\r\n         <div class=\"filename\" style=\"box-sizing: border-box; color: #333333; font-size: 14px; text-overflow: ellipsis; height: 20px; margin: 17px 0px 0px;\"><span class=\"name\" style=\"box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block;\">progmem_string_print_test.ino</span></div>\r\n         <div class=\"size\" style=\"box-sizing: border-box; font-family: &quot;Avenir Next&quot;, sans-serif; font-size: 12px; color: #777777; height: 16px; margin: 2px 0px 0px;\">0.00MB</div>\r\n         </div>\r\n      </a></figure>\r\n<pre id=\"code_1573959987604\" class=\"c++ cpp arduino\" data-ke-language=\"c++\" data-ke-type=\"codeblock\" style=\"overflow: auto hidden; padding: 10px; margin-top: 5px; margin-bottom: 5px; max-width: 100%; border: 1px solid rgb(221, 221, 221); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: 21.6px; font-family: &quot;Lucida Console&quot;; background-color: #fafafa; border-radius: 3px;\">\r\n   <code class=\"hljs cpp\" style=\"border: 1px solid rgb(238, 238, 238); background: rgb(40, 44, 52); color: #abb2bf; border-radius: 5px; padding: 0.5em; margin: 3px 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 17px; line-height: 1.3em; font-family: D2Coding, monospace; display: block; overflow-x: auto;\"><span class=\"hljs-meta\" style=\"box-sizing: border-box; color: #61aeee;\">#<span class=\"hljs-meta-keyword\" style=\"box-sizing: border-box;\">define</span> FV(s) ((const __FlashStringHelper*)(s))</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> hello[] PROGMEM = <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"My Little Friend\"</span>;\r\n<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> xyz[]  PROGMEM = {  <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 헥사표시 문자열</span><span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x53</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x61</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x79</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x48</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6f</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, \r\n  <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6f</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x4d</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x79</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x4c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x69</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, \r\n  <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x46</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x72</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x69</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6e</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x64</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x00</span> \r\n}; \r\n<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> byte xyz1[] PROGMEM = {  <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 헥사표시 문자열</span><span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x53</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x61</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x79</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x48</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6f</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, \r\n  <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6f</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x4d</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x79</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x4c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x69</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x74</span>, \r\n  <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6c</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x20</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x46</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x72</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x69</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x65</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x6e</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x64</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x00</span> \r\n}; \r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">setup</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n  Serial.begin(<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">9600</span>);\r\n  Serial.println(F(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Hello World!\"</span>));  <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// F() 매크로 사용</span>\r\n  Serial.println(hello);              <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// PROGMEM 변수 직접 읽기 - 오류</span>\r\n  Serial.println(FV(hello));          <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 정의된 FV(s) 매크로 이용 자료형 __FlashStringHelper로 변환</span>\r\n  Serial.println((<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> __FlashStringHelper *)hello); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">//자료형 __FlashStringHelper 직접사용</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> __FlashStringHelper *str = (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> __FlashStringHelper *)hello; <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// __FlashStringHelper 포인터 이용 저장</span>\r\n  Serial.println(str);\r\n  String str1 = (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> __FlashStringHelper *)hello; <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 스트링 변수에 저장</span>\r\n  Serial.println(str1);\r\n  Serial.println((<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span> __FlashStringHelper *)xyz); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 자료형 char 문자 배열 출력</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">for</span> (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int</span> i = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>; i &lt; <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(xyz1); i++) {          <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 자료형 byte 문자 배열 출력</span>\r\n    Serial.write(pgm_read_byte(xyz1 + i));\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">loop</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n}</code>\r\n   </pre>\r\n<figure class=\"imageblock alignCenter\" width=\"600\" data-filename=\"progmem_string_error.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"margin: 0px auto 20px; max-width: 100%; clear: both; display: table; position: relative; text-align: center; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/cu3LAA/btqzPvENU17/Ua6SohsBeh3shKHExk5wRk/img.jpg\" data-lightbox=\"lightbox\" data-alt=\"\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/cu3LAA/btqzPvENU17/Ua6SohsBeh3shKHExk5wRk/img.jpg\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcu3LAA%2FbtqzPvENU17%2FUa6SohsBeh3shKHExk5wRk%2Fimg.jpg\" width=\"600\" data-filename=\"progmem_string_error.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"border: 0px; max-width: 100%; display: inline-block; margin: 0px; height: auto;\" /></span></figure>\r\n<h3 data-ke-size=\"size23\" style=\"font-size: 1.44em; font-weight: normal; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">문자열이 아닌 자료형에 따른 매크로의 사용방법&nbsp;</h3>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">avr/pgmspace.h 라이브러리에 정의된 매크로를 사용하여 코드를 작성해야 한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;<br />const uint8_t&nbsp;value[] PROGMEM = { 28, 0, 255, 10, 117 };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 1 byte 자료형</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">const char&nbsp;value[] PROGMEM = { 36, -5, 0, -26, 99 };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 1 byte 자료형<br />const uint16_t&nbsp;value[] PROGMEM = { 65000, 32796, 16843, 10, 11234 };&nbsp; // 2 byte 자료형</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">const float&nbsp;value[] PROGMEM = { 19.0, 2.5, 22.56, -8.9, 3.5 };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// float 자료형(4 byte)</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; position: relative; text-align: center; overflow: hidden; margin: auto;\"><ins class=\"kakao_ad_area\" data-ad-unit=\"DAN-t4q6j60rbcqh\" data-ad-width=\"728\" data-ad-height=\"90\" id=\"kakao_ad_pTLFId_1775\" data-ad-rfseq=\"1\" data-ad-status=\"done\" data-ad-rendered=\"Y\" data-ad-request-id=\"bb417e7b-3391-43a2-b9c8-36bbc44d3c27\" data-ad-rfinterval=\"30\" data-ad-bordercolor=\"unknown\" data-ad-action=\"\" data-ad-actioninterval=\"0\" data-ad-refreshlimit=\"0\" data-ad-noadmaxcount=\"10\" data-ad-noadseq=\"0\" style=\"display: inline-block; text-decoration-line: none; min-width: 728px; min-height: 90px; width: 728px; height: 90px;\">\r\n      <div data-ad-creative-wrap=\"outer\" style=\"box-sizing: border-box; overflow: hidden; position: relative; min-width: 728px; min-height: 90px; max-height: inherit;\">\r\n         <div data-ad-creative-wrap=\"inner\" style=\"box-sizing: border-box; overflow: hidden; height: 90px;\"><iframe frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" id=\"adfit_frame_id_YrHngR_4060\" name=\"adfit_frame_id_YrHngR_4060\" style=\"max-width: 100%; min-width: 728px; width: 728px; min-height: 90px; height: 90px; display: block; border-width: 0px; border-style: initial; margin: 0px auto;\"></iframe></div>\r\n         </div>\r\n      </ins></div>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">자료형에 따른 매크로&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">pgm_read_byte(address_short)&nbsp; &nbsp; &nbsp; &nbsp;//&nbsp;포인터 주소의 1 byte 값을 읽는 매크로<br />pgm_read_word(address_short)&nbsp; &nbsp; &nbsp;//&nbsp;포인터 주소의 2 byte 값을 읽는 매크로<br />pgm_read_dword(address_short)&nbsp; &nbsp;//&nbsp;&nbsp;포인터 주소의 4 byte 값을 읽는 매크로<br />pgm_read_float(address_short)&nbsp; &nbsp; &nbsp; // &nbsp;포인터 주소의 float 값(4 byte)을 읽는 매크로<br />pgm_read_ptr(address_short)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 16비트 포인터 주소를 읽는 매크로, uint16_t</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">예) pgm_read_byte(value + 2)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; (배열 이름(배열 주소)&nbsp;+ 배열 인덱스)&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">상기 매크로들은 PROGMEM 수식어가 정의된&nbsp;pgmspace.h 라이브러리에 정의된 매크로들이고 사용 예제에서는 상기 매크로들을 이용하여 PROGMEM 수식어로 정의된 배열에 접근하고 값을 읽게 된다. 이때 매크로에 사용되는 매개변수는 Flash memory에 저장된&nbsp;변수의&nbsp;주소 값이 들어가게 된다. 배열의 인덱스를 활용하여 값을 가져오기 위해서는 상기와 같이 주소 값에 인덱스 값을 더 해주면 된다. arry[배열 인덱스] 형식은 사용할 수 없다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래 코드를 업로드하고 테스트해보자.</p>\r\n<figure class=\"fileblock\" style=\"margin: 28px auto 20px; max-width: 100%; clear: both; width: 470px; height: 71px; border: 1px solid rgb(233, 233, 233); position: relative; border-radius: 1px; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><a href=\"https://blog.kakaocdn.net/dn/czWG68/btqzOlcixGy/fabaHcQtiwfshWaiKvYrJ1/progmem_print_test.ino?attach=1&amp;knm=tfile.ino\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; display: block; height: 71px;\" target=\"_blank\">\r\n      <div class=\"image\" style=\"box-sizing: border-box; position: absolute; left: 0px; top: 0px; width: 30px; height: 30px; background-image: url(&quot;https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg&quot;); background-position: 0px 0px; margin: 21px 17px 20px 22px;\">&nbsp;</div>\r\n      <div class=\"desc\" style=\"box-sizing: border-box; position: absolute; left: 70px; right: 60px; top: 0px; bottom: 0px;\">\r\n         <div class=\"filename\" style=\"box-sizing: border-box; color: #333333; font-size: 14px; text-overflow: ellipsis; height: 20px; margin: 17px 0px 0px;\"><span class=\"name\" style=\"box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block;\">progmem_print_test.ino</span></div>\r\n         <div class=\"size\" style=\"box-sizing: border-box; font-family: &quot;Avenir Next&quot;, sans-serif; font-size: 12px; color: #777777; height: 16px; margin: 2px 0px 0px;\">0.00MB</div>\r\n         </div>\r\n      </a></figure>\r\n<pre id=\"code_1573959987615\" class=\"c++ cpp arduino\" data-ke-language=\"c++\" data-ke-type=\"codeblock\" style=\"overflow: auto hidden; padding: 10px; margin-top: 5px; margin-bottom: 5px; max-width: 100%; border: 1px solid rgb(221, 221, 221); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: 21.6px; font-family: &quot;Lucida Console&quot;; background-color: #fafafa; border-radius: 3px;\">\r\n   <code class=\"hljs cpp\" style=\"border: 1px solid rgb(238, 238, 238); background: rgb(40, 44, 52); color: #abb2bf; border-radius: 5px; padding: 0.5em; margin: 3px 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 17px; line-height: 1.3em; font-family: D2Coding, monospace; display: block; overflow-x: auto;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">uint8_t</span> value1[] PROGMEM = { <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">28</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">255</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">10</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">117</span> };              <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 1 byte 자료형</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int8_t</span> value2[] PROGMEM = { <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">36</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">-5</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">-26</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">99</span> };                  <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 1 byte 자료형</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">uint16_t</span> value3[] PROGMEM = { <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">65000</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">32796</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">16843</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">10</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">11234</span> };  <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 2 byte 자료형</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">float</span> value4[] PROGMEM = { <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">19.0</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">2.5</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">22.56</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">-8.9</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">3.5</span> };        <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// float 자료형(4 byte)</span><span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">setup</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{ \r\n  Serial.begin(<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">9600</span>);  \r\n  Serial.println(pgm_read_byte(value1 + <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">2</span>)); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 1 byte 자료형 읽기, value1 인덱스 2번 값 출력</span>\r\n  Serial.println((<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int8_t</span>)pgm_read_byte(value2 + <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">1</span>)); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 1 byte 자료형 읽기, value2 값을 읽어와 signed로 변환</span>\r\n  Serial.println(pgm_read_word(value3 + <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">1</span>)); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// 2 byte 자료형 읽기</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">for</span> (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int</span> i = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>; i &lt; <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value4)/<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value4[<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>]); i++) { <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// float는 4바이트 자료형</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">float</span> float_val = pgm_read_float(value4 + i); \r\n    Serial.print(float_val);\r\n    Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\",\"</span>);\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">loop</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n}</code>\r\n   </pre>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">시리얼 모니터 출력 값</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">255&nbsp;<br />-5&nbsp;<br />32796&nbsp;<br />19.00,2.50,22.56,-8.90,3.50,</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아두이노에서&nbsp;PROGMEM 지시어에 의해 저장된 배열을&nbsp;PROGMEM 지시어를 사용하지 않은 일반 배열로 취급하여 \"Serial.println(value[0]);\"처럼 코드를 작성할 경우 정상적으로 값을 읽어올 수도 있고 값을 읽지 못하거나 엉뚱한 값을 읽어 올 수도 있다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래 코드를 아두이노에 업로드하고 시리얼 모니터를 확인해보면&nbsp;\"Serial.println(value [i]);\" 코드에 의한 출력 값이 정상적으로 표시되지 않는 것을 확인할 수 있다.</p>\r\n<figure class=\"fileblock\" style=\"margin: 28px auto 20px; max-width: 100%; clear: both; width: 470px; height: 71px; border: 1px solid rgb(233, 233, 233); position: relative; border-radius: 1px; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><a href=\"https://blog.kakaocdn.net/dn/4F2YG/btqzNBUd6le/iYyIzaKPNra8xzFEU3Pehk/progmem_array_test_error.ino?attach=1&amp;knm=tfile.ino\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; display: block; height: 71px;\" target=\"_blank\">\r\n      <div class=\"image\" style=\"box-sizing: border-box; position: absolute; left: 0px; top: 0px; width: 30px; height: 30px; background-image: url(&quot;https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg&quot;); background-position: 0px 0px; margin: 21px 17px 20px 22px;\">&nbsp;</div>\r\n      <div class=\"desc\" style=\"box-sizing: border-box; position: absolute; left: 70px; right: 60px; top: 0px; bottom: 0px;\">\r\n         <div class=\"filename\" style=\"box-sizing: border-box; color: #333333; font-size: 14px; text-overflow: ellipsis; height: 20px; margin: 17px 0px 0px;\"><span class=\"name\" style=\"box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block;\">progmem_array_test_error.ino</span></div>\r\n         <div class=\"size\" style=\"box-sizing: border-box; font-family: &quot;Avenir Next&quot;, sans-serif; font-size: 12px; color: #777777; height: 16px; margin: 2px 0px 0px;\">0.00MB</div>\r\n         </div>\r\n      </a></figure>\r\n<pre id=\"code_1573959987617\" class=\"c++ cpp arduino\" data-ke-language=\"c++\" data-ke-type=\"codeblock\" style=\"overflow: auto hidden; padding: 10px; margin-top: 5px; margin-bottom: 5px; max-width: 100%; border: 1px solid rgb(221, 221, 221); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: 21.6px; font-family: &quot;Lucida Console&quot;; background-color: #fafafa; border-radius: 3px;\">\r\n   <code class=\"hljs cpp\" style=\"border: 1px solid rgb(238, 238, 238); background: rgb(40, 44, 52); color: #abb2bf; border-radius: 5px; padding: 0.5em; margin: 3px 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 17px; line-height: 1.3em; font-family: D2Coding, monospace; display: block; overflow-x: auto;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">float</span> value[] PROGMEM = { <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">19.0</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">2.5</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">22.56</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">-8.9</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">3.5</span> }; \r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">setup</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n  Serial.begin(<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">9600</span>);\r\n<span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">//  Serial.println(value[0]); // 에러 테스트용 주석처리</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">for</span> (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int</span> i = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>; i &lt; <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value)/<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value[<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>]); i++) { <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// float는 4바이트 자료형 </span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">float</span> float_val = pgm_read_float(value + i);  \r\n    Serial.println(float_val); <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// output the buffer.  </span>\r\n  } \r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">for</span> (<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">int</span> i = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>; i &lt; <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value)/<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">sizeof</span>(value[<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>]); i++) { <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// float는 4바이트 자료형 </span>\r\n    Serial.println(value[i]); \r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">loop</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n}</code>\r\n   </pre>\r\n<figure class=\"imageblock alignCenter\" width=\"600\" data-filename=\"progmem_arry_error.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"margin: 0px auto 20px; max-width: 100%; clear: both; display: table; position: relative; text-align: center; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/ble5or/btqzPvx2h5u/gJFjWuBsaE7LGCzgEGi7E0/img.jpg\" data-lightbox=\"lightbox\" data-alt=\"\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/ble5or/btqzPvx2h5u/gJFjWuBsaE7LGCzgEGi7E0/img.jpg\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fble5or%2FbtqzPvx2h5u%2FgJFjWuBsaE7LGCzgEGi7E0%2Fimg.jpg\" width=\"600\" data-filename=\"progmem_arry_error.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"border: 0px; max-width: 100%; display: inline-block; margin: 0px; height: auto;\" /></span></figure>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">다시 Serial.println(value[0]); 코드의 주석을 풀고 업로드해보면 정상적으로 값이 출력됨을 확인할 수 있다.&nbsp;</p>\r\n<figure class=\"imageblock alignCenter\" width=\"600\" data-filename=\"progmem_arry_error1.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"margin: 0px auto 20px; max-width: 100%; clear: both; display: table; position: relative; text-align: center; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/bSBEV9/btqzOXu0UpX/uQjE12FOhzIdUOfJL5eFM0/img.jpg\" data-lightbox=\"lightbox\" data-alt=\"\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/bSBEV9/btqzOXu0UpX/uQjE12FOhzIdUOfJL5eFM0/img.jpg\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSBEV9%2FbtqzOXu0UpX%2FuQjE12FOhzIdUOfJL5eFM0%2Fimg.jpg\" width=\"600\" data-filename=\"progmem_arry_error1.jpg\" data-origin-width=\"0\" data-origin-height=\"0\" style=\"border: 0px; max-width: 100%; display: inline-block; margin: 0px; height: auto;\" /></span></figure>\r\n<p><br style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\" /><br style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\" /><span style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">출처:&nbsp;</span><a href=\"https://postpop.tistory.com/92?category=744994\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\" target=\"_blank\">https://postpop.tistory.com/92?category=744994</a><span style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;[postpop]</span></p>','https://postpop.tistory.com/92?category=744994 [postpop]','',3,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-08-10 14:18:34',0,'2020-08-10 14:18:34','210.101.103.92','','','','','','','','','','','',''),(460,-460,'',460,0,0,'','','html1','[Arduino] ESP8266 / ESP32 - SPIFFS 파일시스템 라이브러리 예제 및 사용방법','<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS는 SPI 연결을 이용하는 FLASH 저장 장치의 파일 시스템을 정의하고 데이터가 저장된 파일의 생성 및 수정 그리고 읽기를 하는 프로그램이다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS는 EEPROM과 다르게 인덱스를 기준으로 저장하지 않고 파일 단위로 데이터를 구분하여 저장할 수 있다. 파일 단위로 저장할 수 있게되면서 스트링 형식의 데이터를 처리하는데 용이하고, 그 스트링은 JSON 형식 또는 배열 형식이 될 수 있다. 이 얘기는 JSON 형식일 경우 파일 내에 변수 인자가 포함 된다는 것이고, 배열 형식일 경우 EEPROM처럼 인덱스를 이용하여 데이터의 처리가 가능하다는 것이다. 이는 독립된 EEPROM 여러개를 사용하는 것과 비슷하다. 따라서 EPROM을 대체할 수 있으며, 데이터 초기값을 포함한 파일(예: config.txt)을 컴파일 전에 미리 올려 놓을 수 있어서 EEPROM처럼 MCU 셋업시 초기값을 써주어야 하는 과정을 생략할 수 있는 장점이 있다.&nbsp;&nbsp;단점은 EEPROM과 마찬 가지로 데이터 쓰기시 상당한 시간이 소요된다. 상당한 시간이라고 했지만 보통은 불편함 없이 사용할 수 있다. 다만, 타이머에 의한 인터럽트가 빠른 주기로 실행되고 있을 때에는(예: LED 디스플레이 출력용 데이터 전송 등) 타이머 인터럽트가 실행되는 시간 간격보다 더 많은 시간이 소요되어 타이머 인터럽트의 실행을 방해하고 오류를 발생 시킬 수 있다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">이미 파일 형태로 저장된 데이터를 스케치 컴파일전에 SPIFFS파일 시스템에 업로드 시키기 위해서는 아두이노 IDE에 플러그인 형태로 설치되는 프로그램을 사용하여야 한다. 플러그인 설치에 관해서는 이글의 말미에 언급하겠다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">목표: SPIFFS를 이용하여 다음과 같은 작업을 시행해 보자.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">1. SPIFFS 파일 시스템 포맷하기</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">2. 스트링 데이터 저장, 읽기, 수정하기</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">3.&nbsp;Stream&nbsp;함수 테스트</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">4. 와이파이 환경설정 정보를 저장하고 읽기</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">5. 폰트파일을 모듈에 업로드 하고 그 폰트파일을 이용하여 시리얼 모니터에 문자 이미지를 출력하기</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래는 ESP8266의 시스템 구조이다.</p>\r\n<figure class=\"imageblock alignLeft\" data-filename=\"spiff_file_system.png\" data-origin-width=\"697\" data-origin-height=\"112\" style=\"margin: 0px 0px 20px; max-width: 100%; clear: both; display: table; position: relative; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/zhSGj/btqCQoEvTL3/0A5vWKXOj2kSZRokx9O3YK/img.png\" data-lightbox=\"lightbox\" data-alt=\"\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/zhSGj/btqCQoEvTL3/0A5vWKXOj2kSZRokx9O3YK/img.png\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzhSGj%2FbtqCQoEvTL3%2F0A5vWKXOj2kSZRokx9O3YK%2Fimg.png\" data-filename=\"spiff_file_system.png\" data-origin-width=\"697\" data-origin-height=\"112\" style=\"border: 0px; max-width: 100%; display: inline-block; width: 697px; margin: 0px; height: auto;\" /></span></figure>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">ESP8266의 파일 시스템은 저장 장치 FLASH(NodeMcu의 경우 4M)를 각 사용 영역별로 분할 하게 되는데 상기 그림에서 볼 수 있듯이 Sketch, OTA update, File system, EEPROM, WiFi config(SDK)로 나뉘며 WiFi config를 제외한 나머지 항목들을 아두이노 IDE의&nbsp;툴 -&gt; Flash Size 항목(ESP32의 경우 Partition Scheme)에서 그 크기들에 대한 설정을 할 수 있다.&nbsp;&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">Sketch 영역은 스케치가 업로드되는 영역이고 OTA update는 무선으로 스케치를 변경하기 위해 할당된 영역이며 File system이 다루고자 하는 SPIFFS 라이브러리에 의해 생성된 파일들이 저장되는 영역이다. WiFi config 영역은 WiFi 환경에 관한 내용들 SSID, Password등 WiFi 연결에 관한 설정을 저장하는 항목인데 보안상 이유 때문에 일반적으로 직접 접근하여 수정할수 없고 Wifi 라이브러리에 의해 관리되는 영역이다. 이러한 이유로 와이파이 관련 데이터가 변경될 경우 이전 데이터가 남아 있어 WiFi 연결이 지연되거나 오류(Stack Error)를 유발하는 경우가 있었다. SSID와 Password를 변경한 스케치를 반복적으로 업로드 하던중 간혹 발생했었다. 이런 오류가 발생하면 ESP8266의 전체 시스템을 공장 초기화 하고 스케치를 다시 업로드 하는게 쉬운 해결 방법이다.&nbsp; 공장 초기화 방법은 이전글&nbsp;<b><a href=\"https://postpop.tistory.com/26\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s;\" target=\"_blank\">Esp8266 NodeMcu 및 ESP32 Dev Module, stack 오류</a></b>&nbsp;을 참조하기 바란다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; position: relative; text-align: center; overflow: hidden; margin: auto;\"><ins class=\"kakao_ad_area\" data-ad-unit=\"DAN-1iaxmu4263dk5\" data-ad-width=\"728\" data-ad-height=\"90\" id=\"kakao_ad_R9r2l1_9146\" data-ad-rfseq=\"1\" data-ad-status=\"done\" data-ad-viewable=\"standby\" data-ad-rendered=\"Y\" data-ad-request-id=\"dd8d5021-4883-4bda-b863-149531461d5e\" data-ad-rfinterval=\"30\" data-ad-bordercolor=\"unknown\" data-ad-action=\"\" data-ad-actioninterval=\"0\" data-ad-refreshlimit=\"0\" data-ad-noadmaxcount=\"10\" data-ad-noadseq=\"0\" style=\"display: inline-block; text-decoration-line: none; min-width: 728px; min-height: 90px; width: 728px; height: 90px;\">\r\n      <div data-ad-creative-wrap=\"outer\" style=\"box-sizing: border-box; overflow: hidden; position: relative; min-width: 728px; min-height: 90px; max-height: inherit;\">\r\n         <div data-ad-creative-wrap=\"inner\" style=\"box-sizing: border-box; overflow: hidden; height: 90px;\"><iframe frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" id=\"adfit_frame_id_CMB9OK_8329\" name=\"adfit_frame_id_CMB9OK_8329\" style=\"max-width: 100%; min-width: 728px; width: 728px; min-height: 90px; height: 90px; display: block; border-width: 0px; border-style: initial; margin: 0px auto;\"></iframe></div>\r\n         </div>\r\n      </ins></div>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아두이노 IDE에서 SPIFFS 파일시스템 설정 하기</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS 파일시스템을 사용하기 위해서는 아두이노 IDE의 툴 -&gt; 모듈 항목에서 SPIFFS 파일시스템에서 사용할 용량을 설정해주어야 한다.</p>\r\n<figure class=\"imageblock alignCenter\" data-filename=\"esp8266_spiff_filesystem.png\" data-origin-width=\"896\" data-origin-height=\"616\" style=\"margin: 0px auto 20px; max-width: 100%; clear: both; display: table; position: relative; text-align: center; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/T3Ehk/btqCRzyOfOy/ku9UCM5NcdQTQC0B1hv6Wk/img.png\" data-lightbox=\"lightbox\" data-alt=\"ESP8266 NodeMcu 파일시스템 설정(SPIFFS 사용)\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/T3Ehk/btqCRzyOfOy/ku9UCM5NcdQTQC0B1hv6Wk/img.png\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT3Ehk%2FbtqCRzyOfOy%2Fku9UCM5NcdQTQC0B1hv6Wk%2Fimg.png\" data-filename=\"esp8266_spiff_filesystem.png\" data-origin-width=\"896\" data-origin-height=\"616\" style=\"border: 0px; max-width: 100%; display: inline-block; width: 896px; margin: 0px; height: auto;\" /></span>\r\n   <figcaption style=\"font-size: 13px; word-break: break-word; padding-top: 10px; min-height: 20px; caption-side: bottom;\">ESP8266 NodeMcu 파일시스템 설정(SPIFFS 사용)</figcaption>\r\n   </figure>\r\n<figure class=\"imageblock alignCenter\" data-filename=\"spiff_size.png\" data-origin-width=\"1008\" data-origin-height=\"662\" style=\"margin: 0px auto 20px; max-width: 100%; clear: both; display: table; position: relative; text-align: center; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><span data-url=\"https://blog.kakaocdn.net/dn/c7ZjJR/btqCUx7Azhx/bFZt7YuSWMsQMaBImYvsAK/img.png\" data-lightbox=\"lightbox\" data-alt=\"ESP32 파일시스템 설정(SPIFFS 사용)\" style=\"box-sizing: border-box; cursor: pointer;\"><img src=\"https://blog.kakaocdn.net/dn/c7ZjJR/btqCUx7Azhx/bFZt7YuSWMsQMaBImYvsAK/img.png\" srcset=\"https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7ZjJR%2FbtqCUx7Azhx%2FbFZt7YuSWMsQMaBImYvsAK%2Fimg.png\" data-filename=\"spiff_size.png\" data-origin-width=\"1008\" data-origin-height=\"662\" style=\"border: 0px; max-width: 100%; display: inline-block; width: 1008px; margin: 0px; height: auto;\" /></span>\r\n   <figcaption style=\"font-size: 13px; word-break: break-word; padding-top: 10px; min-height: 20px; caption-side: bottom;\">ESP32 파일시스템 설정(SPIFFS 사용)</figcaption>\r\n   </figure>\r\n<h3 style=\"font-size: 1.44em; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">1. SPIFFS 파일 시스템 포맷하기</h3>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS 파일시스템내 파일을 모두 삭제하고자 할 때 사용하면된다.&nbsp; 스케치를 업로드 했는데 SPIFFS 파일시스템을 마운트하는데 실패하는 경우가 발생할 수 있다. 그럴때는 상기의 파티션 설정에서 SPIFF 파일 시스템을 사용하도록 설정했는지 확인해보거나 SPIFFS 파일 시스템을 포맷해 보기 바란다.</p>\r\n<figure class=\"fileblock\" style=\"margin: 28px auto 20px; max-width: 100%; clear: both; width: 470px; height: 71px; border: 1px solid rgb(233, 233, 233); position: relative; border-radius: 1px; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><a href=\"https://blog.kakaocdn.net/dn/dOz499/btqCQ284kmr/bdBFd1GxNw6kWyGbWEeomk/SPIFFS_format.ino?attach=1&amp;knm=tfile.ino\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; display: block; height: 71px;\" target=\"_blank\">\r\n      <div class=\"image\" style=\"box-sizing: border-box; position: absolute; left: 0px; top: 0px; width: 30px; height: 30px; background-image: url(&quot;https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg&quot;); background-position: 0px 0px; margin: 21px 17px 20px 22px;\">&nbsp;</div>\r\n      <div class=\"desc\" style=\"box-sizing: border-box; position: absolute; left: 70px; right: 60px; top: 0px; bottom: 0px;\">\r\n         <div class=\"filename\" style=\"box-sizing: border-box; color: #333333; font-size: 14px; text-overflow: ellipsis; height: 20px; margin: 17px 0px 0px;\"><span class=\"name\" style=\"box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block;\">SPIFFS_format.ino</span></div>\r\n         <div class=\"size\" style=\"box-sizing: border-box; font-family: &quot;Avenir Next&quot;, sans-serif; font-size: 12px; color: #777777; height: 16px; margin: 2px 0px 0px;\">0.00MB</div>\r\n         </div>\r\n      </a></figure>\r\n<pre id=\"code_1584879314362\" class=\"c++ arduino\" data-ke-language=\"c++\" data-ke-type=\"codeblock\" style=\"overflow: auto; padding: 15px; margin: 20px auto 0px; max-width: 100%; border: 1px solid rgb(221, 221, 221); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 14px; line-height: 25.2px; font-family: Menlo, Consolas, Monaco, monospace; background: rgb(246, 247, 248); border-radius: 3px; color: #383a42; cursor: default; z-index: 1;\">\r\n   <code class=\"hljs cpp\" style=\"border: 1px solid rgb(238, 238, 238); background: rgb(40, 44, 52); color: #abb2bf; border-radius: 5px; padding: 0.5em; margin: 3px 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 17px; line-height: 1.3em; font-family: D2Coding, monospace; display: block; overflow-x: auto;\"><span class=\"hljs-meta\" style=\"box-sizing: border-box; color: #61aeee;\">#<span class=\"hljs-meta-keyword\" style=\"box-sizing: border-box;\">include</span><span class=\"hljs-meta-string\" style=\"box-sizing: border-box; color: #98c379;\">\"FS.h\"</span><span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// ESP8266 SPIFFS 라이브러리</span></span><span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">//#include \"SPIFFS.h\"  // ESP32 SPIFFS 라이브러리</span><span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">setup</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n  Serial.begin(<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">115200</span>);\r\n  Serial.println();\r\n  SPIFFS.begin();\r\n  SPIFFS.format();\r\n  Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Format complete!\"</span>);\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">loop</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n}</code>\r\n   </pre>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; width: 6623.34px; height: 90px; margin: auto; text-align: center;\"><ins class=\"adsbygoogle\" data-ad-client=\"ca-pub-8269928309278636\" data-ad-slot=\"3647290720\" data-adsbygoogle-status=\"done\" style=\"display: inline-block; width: 728px; height: 90px;\"><ins id=\"aswift_2_expand\" style=\"display: inline-table; border: none; height: 90px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 728px; background-color: transparent;\"><ins id=\"aswift_2_anchor\" style=\"display: block; border: none; height: 90px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 728px; background-color: transparent;\"><iframe id=\"aswift_2\" name=\"aswift_2\" sandbox=\"allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" width=\"728\" height=\"90\" frameborder=\"0\" src=\"https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8269928309278636&amp;output=html&amp;h=90&amp;slotname=3647290720&amp;adk=2731592040&amp;adf=4195724218&amp;w=728&amp;lmt=1597037830&amp;psa=1&amp;guci=2.2.0.0.2.2.0.0&amp;format=728x90&amp;url=https%3A%2F%2Fpostpop.tistory.com%2F97%3Fcategory%3D744994&amp;flash=0&amp;wgl=1&amp;dt=1597037829903&amp;bpp=1&amp;bdt=353&amp;idt=203&amp;shv=r20200805&amp;cbv=r20190131&amp;ptt=9&amp;saldr=aa&amp;abxe=1&amp;cookie=ID%3D720ca2025ee5b318%3AT%3D1597021416%3AS%3DALNI_MbwB0RmCu8y8M7-tE67Lg-ncQLpkQ&amp;prev_fmts=0x0%2C300x250&amp;nras=1&amp;correlator=8762422388933&amp;frm=20&amp;pv=1&amp;ga_vid=190590715.1597021417&amp;ga_sid=1597037830&amp;ga_hid=661654081&amp;ga_fc=0&amp;iag=0&amp;icsg=2814921700674082&amp;dssz=51&amp;mdo=0&amp;mso=0&amp;u_tz=540&amp;u_his=22&amp;u_java=0&amp;u_h=1440&amp;u_w=2560&amp;u_ah=1400&amp;u_aw=2560&amp;u_cd=24&amp;u_nplug=3&amp;u_nmime=4&amp;adx=412&amp;ady=3323&amp;biw=1261&amp;bih=1287&amp;scr_x=0&amp;scr_y=0&amp;eid=42530558%2C42530560%2C21066393&amp;oid=3&amp;pvsid=2275327659788414&amp;pem=173&amp;ref=https%3A%2F%2Fpostpop.tistory.com%2F95%3Fcategory%3D744994&amp;rx=0&amp;eae=0&amp;fc=1920&amp;brdim=-7%2C40%2C-7%2C40%2C2560%2C40%2C1294%2C1407%2C1278%2C1287&amp;vis=1&amp;rsz=%7C%7CeEbr%7C&amp;abl=CS&amp;pfx=0&amp;fu=8192&amp;bc=31&amp;ifi=2&amp;uci=a!2&amp;btvi=1&amp;fsb=1&amp;xpc=6A5vNSfm3L&amp;p=https%3A//postpop.tistory.com&amp;dtd=209\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" scrolling=\"no\" allowfullscreen=\"true\" data-google-container-id=\"a!2\" data-google-query-id=\"CIHT_cP1j-sCFaTDTAIdP0oJzA\" data-load-complete=\"true\" style=\"max-width: 100%; left: 0px; position: absolute; top: 0px; border-width: 0px; border-style: initial; width: 728px; height: 90px;\"></iframe></ins></ins></ins></div>\r\n<p data-ke-size=\"size14\" style=\"font-size: 0.87em; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">&nbsp;</p>\r\n<h3 style=\"font-size: 1.44em; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">2. 스트링 데이터 저장, 읽기, 수정하기</h3>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFF 라이브러리 역시 ESP8266과 ESP32 라이브러리 코드가 비슷하다. ESP8266 SPIFF 코드를을 기반으로 ESP32용 코드가 만들어 졌으리라 생각한다. 따라서 우선 ESP8266 SPIFF 코드들을 살펴보고 ESP32 코드의 다른점들을 비교해 보겠다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">우선, 예제로서 ESP32의 SPIFFS 예제를 가져와 ESP8266에서 사용할 수 있도록 코드를 수정해 주었다. ESP32의 SPIFFS 예제는 파일 생성 / 삭제, 스트링 쓰기, 추가하기와 쓰기 읽기 성능 테스트(벤치 마크)를 하도록 코딩되어 있다. 성능 테스트 기능이 있으므로 ESP8266의 CPU Frequency를 변경해가며 테스트도 해보자.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS 라이브러리 명칭</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">#include \"FS.h\"&nbsp; &nbsp; &nbsp; &nbsp; // ESP8266<br />#include \"SPIFFS.h\"&nbsp; &nbsp;// ESP32</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래 스케치는 ESP32용 SPIFFS 테스트 코드를 ESP8266에 맞게 수정해 준 것이다.</p>\r\n<figure class=\"fileblock\" style=\"margin: 28px auto 20px; max-width: 100%; clear: both; width: 470px; height: 71px; border: 1px solid rgb(233, 233, 233); position: relative; border-radius: 1px; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\"><a href=\"https://blog.kakaocdn.net/dn/bqHXzE/btqCPBqvub2/qKhNM0e9B0gUpa312UgNcK/ESP8266_example_SPIFFS_Test.ino?attach=1&amp;knm=tfile.ino\" style=\"color: #000000; text-decoration-line: none; transition: all 0.3s ease 0s; display: block; height: 71px;\" target=\"_blank\">\r\n      <div class=\"image\" style=\"box-sizing: border-box; position: absolute; left: 0px; top: 0px; width: 30px; height: 30px; background-image: url(&quot;https://t1.daumcdn.net/tistory_admin/static/manage/post-editor/img_editor_content.svg&quot;); background-position: 0px 0px; margin: 21px 17px 20px 22px;\">&nbsp;</div>\r\n      <div class=\"desc\" style=\"box-sizing: border-box; position: absolute; left: 70px; right: 60px; top: 0px; bottom: 0px;\">\r\n         <div class=\"filename\" style=\"box-sizing: border-box; color: #333333; font-size: 14px; text-overflow: ellipsis; height: 20px; margin: 17px 0px 0px;\"><span class=\"name\" style=\"box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 272px; height: 20px; display: block;\">ESP8266_example_SPIFFS_Test.ino</span></div>\r\n         <div class=\"size\" style=\"box-sizing: border-box; font-family: &quot;Avenir Next&quot;, sans-serif; font-size: 12px; color: #777777; height: 16px; margin: 2px 0px 0px;\">0.00MB</div>\r\n         </div>\r\n      </a></figure>\r\n<pre id=\"code_1584879314363\" class=\"c++ arduino\" data-ke-language=\"c++\" data-ke-type=\"codeblock\" style=\"overflow: auto; padding: 15px; margin: 20px auto 0px; max-width: 100%; border: 1px solid rgb(221, 221, 221); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 14px; line-height: 25.2px; font-family: Menlo, Consolas, Monaco, monospace; background: rgb(246, 247, 248); border-radius: 3px; color: #383a42; cursor: default; z-index: 1;\">\r\n   <code class=\"hljs cpp\" style=\"border: 1px solid rgb(238, 238, 238); background: rgb(40, 44, 52); color: #abb2bf; border-radius: 5px; padding: 0.5em; margin: 3px 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 17px; line-height: 1.3em; font-family: D2Coding, monospace; display: block; overflow-x: auto;\"><span class=\"hljs-meta\" style=\"box-sizing: border-box; color: #61aeee;\">#<span class=\"hljs-meta-keyword\" style=\"box-sizing: border-box;\">include</span><span class=\"hljs-meta-string\" style=\"box-sizing: border-box; color: #98c379;\">\"FS.h\"</span></span><span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">setup</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n  Serial.begin(<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">115200</span>);\r\n  Serial.println();\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span> (!SPIFFS.begin()) {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Failed to mount file system\"</span>);\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">return</span>;\r\n  }\r\n  SPIFFS.format();\r\n  FSInfo fsInfo;\r\n  SPIFFS.info(fsInfo);\r\n  Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"totalBytes: \"</span>); Serial.println(fsInfo.totalBytes);\r\n  Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"usedBytes: \"</span>); Serial.println(fsInfo.usedBytes);\r\n  listDir(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/\"</span>);\r\n  writeFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/hello.txt\"</span>, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Hello \"</span>);\r\n  readFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/hello.txt\"</span>);\r\n  appendFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/hello.txt\"</span>, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"World!\\r\\n\"</span>);\r\n  readFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/hello.txt\"</span>);\r\n  renameFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/hello.txt\"</span>, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/foo.txt\"</span>);\r\n  readFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/foo.txt\"</span>);\r\n  deleteFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/foo.txt\"</span>);\r\n  testFileIO(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/test.txt\"</span>);\r\n  deleteFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"/test.txt\"</span>);\r\n  Serial.println( <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Test complete\"</span> );\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">loop</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">()</span></span>{\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">listDir</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * dirname)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Listing directory: %s\\r\\n\"</span>, dirname);\r\n  Dir dir = SPIFFS.openDir(dirname);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">while</span> (dir.next()) {\r\n    Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"File Name: \"</span>); Serial.print(dir.fileName());\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(dir.fileSize()) {\r\n      File f = dir.openFile(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"r\"</span>);\r\n      Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\", Size: \"</span>); Serial.println(f.size());\r\n    }\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">readFile</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Reading file: %s\\r\\n\"</span>, path);\r\n  File file = SPIFFS.open(path, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"r\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(!file || file.isDirectory()){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"- failed to open file for reading\"</span>);\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">return</span>;\r\n  }\r\n  Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"read from file:\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">while</span>(file.available()){\r\n    Serial.write(file.read());\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">writeFile</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path, <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * message)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Writing file: %s\\r\\n\"</span>, path);\r\n  File file = SPIFFS.open(path, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"w\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(!file){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"failed to open file for writing\"</span>);\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">return</span>;\r\n  }\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(file.print(message)){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"file written\"</span>);\r\n  } <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">else</span> {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"frite failed\"</span>);\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">appendFile</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path, <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * message)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Appending to file: %s\\r\\n\"</span>, path);\r\n  File file = SPIFFS.open(path, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"a\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(!file){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"failed to open file for appending\"</span>);\r\n      <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">return</span>;\r\n  }\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(file.print(message)){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"message appended\"</span>);\r\n  } <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">else</span> {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"append failed\"</span>);\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">renameFile</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path1, <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path2)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Renaming file %s to %s\\r\\n\"</span>, path1, path2);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span> (SPIFFS.rename(path1, path2)) {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"file renamed\"</span>);\r\n  } <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">else</span> {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"rename failed\"</span>);\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">deleteFile</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Deleting file: %s\\r\\n\"</span>, path);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(SPIFFS.remove(path)){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"file deleted\"</span>);\r\n  } <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">else</span> {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"delete failed\"</span>);\r\n  }\r\n}\r\n<span class=\"hljs-function\" style=\"box-sizing: border-box; color: #61aeee;\"><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">void</span><span class=\"hljs-title\" style=\"box-sizing: border-box;\">testFileIO</span><span class=\"hljs-params\" style=\"box-sizing: border-box; color: #a6e22e;\">(<span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">const</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">char</span> * path)</span></span>{\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"Testing file I/O with %s\\r\\n\"</span>, path);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">static</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">uint8_t</span> buf[<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">512</span>];\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">size_t</span> len = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>;\r\n  File file = SPIFFS.open(path, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"w\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(!file){\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"failed to open file for writing\"</span>);\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">return</span>;\r\n  }\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">size_t</span> i;\r\n  Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"writing\"</span> );\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">uint32_t</span> start = millis();\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">for</span>(i=<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>; i&lt;<span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">1024</span>; i++){      <span class=\"hljs-comment\" style=\"box-sizing: border-box; color: #b18eb1; font-style: italic;\">// ESP8266 - 1024</span><span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span> ((i &amp; <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x001F</span>) == <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x001F</span>){\r\n      Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\".\"</span>);\r\n    }\r\n    file.write(buf, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">512</span>);\r\n  }\r\n  Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"\"</span>);\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">uint32_t</span> end = millis() - start;\r\n  Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"%u bytes written in %u ms\\r\\n\"</span>, <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">1024</span> * <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">512</span>, end);\r\n  file.close();\r\n  file = SPIFFS.open(path, <span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"r\"</span>);\r\n  start = millis();\r\n  end = start;\r\n  i = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0</span>;\r\n  <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(file &amp;&amp; !file.isDirectory()){\r\n    len = file.size();\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">size_t</span> flen = len;\r\n    start = millis();\r\n    Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"reading\"</span> );\r\n    <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">while</span>(len){\r\n      <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">size_t</span> toRead = len;\r\n      <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span>(toRead &gt; <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">512</span>){\r\n        toRead = <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">512</span>;\r\n      }\r\n      file.read(buf, toRead);\r\n      <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">if</span> ((i++ &amp; <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x001F</span>) == <span class=\"hljs-number\" style=\"box-sizing: border-box; color: #d19a66;\">0x001F</span>){\r\n        Serial.print(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\".\"</span>);\r\n      }\r\n      len -= toRead;\r\n    }\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"\"</span>);\r\n    end = millis() - start;\r\n    Serial.<span class=\"hljs-built_in\" style=\"box-sizing: border-box; color: #e6c07b;\">printf</span>(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"%u bytes read in %u ms\\r\\n\"</span>, flen, end);\r\n    file.close();\r\n  } <span class=\"hljs-keyword\" style=\"box-sizing: border-box; color: #f92672;\">else</span> {\r\n    Serial.println(<span class=\"hljs-string\" style=\"box-sizing: border-box; color: #98c379;\">\"failed to open file for reading\"</span>);\r\n  }\r\n}</code>\r\n   </pre>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">전체적인 테스트 흐름을 살펴보자.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">1. setup() 함수에 진입하면 SPIFFS 파일 시스템을 포맷한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">2. 루트 디렉토리의 파일 리스트를 읽어온다. (포맷했으므로 파일리스트는 출력되지 않는다.)</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">3. hello.txt 파일을 생성하고 스트링 \"Hello\"를 저장한다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">4. 저장한 hello.txt의 데이터를 읽어온다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">5. hello.txt 파일에 스트링 \"World!\\r\\n\"를 추가한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">6. 데이터가 추가된 hello.txt 파일의 데이터를 읽어온다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">7. hello.txt 파일 이름을 foo.txt 파일로 변경한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">8. 변경한 foo.txt 파일의 데이터를 읽어온다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">9. foo.txt 파일을 삭제한다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">10. test.txt 파일을 생성하고 쓰기 및 읽기 성능테스트를 한다.</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">11. test.txt 파일을 지운다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">아래는 시리얼 모니터에 출력된 내용이다.&nbsp; (CPU&nbsp;Frequency:&nbsp;160Mhz&nbsp;)</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6623px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6601px; padding: 10px;\">\r\n            <p>Writing&nbsp;file:&nbsp;/hello.txt&nbsp;<br />file&nbsp;written&nbsp;<br />Reading&nbsp;file:&nbsp;/hello.txt&nbsp;<br />read&nbsp;from&nbsp;file:&nbsp;<br />Hello&nbsp;Appending&nbsp;to&nbsp;file:&nbsp;/hello.txt&nbsp;<br />message&nbsp;appended&nbsp;<br />Reading&nbsp;file:&nbsp;/hello.txt&nbsp;<br />read&nbsp;from&nbsp;file:&nbsp;<br />Hello&nbsp;World!&nbsp;<br />Renaming&nbsp;file&nbsp;/hello.txt&nbsp;to&nbsp;/foo.txt&nbsp;<br />file&nbsp;renamed&nbsp;<br />Reading&nbsp;file:&nbsp;/foo.txt&nbsp;<br />read&nbsp;from&nbsp;file:&nbsp;<br />Hello&nbsp;World!&nbsp;<br />Deleting&nbsp;file:&nbsp;/foo.txt&nbsp;<br />file&nbsp;deleted&nbsp;<br />Testing&nbsp;file&nbsp;I/O&nbsp;with&nbsp;/test.txt&nbsp;<br />writing................................&nbsp;<br />524288&nbsp;bytes&nbsp;written&nbsp;in&nbsp;6431&nbsp;ms&nbsp;<br />reading................................&nbsp;<br />524288&nbsp;bytes&nbsp;read&nbsp;in&nbsp;173&nbsp;ms&nbsp;<br />Deleting&nbsp;file:&nbsp;/test.txt&nbsp;<br />file&nbsp;deleted&nbsp;<br />Test&nbsp;complete</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; position: relative; text-align: center; overflow: hidden; margin: auto;\"><ins class=\"adsbygoogle\" data-ad-client=\"ca-pub-8269928309278636\" data-ad-slot=\"1013416775\" data-ad-format=\"auto\" data-full-width-responsive=\"true\" data-adsbygoogle-status=\"done\" style=\"display: block; height: 280px;\"><ins id=\"aswift_3_expand\" style=\"display: inline-table; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 879px; background-color: transparent;\"><ins id=\"aswift_3_anchor\" style=\"display: block; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 879px; background-color: transparent; overflow: visible;\"><iframe id=\"aswift_3\" name=\"aswift_3\" sandbox=\"allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" width=\"879\" height=\"280\" frameborder=\"0\" src=\"https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8269928309278636&amp;output=html&amp;h=280&amp;slotname=1013416775&amp;adk=576060380&amp;adf=92370475&amp;w=879&amp;fwrn=4&amp;fwrnh=100&amp;lmt=1597037833&amp;rafmt=1&amp;psa=1&amp;guci=2.2.0.0.2.2.0.0&amp;format=879x280&amp;url=https%3A%2F%2Fpostpop.tistory.com%2F97%3Fcategory%3D744994&amp;flash=0&amp;fwr=0&amp;fwrattr=true&amp;rpe=1&amp;resp_fmts=3&amp;wgl=1&amp;adsid=ChEI8L2--QUQ0tq16-2fjYqgARIqAO0FjTH2X4ovhdExS6bKOi7R9f0NygxK9IBK2VhOLFsQTLsM8j4Yinsr&amp;dt=1597037829912&amp;bpp=5&amp;bdt=362&amp;idt=244&amp;shv=r20200805&amp;cbv=r20190131&amp;ptt=9&amp;saldr=aa&amp;abxe=1&amp;cookie=ID%3D720ca2025ee5b318%3AT%3D1597021416%3AS%3DALNI_MbwB0RmCu8y8M7-tE67Lg-ncQLpkQ&amp;prev_fmts=0x0%2C300x250%2C728x90&amp;nras=1&amp;correlator=8762422388933&amp;frm=20&amp;pv=1&amp;ga_vid=190590715.1597021417&amp;ga_sid=1597037830&amp;ga_hid=661654081&amp;ga_fc=0&amp;iag=0&amp;icsg=2402057231269888&amp;dssz=86&amp;mdo=0&amp;mso=0&amp;u_tz=540&amp;u_his=22&amp;u_java=0&amp;u_h=1440&amp;u_w=2560&amp;u_ah=1400&amp;u_aw=2560&amp;u_cd=24&amp;u_nplug=3&amp;u_nmime=4&amp;adx=336&amp;ady=8625&amp;biw=1261&amp;bih=1287&amp;scr_x=0&amp;scr_y=6403&amp;eid=42530558%2C42530560%2C21066393&amp;oid=3&amp;psts=AGkb-H9vm-ebKfiQiL6J6ZRCOsNYZdq7zz-BKZbjnnbLedSnYHdcLZk6IG8YZ6g3rD70%2CAGkb-H-HiZncntkZFO4Q8FjvzTHhIOJTXRpbrjjvV9hszY8eGKBZSVSWHfP2sDQ-Oy1L7g&amp;pvsid=2275327659788414&amp;pem=173&amp;ref=https%3A%2F%2Fpostpop.tistory.com%2F95%3Fcategory%3D744994&amp;rx=0&amp;eae=0&amp;fc=1920&amp;brdim=-7%2C40%2C-7%2C40%2C2560%2C40%2C1294%2C1407%2C1278%2C1287&amp;vis=1&amp;rsz=%7C%7CeoEbr%7C&amp;abl=CS&amp;pfx=0&amp;fu=8320&amp;bc=31&amp;jar=2020-08-10-04&amp;ifi=3&amp;uci=a!3&amp;btvi=2&amp;fsb=1&amp;xpc=nLWSJ1vV3f&amp;p=https%3A//postpop.tistory.com&amp;dtd=3166\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" scrolling=\"no\" allowfullscreen=\"true\" data-google-container-id=\"a!3\" data-google-query-id=\"CMKHs8X1j-sCFUjDTAIdrMUHQg\" data-load-complete=\"true\" style=\"max-width: 100%; left: 0px; position: absolute; top: 0px; border-width: 0px; border-style: initial; width: 879px; height: 280px;\"></iframe></ins></ins></ins></div>\r\n<div style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1; position: relative; text-align: center; overflow: hidden; margin: auto;\"><ins class=\"kakao_ad_area\" data-ad-unit=\"DAN-vb6t3hamcup1\" data-ad-width=\"728\" data-ad-height=\"90\" id=\"kakao_ad_gh4bHx_119\" data-ad-rfseq=\"5\" data-ad-rendered=\"Y\" data-ad-request-id=\"6c38b0e2-367c-4e16-8ec1-93886b3435ea\" data-ad-rfinterval=\"30\" data-ad-bordercolor=\"unknown\" data-ad-action=\"\" data-ad-actioninterval=\"0\" data-ad-refreshlimit=\"0\" data-ad-noadmaxcount=\"10\" data-ad-noadseq=\"0\" data-ad-status=\"done\" style=\"display: inline-block; text-decoration-line: none; min-width: 728px; min-height: 90px; width: 728px; height: 90px;\">\r\n      <div data-ad-creative-wrap=\"outer\" style=\"box-sizing: border-box; overflow: hidden; position: relative; min-width: 728px; min-height: 90px; max-height: inherit;\">\r\n         <div data-ad-creative-wrap=\"inner\" style=\"box-sizing: border-box; overflow: hidden; height: 90px;\"><iframe frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" vspace=\"0\" hspace=\"0\" allowtransparency=\"true\" id=\"adfit_frame_id_WOvmDY_5571\" name=\"adfit_frame_id_WOvmDY_5571\" style=\"max-width: 100%; min-width: 728px; width: 728px; min-height: 90px; height: 90px; display: block; border-width: 0px; border-style: initial; margin: 0px auto;\"></iframe></div>\r\n         </div>\r\n      </ins></div>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">상기 예제에 사용된 SPIFFS 제어용 코드들에 대해 살펴보자.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.begin();&nbsp;//&nbsp;SPIFFS&nbsp;파일&nbsp;시스템을&nbsp;마운트,&nbsp;성공:&nbsp;true,&nbsp;실패:&nbsp;false&nbsp;반환</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">setup() 함수에서 플래그 리턴값을 사용하여 SPIFFS 파일 시스템 시작에 대한 메시지를 출력한다.&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.format();&nbsp;//&nbsp;파일&nbsp;시스템을&nbsp;포맷,&nbsp;포맷&nbsp;성공:&nbsp;true&nbsp;반환&nbsp;</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">setup() 함수 초기 진입시 테스트를 위해 SPIFFS 파일시스템의 파일들을 모두 지운다.&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.info();&nbsp;&nbsp;// FSInfo 구조체에 파일 시스템 정보를 채운다. - 성공하면 true 반환&nbsp;</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">FSInfo&nbsp;fsInfo;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;파일시스템&nbsp;스트럭쳐&nbsp;객체&nbsp;선언&nbsp;<br />SPIFFS.info(fsInfo);&nbsp;//&nbsp;파일시트템&nbsp;정보&nbsp;값&nbsp;확인&nbsp;및&nbsp;저장&nbsp;<br />Serial.print(\"totalBytes:&nbsp;\");&nbsp;Serial.println(fsInfo.totalBytes);&nbsp;//&nbsp;스트럭쳐&nbsp;변수에&nbsp;접근&nbsp;원하는&nbsp;값을&nbsp;불러온다.&nbsp;<br />Serial.print(\"usedBytes:&nbsp;\");&nbsp;Serial.println(fsInfo.usedBytes);&nbsp;&nbsp;&nbsp;//&nbsp;스트럭쳐&nbsp;변수에&nbsp;접근&nbsp;원하는&nbsp;값을&nbsp;불러온다.&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6623px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6601px; padding: 10px;\">\r\n            <p>Filesystem&nbsp;information&nbsp;structure&nbsp;<br />struct&nbsp;FSInfo&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;totalBytes;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;usedBytes;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;blockSize;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;pageSize;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;maxOpenFiles;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;maxPathLength;&nbsp;<br />};</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.openDir(path); // 절대 경로가 지정된 디렉토리를 연다. Dir 객체를 리턴&nbsp;</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">SPIFFS 디렉토리 객체(Dir)를 선언하고 사용해야 한다. (예: Dir test = SPIFFS.openDir(path);</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">listDir() 사용자 함수에서 루트(\'/\') 디렉토리에 있는 파일 리스트를 확인하고 출력하도록 사용하였다. 초기 진입시 SPIFFS 파일 시스템을 포맷하므로 파일 리스트는 출력되지 않는다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.open(path,&nbsp;mode);&nbsp; // 파일 열기(경로, 액세스 모드), 파일이 열리면 true 반환</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">SPIFFS 파일 객체(File)를 선언하고 사용해야 한다. (예: File test = SPIFFS.open(\"/test.txt\", \"r\");&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6623px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6601px; padding: 10px;\">\r\n            <p>path:&nbsp;\'/\'로&nbsp;시작하는&nbsp;절대&nbsp;경로(예:&nbsp;\"/dir/filename.txt\")이며 절대 경로의 길이는 \'/\', 이름, \',\' 및 확장자 포함하는 최대 31문자까지 사용할 수 있다.&nbsp;<br />mode(액세스&nbsp;모드):&nbsp;&nbsp;표현 \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\"<br />r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 읽기전용&nbsp;&nbsp;<br />w&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;쓰기-&nbsp;파일이&nbsp;없으면&nbsp;파일을&nbsp;만들고,&nbsp;있으면&nbsp;파일크기를&nbsp;0으로&nbsp;만든후&nbsp;처음&nbsp;부터&nbsp;쓰기시작&nbsp;&nbsp;<br />a&nbsp;&nbsp;&nbsp;&nbsp;// 쓰기(추가) - 파일이 없으면 파일을 만들고, 있으면 파일의 맨 마지막부터 쓰기시작&nbsp;&nbsp;<br />r +&nbsp;&nbsp;// 먼저 읽고 쓰기 - 파일의 처음부터 쓰기 시작&nbsp;<br />w + // 먼저 읽고 쓰기 - 파일이 없으면 파일을 만들고, 있으면 파일크기를 0으로 만든후 처음 부터 쓰기시작&nbsp;&nbsp;<br />a + // 먼저 읽고 쓰기 - 파일이 없으면 파일을 만들고, 있으면 파일의 맨 처음부터 읽고, 맨 마지막부터 쓰기시작&nbsp;</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">모드 a(추가)를 제외한 쓰기는 쓸때마다 파일 크기를 0으로 만든다음(모두 지운다음) 다시 쓴다는데 주의를 해야한다. EEPROM 처럼 특정인덱스의 값만 바꾸는 것이 아니다. 먼저 읽고 쓰기는 이러한 특성에 기인해 필요한 기능이다. 저장된 데이터의 일부만을 수정하고자 한다면 필요에 따라서 데이터를 읽어 분리 시킨다음 수정할 부분을 수정한후 다시 합쳐서 저장하는 개념이다(거의 사용하지 않는다).&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">readFile(), writeFile(), appendFile(), testFileIO() 사용자 함수에서 사용되었다.&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">불리언 리턴값을 이용한 파일 열기의 확인&nbsp;</p>\r\n<table border=\"1\" style=\"color: #000000; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; width: 6623px; border-style: solid; border-color: #99cefa; background-color: #f6f9fd;\">\r\n   <tbody>\r\n      <tr>\r\n         <td style=\"width: 6601px; padding: 10px;\">\r\n            <p>File f =&nbsp;SPIFFS.open(\"/f.txt\",&nbsp;\"w\");&nbsp;<br />&nbsp;&nbsp;if&nbsp;(!f)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;파일&nbsp;오픈&nbsp;확인&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serial.println(\"file&nbsp;open&nbsp;failed\");&nbsp;<br />&nbsp;&nbsp;}&nbsp;</p>\r\n            </td>\r\n         </tr>\r\n      </tbody>\r\n   </table>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.rename(pathFrom,&nbsp;pathTo); // (대상파일 경로 및 이름, 변경할 파일 경로 및 이름)&nbsp;파일의 이름이 성공적으로 변경되면 true를 반환&nbsp;</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">renameFile() 사용자 함수에서 사용되었다.&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">SPIFFS.remove(path);&nbsp;// 절대 경로가 지정된 파일을 삭제한다. 파일이 삭제 된 경우 true를 반환&nbsp;</p>\r\n<blockquote data-ke-style=\"style2\" style=\"font-size: 16px; line-height: 1.6; color: #555555; position: relative; font-style: italic; margin: 0px; padding: 10px 15px; border-left: 5px solid rgb(241, 241, 241); font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; background-color: #f1f1f1;\">deleteFile() 사용자 함수에서 삭제와 동시에 반환되는 리턴값을 이용하여 메시지를 출력 하고있다.&nbsp;&nbsp;</blockquote>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 16px; background-color: #f1f1f1;\">&nbsp;</p>\r\n<p style=\"font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&qu','https://postpop.tistory.com/97?category=744994 [postpop]','',1,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-08-10 14:45:50',0,'2020-08-10 14:45:50','210.101.103.92','','','','','','','','','','','',''),(461,-461,'',461,0,0,'','','html1','[Arduino] 아두이노 초보자를 위한 “아두이노 코딩에 의한 배터리 전압 정밀 측정”(업데이트)','<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">자동차에 사용되는 납배터리의 표준 전압은 12.6V이며 통상 12V로 표현하기도 한다. 엔진 시동을 위한 크랭킹 시에 순간적인 전압 강하가 일어나며 12V 기준 20% 즉 9.6V 이하로 강하 여부를 측정하여 납 배터리의 정상 여부를 판단한다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">한편 엔진 시동 후에는 발전기의 가동으로 13.8∼14.8V 수준의 전압이 발생되어 전기장치에 전기를 공급하고 일부는 납 배터리를 충전할 수 있도록 미세 전류를 흘려준다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2378A24D58DBA58A2E?original\" data-lightbox=\"lightbox\" data-alt=\"배선사진_01.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2378A24D58DBA58A2E\" class=\"txc-image\" width=\"268\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"268\" exif=\"{}\" data-filename=\"배선사진_01.png\" id=\"A_2378A24D58DBA58A2E9F61\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: both; margin-right: 8px; float: left;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">즉 자동차의 시동용 납 배터리의 전압 사용 범위가 9∼15V 사이 이므로&nbsp; 여유 있게 5∼20V의 측정 범위를 가지도록 아두이노 보드의 아날로그 센서 입력 기능을 활용하여 코딩을 하기로 한다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">이러한 실측 시스템을 만들기 위해서 아두이노 보드의 전원 전압, 측정하고자 하는 배터리의 실제 전압 및 저항의 값을 멀티메터를 사용하여 실측하였다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2137184C58DBA56B03?original\" data-lightbox=\"lightbox\" data-alt=\"배선도_02.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2137184C58DBA56B03\" class=\"txc-image\" width=\"270\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"270\" exif=\"{}\" data-filename=\"배선도_02.png\" id=\"A_2137184C58DBA56B03D059\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: both; margin-right: 8px; float: left;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">두 개의 저항의 멀티메터 실측값은 약간의 오차를 포함하여 각각 0.997K옴과 3.273K옴으로 측정되었다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2434AC4A58DBA5AB01?original\" data-lightbox=\"lightbox\" data-alt=\"저항값_03.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2434AC4A58DBA5AB01\" class=\"txc-image\" width=\"154\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"154\" exif=\"{}\" data-filename=\"저항값_03.png\" id=\"A_2434AC4A58DBA5AB01B1C1\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: none; float: none;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><br style=\"box-sizing: inherit;\" /></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2625384D58DBA5C006?original\" data-lightbox=\"lightbox\" data-alt=\"저항값_04.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2625384D58DBA5C006\" class=\"txc-image\" width=\"154\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"154\" exif=\"{}\" data-filename=\"저항값_04.png\" id=\"A_2625384D58DBA5C0068E81\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: none; float: none;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><br style=\"box-sizing: inherit;\" /></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; font-size: 12pt;\">연결된 상태에서 측정한 9V 배터리의 실측 전압은 9.2V 였다. 아울러 아두이노 5V 전원은 4.86V 멀티 메터 실측값을 얻었다. 배터리는 회로를 구성하였을 때와 단품일 때의 오픈 서킷일 때의 전압이 다름에 유의한다. 대개 표준전압 9V인 배터리의 사용범위는 8.5∼9.5V 사이 영역에서 사용함을 참조하자.</span><br style=\"box-sizing: inherit;\" /><span style=\"box-sizing: inherit; font-size: 12pt;\">아두이노 5V 전압선을 멀티메터로 측정하였더니 4.86V 가 측정되었다.</span><br style=\"box-sizing: inherit;\" /></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2165654B58DBA5E121?original\" data-lightbox=\"lightbox\" data-alt=\"코딩_05.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2165654B58DBA5E121\" class=\"txc-image\" width=\"277\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"277\" exif=\"{}\" data-filename=\"코딩_05.png\" id=\"A_2165654B58DBA5E1212020\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: both; margin-right: 8px; float: left;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; font-size: 12pt;\">1K옴과 3.3K옴 저항의&nbsp; 실측 값을 실수형 전역 변수로 잡는다.</span><br style=\"box-sizing: inherit;\" /><span style=\"box-sizing: inherit; font-size: 12pt;\">setup()에서는 통신 속도 설정이 잔부다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><br style=\"box-sizing: inherit;\" /><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; font-size: 12pt;\">loop()문에서 아날로그 채널 A0로부터 0∼1023 까지의 정수 값 형태로 전압을 읽는다.</span><br style=\"box-sizing: inherit;\" /></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2157E84B58DBA5F417?original\" data-lightbox=\"lightbox\" data-alt=\"코딩_06.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2157E84B58DBA5F417\" class=\"txc-image\" width=\"265\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"265\" exif=\"{}\" data-filename=\"코딩_06.png\" id=\"A_2157E84B58DBA5F417DD3B\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: both; margin-right: 8px; float: left;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; font-size: 12pt;\">A0에서 읽은 정수 값 형태의 전압을 아두이노 보드 전압 여기서는 arduVolt 즉 4.86V를 사용하여 환산한다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">옴의 법칙을 이용하여 환산된 실제 전압 값과 실측된 저항 값을 이용하여 전류를 계산한다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">1K옴에 흐르는 전류가 3.3K옴 저항으로 흐르기 때문에 3.3K옴 저항에 가해지는 전압도 계산이 가능하다. 하지만 여기서는 배터리 전압이 전체 저항에 가해지기 때문에 전류와 전체 저항 실측 값을 곱하여 최종적으로 배터리의 전압 값을 산출하였다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/257BB14758DBA60505?original\" data-lightbox=\"lightbox\" data-alt=\"코딩_07.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/257BB14758DBA60505\" class=\"txc-image\" width=\"270\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"270\" exif=\"{}\" data-filename=\"코딩_07.png\" id=\"A_257BB14758DBA60505CD9F\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: both; margin-right: 8px; float: left;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">멀티 실측 값 9.26V와 비교해 보면 아두이노 방식의 측정이 상당히 정밀함을 알 수 있다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;\"><a href=\"https://t1.daumcdn.net/cfile/blog/2238B34C58DBA62C2C?original\" data-lightbox=\"lightbox\" data-alt=\"전압_08.png\" style=\"box-sizing: inherit; display: inline-block; color: #3d62ce;\" target=\"_blank\"><img src=\"https://t1.daumcdn.net/cfile/blog/2238B34C58DBA62C2C\" class=\"txc-image\" width=\"148\" border=\"0\" vspace=\"1\" hspace=\"1\" actualwidth=\"148\" exif=\"{}\" data-filename=\"전압_08.png\" id=\"A_2238B34C58DBA62C2CA8AF\" style=\"box-sizing: inherit; border-style: none; max-width: 100%; clear: none; float: none;\" /></a></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><br style=\"box-sizing: inherit;\" /><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">그밖에 회로의 안전을 검토해 보자. 9V 전압에 총 4.4K옴 저항 회로에 흐르는 전류는 약 2mA로 충분히 안전하다. 실수로 9V 전압을 1K옴에 가하게 되면 9mA로 그다지 문제 될 게 없다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">하지만 아두이노 전원 전압 5V는 TTL 기준이기 때문에 아두이노 보드 내에 채용되어 있는 전압 레귤레이터 회의의 성능 및 역할에 의해 어느 정도 5V와 괴리를 가질 수 있다. 여러 개 보드를 측정해 본 바에 의하면 4.8V를 조금 상회하는 수준이다. 자신이 사용하는 보드의 전압을 실측하여 코딩하면 될 것이다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">이 회로에서 저항 값을 10배로 키운 후 드라이버 조정이 가능한 가변 저항형을 사용하여 회로의 정밀도를 올린 후 아두이노 NodeMCU에서 무선와이파이를 통해 스마트폰에서 결과를 출력할 수 있도록 사물인터넷형으로 다시 코딩할 계획이다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">참고로 이번 코딩 및 실험을 제대로 수행하려면 멀티메터가 반드시 필요하다는 점을 지적한다. 멀티메터는 카시오 공학용 계산기 값 수준의 싼 멀티메터라도 코딩을 성공적으로 이끄는데 충분하다고 본다.</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><br style=\"box-sizing: inherit;\" /></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">arduino_volt_01</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"></span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">float arduVolt = 4.86;// 아두이노 전압 멀티메터 실측치<br style=\"box-sizing: inherit;\" />float r_1K = 997.0;//1K옴 저항 실측치<br style=\"box-sizing: inherit;\" />float r_4K =4270.0;// 총 저항<br style=\"box-sizing: inherit;\" />void setup() {<br style=\"box-sizing: inherit;\" />&nbsp; // put your setup code here, to run once:<br style=\"box-sizing: inherit;\" />Serial.begin(9600);<br style=\"box-sizing: inherit;\" />}</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">void loop() {<br style=\"box-sizing: inherit;\" />&nbsp; // put your main code here, to run repeatedly:<br style=\"box-sizing: inherit;\" />&nbsp; int v_1k = analogRead(A0);// 0-1023<br style=\"box-sizing: inherit;\" />&nbsp; Serial.println(v_1k);<br style=\"box-sizing: inherit;\" />&nbsp; float volt_1k = arduVolt*v_1k/(1023);//A0에서의 전압 환산<br style=\"box-sizing: inherit;\" />&nbsp; Serial.println(volt_1k);<br style=\"box-sizing: inherit;\" />&nbsp; float i = volt_1k/r_1K;//1K옴 저항에서 전류 계산</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\">&nbsp; float volt_4k = i*r_4K;//옴 법칙에 의해 배터리 전압 계산<br style=\"box-sizing: inherit;\" />&nbsp; Serial.println(volt_4k);<br style=\"box-sizing: inherit;\" />&nbsp; delay(5000);</span></span></p>\r\n<p style=\"box-sizing: inherit; font-size: medium; line-height: 26px; color: rgba(51, 51, 51, 0.7); font-family: &quot;Noto Sans&quot;, &quot;Noto Sans KR&quot;, Montserrat, Arial, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: inherit; font-size: 12pt;\"><span style=\"box-sizing: inherit; font-weight: bolder;\"><span style=\"box-sizing: inherit; color: #ff0000;\">}//끝</span></span></span></p>','http://blog.daum.net/ejleep1/373','',2,0,4,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-08-18 09:45:35',0,'2020-08-18 09:45:35','210.101.103.92','','','','','','','','','','','',''),(462,-462,'',462,0,0,'','','html1','[Arduino] RTC 모듈, DS1307 동작이 안될때 해결법','<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">안녕하세요&nbsp;<span _foo=\"color: #ffffff; background-color: #77b02b;\" style=\"color: #ffffff; background-color: #77b02b;\">메카솔루션</span>입니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">이번 글에서는 RTC 모듈인&nbsp;DS1307이&nbsp;<span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\">소스코드를 전부 제대로&nbsp;적용하고 하였는데도&nbsp;</span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\"><br /></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\">작동이 안될 때의 상황을 해결 하는 법</span>을 알려 드리도록 하겠습니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">우선 들어가기전에 잠시,&nbsp;RTC란,&nbsp;<span _foo=\"color: #ffffff; background-color: #ff0000;\" style=\"color: #ffffff; background-color: #ff0000;\">Real Time Clock</span>의 줄임말이며 RTC를 사용하는 이유는 아두이노로 시계를 만든다고 했을 때,&nbsp;</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\">아두이노의 전원이 꺼지게 되면, 아두이노로 만든 시계의 시간은 초기화 되게 됩니다.</span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\"><br /></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\">이 초기화를 방지하기 위해 독자적인 전원을 가진 RTC를 사용하는 것이지요.</span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457676531984iJCEH_PNG/132F4D6A4S.png?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457676531984iJCEH_PNG/132F4D6A4S.png?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457676531984iJCEH_PNG/132F4D6A4S.png?type=w2\'\" id=\"img_1\" data-top=\"601\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span>&nbsp;</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">DS1307을 코딩하여 실행하였으나 RTC가 동작하지 않는다는 에러 메시지와 함께 2000/1/1 0:0:0이라는 메시지가 출력 됩니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">회로도를 봅시다</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_2/roboholic84_1457675180957bDSot_JPEG/6OwGu.jpg?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_2/roboholic84_1457675180957bDSot_JPEG/6OwGu.jpg?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_2/roboholic84_1457675180957bDSot_JPEG/6OwGu.jpg?type=w2\'\" id=\"img_2\" data-top=\"762\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span>&nbsp;</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">구글에&nbsp;ds1307 schematic 이라고 치면 나오는, D1과 배터리가 연결 되어있는 제품 회로도&nbsp;입니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">이 제품에 원래 들어가는 배터리는<span style=\"font-weight: 600; font-family: AppleSDGothicNeo-Bold;\">&nbsp;LIR2032로써, 3.6V의 전압을 가진 배터리</span>입니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span _foo=\"line-height: 1.5;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_75/roboholic84_1457675674491Nm9zj_JPEG/A1888240003b026ec11-d432-4469-819d-ed91fc17f1bb.jpeg?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_75/roboholic84_1457675674491Nm9zj_JPEG/A1888240003b026ec11-d432-4469-819d-ed91fc17f1bb.jpeg?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_75/roboholic84_1457675674491Nm9zj_JPEG/A1888240003b026ec11-d432-4469-819d-ed91fc17f1bb.jpeg?type=w2\'\" id=\"img_3\" data-top=\"877\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span _foo=\"line-height: 1.5;\">그러나 제품은 보시다시피 CR2032인 3V의 배터리를 사용하고 있습니다.</span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span _foo=\"line-height: 1.5;\"><br /></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span _foo=\"line-height: 1.5;\">3V에 큰 저항까지&nbsp;거쳐 지나가 버리니 제 기능을 하기 힘들었던 것입니다.</span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span _foo=\"line-height: 1.5;\"><br /></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457675619558EikfV_JPEG/20160311_142831.jpg?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457675619558EikfV_JPEG/20160311_142831.jpg?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_199/roboholic84_1457675619558EikfV_JPEG/20160311_142831.jpg?type=w2\'\" id=\"img_4\" data-top=\"992\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">그러므로 해결을 하기 위해서는 CR 2032를 LIR 2032 로 교체를 하거나 회로를 수정 해 주어야합니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">배터리는 구하기만 하게 되면&nbsp;간단하게 갈아 끼울 수 있으므로, 여기서는 회로를 수정 하는 방법을 알아 보도록 하겠습니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_23/roboholic84_1457676354758FTgvi_JPEG/6OwGu123.jpg?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_23/roboholic84_1457676354758FTgvi_JPEG/6OwGu123.jpg?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_23/roboholic84_1457676354758FTgvi_JPEG/6OwGu123.jpg?type=w2\'\" id=\"img_5\" data-top=\"1199\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span>&nbsp;</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">LIR2032는 충전이 가능한 모델이므로 DS1037에도 충전을 위한 회로가 설계 되어 있습니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">그러나 저희가 사용하는 CR 2302는 충전이 불가능한 배터리이므로 삭제</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">그리고 R4도 함께 제거 해 주시고 R6은 제거 후 전선으로 연결 하여 줍시다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_77/roboholic84_1457676125390SYSqA_JPEG/20160311_140217.jpg?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_77/roboholic84_1457676125390SYSqA_JPEG/20160311_140217.jpg?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_77/roboholic84_1457676125390SYSqA_JPEG/20160311_140217.jpg?type=w2\'\" id=\"img_6\" data-top=\"1383\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span>&nbsp;</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">왼쪽은 수정을 하지 않은 DS1307 모듈이고, 오른쪽은 회로를 수정한 DS1307 모듈입니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">기판으로 보게 되면&nbsp;빨간 사각형이 쳐진 부분의 부품들은 전부 제거 하여 주시고,</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">노란 사각형이 쳐진 부분의 부품은 제거 후 연결해 주시면 됩니다.</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center; \" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">그 후 연결하여&nbsp;동작을 시키게 되면</p>\r\n<p _foo=\"text-align: center;\" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center; \" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><span class=\"_img  fx\" thumburl=\"https://mblogthumb-phinf.pstatic.net/20160311_114/roboholic84_1457676700082nAoQm_PNG/ADFAS4D6F5.png?type=\" style=\"max-width: 100%;\"><img src=\"https://mblogthumb-phinf.pstatic.net/20160311_114/roboholic84_1457676700082nAoQm_PNG/ADFAS4D6F5.png?type=w2\" largesrc=\"javascript:location.href=\'https://mblogthumb-phinf.pstatic.net/20160311_114/roboholic84_1457676700082nAoQm_PNG/ADFAS4D6F5.png?type=w2\'\" id=\"img_7\" data-top=\"1613\" style=\"border: 0px; vertical-align: top; max-width: 100%;\" /></span>&nbsp;</p>\r\n<p _foo=\"text-align: center; \" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\"><br /></p>\r\n<p _foo=\"text-align: center; \" align=\"center\" style=\"padding: 0px; font-family: sans-serif; font-size: 16.002px; background-color: #ffffff;\">오늘 날짜와 함께 시간이 출력되며 동작이 정상적으로 되게 됩니다.</p>','https://m.blog.naver.com/roboholic84/220652062341','',0,0,4,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-08-19 13:31:47',0,'2020-08-19 13:31:47','210.101.103.92','','','','','','','','','','','',''),(463,-463,'',463,0,0,'','','html1','[Arduino] A Simple Arduino Bluetooth Music Receiver for the ESP32','<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">The&nbsp;</span><a href=\"https://www.espressif.com/en/products/hardware/esp32/overview\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">ESP32</span></a><span style=\"font-size: 11px;\">&nbsp;provides a&nbsp;</span><a href=\"https://de.wikipedia.org/wiki/A2DP\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">Bluetooth A2DP API</span></a><span style=\"font-size: 11px;\">&nbsp;that receives sound data e.g. from your&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">Mobile Phone</span></strong><span style=\"font-size: 11px;\">&nbsp;and makes it available via a callback method. The output is a&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">PCM data stream&nbsp;</span></strong><span style=\"font-size: 11px;\">decoded from SBC format. The documentation can be found&nbsp;</span><a href=\"https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">here.&nbsp;</span></a></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><a href=\"https://en.wikipedia.org/wiki/I%C2%B2S\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">I2S</span></a><span style=\"font-size: 11px;\">&nbsp;is an electrical serial bus interface standard used for connecting digital audio devices together. It is used to communicate&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">PCM audio data&nbsp;</span></strong><span style=\"font-size: 11px;\">between integrated circuits in an electronic device.</span></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">So we can just feed the input from Bluetooth to the&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">I2S</span></strong><span style=\"font-size: 11px;\">&nbsp;output: An example for this from Expressive can be found on&nbsp;</span><a href=\"https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/bluedroid/classic_bt/a2dp_sink\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">Github</span></a><span style=\"font-size: 11px;\">.</span></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Unfortunately this example did not make me happy so I decided to convert it into a simple C++ class that is very easy to use from an&nbsp;</span><a href=\"https://www.arduino.cc/en/guide/environment\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">Arduino Software IDE.</span></a></p>\r\n<h3 style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: roboto, helvetica, arial, sans-serif; font-weight: 500; line-height: 1.618; color: #3c4858; margin: 0px 0px 15px; background-color: #ffffff;\"><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">A Simple I2S Example</span></strong></h3>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Here is the simplest example which just uses the proper default settings:</span></p>\r\n<pre style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; overflow: auto; font-family: menlo, monaco, consolas, &quot;courier new&quot;, monospace; padding: 9.5px; margin-top: 0px; margin-bottom: 30px; line-height: 1.42857; word-break: break-all; overflow-wrap: break-word; color: #333333; background-color: #f5f5f5; border: 1px solid rgb(204, 204, 204); border-radius: 4px;\">\r\n   <code style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: menlo, monaco, consolas, &quot;courier new&quot;, monospace; padding: 0px; color: inherit; background-color: transparent; border-radius: 0px; white-space: pre-wrap;\"><span style=\"font-size: 11px;\">#include &lt;arduino.h&gt;\r\n#include \"esp32_bt_music_receiver.h\"\r\nBlootoothA2DSink a2d_sink;\r\nvoid setup() {\r\na2d_sink.start(\"MyMusic\");\r\n}\r\nvoid loop() {\r\n}\r\n</span></code>\r\n   </pre>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">This creates a new Bluetooth device with the name “MyMusic” and the output will be sent to the following default&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">I2S pins</span></strong><span style=\"font-size: 11px;\">:</span><br style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; line-height: 2;\" /><span style=\"font-size: 11px;\">– bck_io_num =&gt; GPIO 26,</span><br style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; line-height: 2;\" /><span style=\"font-size: 11px;\">– ws_io_num =&gt; GPIO 25,</span><br style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; line-height: 2;\" /><span style=\"font-size: 11px;\">– data_out_num =&gt; GPIO 22</span></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">These need to be connected to an external&nbsp;</span><a href=\"https://en.wikipedia.org/wiki/Digital-to-analog_converter\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">external DAC</span></a><span style=\"font-size: 11px;\">. You can define your own pins easily by calling the set_pin_config method.</span></p>\r\n<h3 style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: roboto, helvetica, arial, sans-serif; font-weight: 500; line-height: 1.618; color: #3c4858; margin: 0px 0px 15px; background-color: #ffffff;\"><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">Output to the Internal DAC</span></strong></h3>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">You can also send the output directly to the&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">internal DAC of the ESP32&nbsp;</span></strong><span style=\"font-size: 11px;\">by providing the corresponding&nbsp;</span><a href=\"https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">i2s_config</span></a><span style=\"font-size: 11px;\">:</span></p>\r\n<pre style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; overflow: auto; font-family: menlo, monaco, consolas, &quot;courier new&quot;, monospace; padding: 9.5px; margin-top: 0px; margin-bottom: 30px; line-height: 1.42857; word-break: break-all; overflow-wrap: break-word; color: #333333; background-color: #f5f5f5; border: 1px solid rgb(204, 204, 204); border-radius: 4px;\">\r\n   <code style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: menlo, monaco, consolas, &quot;courier new&quot;, monospace; padding: 0px; color: inherit; background-color: transparent; border-radius: 0px; white-space: pre-wrap;\"><span style=\"font-size: 11px;\">#include &lt;arduino.h&gt;\r\n#include \"esp32_bt_music_receiver.h\"\r\nBlootoothA2DSink a2d_sink;\r\nvoid setup() {\r\nstatic const i2s_config_t i2s_config = {\r\n.mode = (i2s_mode_t) (I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_DAC_BUILT_IN),\r\n.sample_rate = 44100, // corrected by info from bluetooth\r\n.bits_per_sample = (i2s_bits_per_sample_t) 16, /* the DAC module will only take the 8bits from MSB */\r\n.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,\r\n.communication_format = I2S_COMM_FORMAT_I2S_MSB,\r\n.intr_alloc_flags = 0, // default interrupt priority\r\n.dma_buf_count = 8,\r\n.dma_buf_len = 64,\r\n.use_apll = false\r\n};\r\na2d_sink.set_i2s_config(i2s_config);\r\na2d_sink.start(\"MyMusic\");\r\n}\r\nvoid loop() {\r\n}\r\n</span></code>\r\n   </pre>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">The output goes now to the&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">DAC pins G26/G27</span></strong><span style=\"font-size: 11px;\">.</span></p>\r\n<h3 style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: roboto, helvetica, arial, sans-serif; font-weight: 500; line-height: 1.618; color: #3c4858; margin: 0px 0px 15px; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Installation</span></h3>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">The library</span></strong><span style=\"font-size: 11px;\">&nbsp;with the examples can be found on&nbsp;</span><a href=\"https://github.com/pschatzmann/esp32_bt_music_receiver\" target=\"_blank\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; background-color: transparent; color: #e91e63; text-decoration-line: none; transition: all 0.3s ease 0s;\"><span style=\"font-size: 11px;\">Github</span></a></p>\r\n<h3 style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: roboto, helvetica, arial, sans-serif; font-weight: 500; line-height: 1.618; color: #3c4858; margin: 0px 0px 15px; background-color: #ffffff;\"><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">Conclusion</span></strong></h3>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">This is the perfect functionality to revive my old&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">Technics SU-Z2 Amplifier:&nbsp;</span></strong><span style=\"font-size: 11px;\">I can use it now by streaming my music from my&nbsp;</span><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><span style=\"font-size: 11px;\">Android Phone or IPAD.</span></strong></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><strong style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent;\"><img loading=\"lazy\" src=\"https://www.pschatzmann.ch/wp-content/uploads/2020/03/su-z2-300x131.png\" alt=\"\" width=\"300\" class=\"alignnone size-medium wp-image-1198\" srcset=\"https://www.pschatzmann.ch/wp-content/uploads/2020/03/su-z2-300x131.png 300w, https://www.pschatzmann.ch/wp-content/uploads/2020/03/su-z2.png 512w\" sizes=\"(max-width: 300px) 100vw, 300px\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; border: 0px; vertical-align: middle; max-width: 100%; height: auto; margin-bottom: 12px;\" /></strong></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Initially I wanted to use the ESP32 also to stream some Internet Radios via WIFI using http – but in the end it turned out to be much simpler to use one of the many Music Apps from a Mobile Phone&nbsp; with Bluetooth as output!</span></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><span style=\"font-size: 11px;\">The only task left now is to build a casing…</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">&nbsp;</span></p>\r\n<p style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin-bottom: 15px; line-height: 1.618; color: #3c4858; font-family: roboto, helvetica, arial, sans-serif; background-color: #ffffff;\"><img loading=\"lazy\" src=\"https://www.pschatzmann.ch/wp-content/uploads/2020/03/IMG_20200327_170046-225x300.png\" alt=\"\" width=\"470\" class=\"alignnone wp-image-1314\" srcset=\"https://www.pschatzmann.ch/wp-content/uploads/2020/03/IMG_20200327_170046-225x300.png 225w, https://www.pschatzmann.ch/wp-content/uploads/2020/03/IMG_20200327_170046.png 480w\" sizes=\"(max-width: 470px) 100vw, 470px\" style=\"box-sizing: border-box; -webkit-tap-highlight-color: transparent; border: 0px; vertical-align: middle; max-width: 100%; height: auto; margin-bottom: 12px;\" /></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">&nbsp;</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">&nbsp;</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">The ESP32 provides a Bluetooth A2DP API that receives sound data e.g. from your Mobile Phone and makes it available via a callback method. The output is a PCM data stream decoded from SBC format. The documentation can be found&nbsp;</span><a href=\"https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html\" rel=\"nofollow\" target=\"_blank\" style=\"box-sizing: border-box; background-color: initial; color: #0366d6; text-decoration-line: none;\"><span style=\"font-size: 11px;\">here</span></a><span style=\"font-size: 11px;\">.</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">I2S is an electrical serial bus interface standard used for connecting digital audio devices together. It is used to communicate PCM audio data between integrated circuits in an electronic device.</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">So we can just feed the input from Bluetooth to the I2S output: An example for this from Expressive can be found on&nbsp;</span><a href=\"http://https//github.com/espressif/esp-idf/tree/master/examples/bluetooth/bluedroid/classic_bt/a2dp_sink\" rel=\"nofollow\" target=\"_blank\" style=\"box-sizing: border-box; background-color: initial; color: #0366d6; text-decoration-line: none;\"><span style=\"font-size: 11px;\">Github</span></a><span style=\"font-size: 11px;\">.</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Unfortunately this example did not make me happy so I decided to convert it into a simple C++ class that is very easy to use from an Arduino Software IDE.</span></p>\r\n<h2 style=\"box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><a id=\"user-content-a-simple-i2s-example\" class=\"anchor\" aria-hidden=\"true\" href=\"https://github.com/pschatzmann/esp32_bt_music_receiver#a-simple-i2s-example\" target=\"_blank\" style=\"box-sizing: border-box; background-color: initial; color: #0366d6; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1;\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\"></path></svg></a><span style=\"font-size: 11px;\">A Simple I2S Example</span></h2>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">Here is the simplest example which just uses the proper default settings:</span></p>\r\n<pre style=\"box-sizing: border-box; font-family: sfmono-regular, consolas, &quot;liberation mono&quot;, menlo, monospace; margin-top: 0px; margin-bottom: 16px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: #f6f8fa; border-radius: 6px; color: #24292e;\">\r\n   <code style=\"box-sizing: border-box; font-family: sfmono-regular, consolas, &quot;liberation mono&quot;, menlo, monospace; padding: 0px; margin: 0px; background: initial; border-radius: 6px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;\"><span style=\"font-size: 11px;\">#include &lt;arduino.h&gt;\r\n#include \"esp32_bt_music_receiver.h\"\r\nBlootoothA2DSink a2d_sink;\r\nvoid setup() {\r\n    a2d_sink.start(\"MyMusic\");\r\n}\r\nvoid loop() {\r\n}\r\n</span></code>\r\n   </pre>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">This creates a new Bluetooth device with the name “MyMusic” and the output will be sent to the following default I2S pins: – bck_io_num = 26, – ws_io_num = 25, – data_out_num = 22,</span></p>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">which need to be conected to an external DAC. You can define your own pins easily by calling the set_pin_config method.</span></p>\r\n<h2 style=\"box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><a id=\"user-content-output-to-the-internal-dac\" class=\"anchor\" aria-hidden=\"true\" href=\"https://github.com/pschatzmann/esp32_bt_music_receiver#output-to-the-internal-dac\" target=\"_blank\" style=\"box-sizing: border-box; background-color: initial; color: #0366d6; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1;\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\"></path></svg></a><span style=\"font-size: 11px;\">Output to the Internal DAC</span></h2>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">You can also send the output directly to the internal DAC of the ESP32 by providing the corresponding i2s_config:</span></p>\r\n<pre style=\"box-sizing: border-box; font-family: sfmono-regular, consolas, &quot;liberation mono&quot;, menlo, monospace; margin-top: 0px; margin-bottom: 16px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: #f6f8fa; border-radius: 6px; color: #24292e;\">\r\n   <code style=\"box-sizing: border-box; font-family: sfmono-regular, consolas, &quot;liberation mono&quot;, menlo, monospace; padding: 0px; margin: 0px; background: initial; border-radius: 6px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;\"><span style=\"font-size: 11px;\">#include &lt;arduino.h&gt;\r\n#include \"esp32_bt_music_receiver.h\"\r\nBlootoothA2DSink a2d_sink;\r\nvoid setup() {\r\n    static const i2s_config_t i2s_config = {\r\n        .mode = (i2s_mode_t) (I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_DAC_BUILT_IN),\r\n        .sample_rate = 44100, // corrected by info from bluetooth\r\n        .bits_per_sample = (i2s_bits_per_sample_t) 16, /* the DAC module will only take the 8bits from MSB */\r\n        .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,\r\n        .communication_format = I2S_COMM_FORMAT_I2S_MSB,\r\n        .intr_alloc_flags = 0, // default interrupt priority\r\n        .dma_buf_count = 8,\r\n        .dma_buf_len = 64,\r\n        .use_apll = false\r\n    };\r\n    a2d_sink.set_i2s_config(i2s_config);\r\n    a2d_sink.start(\"MyMusic\");\r\n}\r\nvoid loop() {\r\n}\r\n</span></code>\r\n   </pre>\r\n<p style=\"box-sizing: border-box; margin-bottom: 16px; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">The output goes now to the DAC pins G26/G27.</span></p>\r\n<h2 style=\"box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><a id=\"user-content-installation\" class=\"anchor\" aria-hidden=\"true\" href=\"https://github.com/pschatzmann/esp32_bt_music_receiver#installation\" target=\"_blank\" style=\"box-sizing: border-box; background-color: initial; color: #0366d6; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1;\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\"></path></svg></a><span style=\"font-size: 11px;\">Installation</span></h2>\r\n<p style=\"box-sizing: border-box; color: #24292e; font-family: -apple-system, blinkmacsystemfont, &quot;segoe ui&quot;, helvetica, arial, sans-serif, &quot;apple color emoji&quot;, &quot;segoe ui emoji&quot;; background-color: #ffffff;\"><span style=\"font-size: 11px;\">You can download the library as zip and call include Library -&gt; zip library. Or you can git clone this project into the Arduino libraries folder</span></p>','https://github.com/pschatzmann/esp32_bt_music_receiver','https://www.pschatzmann.ch/home/2020/03/27/1255/',4,5,6,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-09-11 22:49:10',1,'2020-09-11 22:49:10','192.168.219.102','','','','','','','','','','','',''),(464,-464,'',464,0,0,'','','html1','[ETC] ME2108 을 이용한 5V Boost up 회로','<header class=\"entry-header\" style=\"box-sizing: inherit; display: inline-block; width: 674.328px; margin-bottom: 0px; border-bottom: 1px solid rgb(238, 238, 238); font-family: Roboto, sans-serif; font-size: 16px;\">\r\n   <h1 class=\"entry-title\" style=\"box-sizing: inherit; clear: both; color: #444444; margin: 0px; font-weight: 500; font-size: 1.7em; line-height: 1.8em;\">3.7V to 5V Boost Converter</h1>\r\n   </header>\r\n<p><span style=\"font-family: Roboto, sans-serif; font-size: 16px; background-color: #ffffff;\"></span></p>\r\n<div class=\"entry-content\" style=\"box-sizing: inherit; font-family: Roboto, sans-serif; font-size: 16px; height: auto !important;\">\r\n   <div id=\"s-share-buttons\" class=\"\" style=\"box-sizing: inherit;\">\r\n      <div class=\"s-single-share\" style=\"box-sizing: inherit; vertical-align: top !important; display: inline-block; margin-right: 4px;\">\r\n         <div class=\"fb-share-button fb_iframe_widget\" data-href=\"https://theorycircuit.com/3-7v-to-5v-boost-converter/\" data-type=\"button_count\" fb-xfbml-state=\"rendered\" fb-iframe-plugin-query=\"app_id=&amp;container_width=0&amp;href=https%3A%2F%2Ftheorycircuit.com%2F3-7v-to-5v-boost-converter%2F&amp;locale=en_US&amp;sdk=joey&amp;type=button_count\" style=\"box-sizing: inherit; display: inline-block; position: relative; vertical-align: top !important;\"><span style=\"box-sizing: inherit; display: inline-block; position: relative; text-align: justify; vertical-align: bottom; width: 77px; height: 20px;\"><iframe name=\"f282fc263b6dce8\" width=\"1000px\" height=\"1000px\" data-testid=\"fb:share_button Facebook Social Plugin\" title=\"fb:share_button Facebook Social Plugin\" frameborder=\"0\" allowtransparency=\"true\" allowfullscreen=\"true\" scrolling=\"no\" allow=\"encrypted-media\" src=\"https://www.facebook.com/v2.0/plugins/share_button.php?app_id=&amp;channel=https%3A%2F%2Fstaticxx.facebook.com%2Fx%2Fconnect%2Fxd_arbiter%2F%3Fversion%3D46%23cb%3Df215b9bb8704178%26domain%3Dtheorycircuit.com%26origin%3Dhttps%253A%252F%252Ftheorycircuit.com%252Ff90800b25478bc%26relation%3Dparent.parent&amp;container_width=0&amp;href=https%3A%2F%2Ftheorycircuit.com%2F3-7v-to-5v-boost-converter%2F&amp;locale=en_US&amp;sdk=joey&amp;type=button_count\" class=\"\" style=\"box-sizing: inherit; max-width: 100%; position: absolute; margin-bottom: 0px; border-width: initial; border-style: none; visibility: visible; width: 77px; height: 20px;\"></iframe></span></div>\r\n         </div>\r\n      <div class=\"s-single-share\" style=\"box-sizing: inherit; vertical-align: top !important; display: inline-block; margin-right: 4px;\"><iframe id=\"twitter-widget-0\" scrolling=\"no\" frameborder=\"0\" allowtransparency=\"true\" allowfullscreen=\"true\" class=\"twitter-share-button twitter-share-button-rendered twitter-tweet-button\" title=\"Twitter Tweet Button\" src=\"https://platform.twitter.com/widgets/tweet_button.96fd96193cc66c3e11d4c5e4c7c7ec97.en.html#dnt=false&amp;id=twitter-widget-0&amp;lang=en&amp;original_referer=https%3A%2F%2Ftheorycircuit.com%2F3-7v-to-5v-boost-converter%2F&amp;size=m&amp;text=3.7V%20to%205V%20Boost%20Converter&amp;time=1602249872383&amp;type=share&amp;url=https%3A%2F%2Ftheorycircuit.com%2F3-7v-to-5v-boost-converter%2F\" style=\"box-sizing: inherit; max-width: 100%; margin-bottom: 0px; position: static; visibility: visible; width: 60px; height: 20px;\"></iframe></div>\r\n      <div class=\"s-single-share\" style=\"box-sizing: inherit; vertical-align: top !important; display: inline-block; margin-right: 4px;\"><span class=\"IN-widget\" data-lnkd-debug=\"<script type=&quot;IN/Share+init&quot; data-counter=&quot;right&quot;></script>\" style=\"box-sizing: inherit; vertical-align: bottom; display: inline-block; line-height: 1; padding: 0px; margin: 0px; text-align: center;\"><span style=\"box-sizing: inherit; vertical-align: bottom !important; padding: 0px !important; margin: 0px !important; display: inline-block !important; font-size: 1px !important;\"><button class=\"IN-2bc0215c-7188-4274-b598-1969e06d4d7c-1G9ISYhSF8XoOmdcl0yKDu\" style=\"font-style: inherit; font-variant: inherit; font-stretch: inherit; margin: 0px 0px 10px; text-transform: uppercase; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; appearance: none; box-shadow: rgba(0, 0, 0, 0.2) 0px -2px inset; transition: all 0.2s linear 0s; float: right; color: #ffffff !important; font-weight: 600 !important; font-size: 11px !important; line-height: 20px !important; font-family: -apple-system, system-ui, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Fira Sans&quot;, Ubuntu, Oxygen, &quot;Oxygen Sans&quot;, Cantarell, &quot;Droid Sans&quot;, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Lucida Grande&quot;, Helvetica, Arial, sans-serif !important; overflow: hidden !important; background-color: #0073b1 !important; cursor: pointer !important; position: relative !important; border-radius: 2px !important; padding: 0px 7px !important; vertical-align: middle !important; border-width: 0px !important; border-style: initial !important; border-color: initial !important; outline-width: 2px !important; white-space: nowrap !important; height: 20px !important;\">&nbsp;</button><button class=\"IN-2bc0215c-7188-4274-b598-1969e06d4d7c-1G9ISYhSF8XoOmdcl0yKDu\" style=\"font-style: inherit; font-variant: inherit; font-stretch: inherit; margin: 0px 0px 10px; text-transform: uppercase; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; appearance: none; box-shadow: rgba(0, 0, 0, 0.2) 0px -2px inset; transition: all 0.2s linear 0s; float: right; color: #ffffff !important; font-weight: 600 !important; font-size: 11px !important; line-height: 20px !important; font-family: -apple-system, system-ui, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Fira Sans&quot;, Ubuntu, Oxygen, &quot;Oxygen Sans&quot;, Cantarell, &quot;Droid Sans&quot;, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Lucida Grande&quot;, Helvetica, Arial, sans-serif !important; overflow: hidden !important; background-color: #0073b1 !important; cursor: pointer !important; position: relative !important; border-radius: 2px !important; padding: 0px 7px !important; vertical-align: middle !important; border-width: 0px !important; border-style: initial !important; border-color: initial !important; outline-width: 2px !important; white-space: nowrap !important; height: 20px !important;\"><xdoor-icon aria-hidden=\"true\" style=\"box-sizing: inherit; display: inline-block !important; height: 20px; vertical-align: top !important; margin-left: -7px !important; margin-right: 3.5px !important;\"><svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" x=\"0\" y=\"0\" preserveAspectRatio=\"xMinYMin meet\"><g style=\"fill: currentColor\"><rect x=\"-0.003\" style=\"fill:none;\" width=\"24\" height=\"24\"></rect><path d=\"M20,2h-16c-1.1,0-2,0.9-2,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2zM8,19h-3v-9h3V19zM6.5,8.8C5.5,8.8,4.7,8,4.7,7s0.8-1.8,1.8-1.8S8.3,6,8.3,7S7.5,8.8,6.5,8.8zM19,19h-3v-4c0-1.4-0.6-2-1.5-2c-1.1,0-1.5,0.8-1.5,2.2V19h-3v-9h2.9v1.1c0.5-0.7,1.4-1.3,2.6-1.3c2.3,0,3.5,1.1,3.5,3.7V19z\"></path></g></svg></xdoor-icon>SHARE</button></span></span></div>\r\n      <div class=\"s-single-share\" style=\"box-sizing: inherit; vertical-align: top !important; display: inline-block; margin-right: 4px;\"><a href=\"mailto:?Subject=3.7V%20to%205V%20Boost%20Converter&amp;Body=Here%20is%20the%20link%20to%20the%20article:%20https://theorycircuit.com/3-7v-to-5v-boost-converter/\" title=\"Email\" class=\"s3-email\" style=\"box-sizing: inherit; text-decoration-line: none; transition: all 0.25s ease 0s; color: #128be8; display: inline-block; position: relative; overflow: visible;\" target=\"_blank\"><img src=\"https://theorycircuit.com/wp-content/plugins/simple-social-share/images/share-email.png\" style=\"box-sizing: inherit; border: 0px; height: auto; max-width: 100%; vertical-align: top !important;\" /></a></div>\r\n      </div>\r\n   <p style=\"box-sizing: inherit;\">When we use Microprocessor or low power controllers in circuit we need to provide additional power source to drive external peripherals. When we implement more power source then the circuit design becomes bulky and more complex. In this article 3.7V to 5V boost converter circuit is designed with DC/DC Step up Converter ME2108 Series.</p>\r\n   <p style=\"box-sizing: inherit; height: auto !important;\"><br style=\"box-sizing: inherit;\" /><br style=\"box-sizing: inherit;\" /><ins class=\"adsbygoogle\" data-ad-client=\"ca-pub-2264954337819131\" data-ad-slot=\"3941931511\" data-ad-format=\"auto\" data-adsbygoogle-status=\"done\" style=\"box-sizing: inherit; text-decoration-line: none; display: block; height: 280px;\"><ins id=\"aswift_1_expand\" style=\"box-sizing: inherit; text-decoration-line: none; display: inline-table; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 674px;\"><ins id=\"aswift_1_anchor\" style=\"box-sizing: inherit; text-decoration-line: none; display: block; border: none; height: 280px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 674px; overflow: visible;\">IC ME2108 is a step up DC/DC converter with low supply current, this IC reduces high frequency switching noise and output can be programmed between 2.0V to 7.0V . It requires only three external components to become step up converter. This IC can be used for battery powered equipments with low supply current.</ins></ins></ins></p>\r\n   <h4 style=\"box-sizing: inherit; clear: both; color: #444444; margin-bottom: 10px; font-weight: normal; font-size: 1em;\">ME2108xx pin diagram</h4>\r\n   <div class=\"wp-block-image\" style=\"box-sizing: inherit; margin-bottom: 1em;\">\r\n      <figure class=\"aligncenter is-resized\" style=\"box-sizing: inherit; display: table; margin: 1em auto; clear: both;\"><a href=\"https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration.png\" rel=\"lightbox[3201]\" style=\"box-sizing: inherit; text-decoration-line: none; transition: all 0.25s ease 0s; color: #128be8;\" target=\"_blank\"><img src=\"https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration.png\" alt=\"\" class=\"wp-image-3202\" width=\"226\" srcset=\"https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration.png 452w, https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration-150x150.png 150w, https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration-300x300.png 300w, https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration-120x120.png 120w, https://theorycircuit.com/wp-content/uploads/2019/09/ME2108-pin-configuration-70x70.png 70w\" sizes=\"(max-width: 226px) 100vw, 226px\" style=\"box-sizing: inherit; border: 0px; height: auto; max-width: 100%;\" /></a></figure>\r\n      </div>\r\n   <p style=\"box-sizing: inherit;\">Here we taken SOT-89-3 package of ME2108 and used in dual side Printed circuit board. We Vss pin dedicated for Ground supply and Vout stands for Voltage output and Lx pin for Switch, at pin 3 we apply input supply.</p>\r\n   <p style=\"box-sizing: inherit;\"><strong style=\"box-sizing: inherit;\">Circuit Diagram</strong></p>\r\n   <div class=\"wp-block-image\" style=\"box-sizing: inherit; margin-bottom: 1em;\">\r\n      <figure class=\"aligncenter is-resized\" style=\"box-sizing: inherit; display: table; margin: 1em auto; clear: both;\"><a href=\"https://theorycircuit.com/wp-content/uploads/2019/09/3.7V-to-5V-boost-converter-circuit-diagram.png\" rel=\"lightbox[3201]\" style=\"box-sizing: inherit; text-decoration-line: none; transition: all 0.25s ease 0s; color: #128be8;\" target=\"_blank\"><img src=\"https://theorycircuit.com/wp-content/uploads/2019/09/3.7V-to-5V-boost-converter-circuit-diagram.png\" alt=\"\" class=\"wp-image-3203\" width=\"600\" srcset=\"https://theorycircuit.com/wp-content/uploads/2019/09/3.7V-to-5V-boost-converter-circuit-diagram.png 1000w, https://theorycircuit.com/wp-content/uploads/2019/09/3.7V-to-5V-boost-converter-circuit-diagram-300x139.png 300w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" style=\"box-sizing: inherit; border: 0px; height: auto; max-width: 100%;\" /></a></figure>\r\n      </div>\r\n   <h3 style=\"box-sizing: inherit; clear: both; color: #444444; margin-bottom: 10px; font-weight: normal;\">Components Required</h3>\r\n   <ol style=\"box-sizing: inherit; list-style-position: initial; list-style-image: initial;\">\r\n      <li style=\"box-sizing: inherit;\">IC ME2108A33P</li>\r\n      <li style=\"box-sizing: inherit;\">22µH Inductor (220)</li>\r\n      <li style=\"box-sizing: inherit;\">Schottky diode SS14</li>\r\n      <li style=\"box-sizing: inherit;\">Capacitor 12µF (1210) =2</li>\r\n      </ol>\r\n   <h2 style=\"box-sizing: inherit; clear: both; color: #444444; margin-bottom: 10px; font-weight: normal; line-height: 0.8em;\">Circuit Assembly &amp; Operation</h2>\r\n   <p style=\"box-sizing: inherit;\">As we know DC Power supply can be boosted by high frequency switching pulse by the way this prototype schematic uses the same principle to bring high voltage output from low voltage input.</p>\r\n   <p style=\"box-sizing: inherit;\">Due to internal Architecture the IC ME2108 uses minimum external components. It requires Inductor at the input and Schottky diode then Capacitors at output. This IC uses 180KHz maximum switching frequency by the value of Inductor and output capacitor we can change the output voltage range. This IC can deliver 400mA output current if the input voltage 3.0V and output voltage fixed at 5.0V.</p>\r\n   <p style=\"box-sizing: inherit;\"><strong style=\"box-sizing: inherit;\">3.7V to 5V Boost Converter Breakout board</strong></p>\r\n   <div class=\"wp-block-image\" style=\"box-sizing: inherit; margin-bottom: 1em;\">\r\n      <figure class=\"aligncenter\" style=\"box-sizing: inherit; display: table; margin: 1em auto; clear: both;\"><a href=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board.png\" rel=\"lightbox[3201]\" style=\"box-sizing: inherit; text-decoration-line: none; transition: all 0.25s ease 0s; color: #128be8;\" target=\"_blank\"><img src=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board.png\" alt=\"\" class=\"wp-image-3204\" srcset=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board.png 350w, https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-288x300.png 288w\" sizes=\"(max-width: 350px) 100vw, 350px\" style=\"box-sizing: inherit; border: 0px; height: auto; max-width: 100%;\" /></a></figure>\r\n      </div>\r\n   <div class=\"wp-block-image\" style=\"box-sizing: inherit; margin-bottom: 1em;\">\r\n      <figure class=\"aligncenter\" style=\"box-sizing: inherit; display: table; margin: 1em auto; clear: both;\"><a href=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb.png\" rel=\"lightbox[3201]\" style=\"box-sizing: inherit; text-decoration-line: none; transition: all 0.25s ease 0s; color: #128be8;\" target=\"_blank\"><img src=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb.png\" alt=\"\" class=\"wp-image-3205\" srcset=\"https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb.png 303w, https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb-150x150.png 150w, https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb-300x300.png 300w, https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb-120x120.png 120w, https://theorycircuit.com/wp-content/uploads/2019/09/boost-converter-me2108-breakout-board-pcb-70x70.png 70w\" sizes=\"(max-width: 303px) 100vw, 303px\" style=\"box-sizing: inherit; border: 0px; height: auto; max-width: 100%;\" /></a></figure>\r\n      </div>\r\n   <p style=\"box-sizing: inherit;\">When you design the PCB for boost converter using ME2108 set external components as close as possible to the IC and minimize the connection between components and IC.</p>\r\n   <p style=\"box-sizing: inherit;\">Use Capacitor with a capacity of 10µF or more in 1210 package. (you can try some other package also). Use SMD Inductor 220 for better noise less output. Use SMD Schottky diode SS14 it will provide fast switching response.</p>\r\n   <p style=\"box-sizing: inherit;\">&nbsp;</p>\r\n   <p style=\"box-sizing: inherit;\"><span style=\"box-sizing: border-box; font-weight: 700; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Voltage and current correspondence:</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /><span style=\"color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Starting voltage 0.8V, output current 7MA</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /><span style=\"color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Input 1-1.5V, output 5V 40-100MA</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /><span style=\"color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Input 1.5-2V, output 5V 100-150MA</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /><span style=\"color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Input 2-3V, output 5V 150-380MA</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /><span style=\"color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\">Input more than 3V, output 5V 380-480MA</span><br style=\"box-sizing: border-box; color: #333333; font-family: Arial, sans-serif; font-size: small; background-color: #ffffff;\" /></p>\r\n   </div>','https://theorycircuit.com/3-7v-to-5v-boost-converter/','',1,0,4,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-10-09 23:44:31',0,'2020-10-09 23:44:31','192.168.219.102','','','','','','','','','','','',''),(465,-465,'',465,0,0,'','','html1','[ETC] 배터리 완충후 전력 공급 안될 경우의 예상 사용 시간 분석','<p><font face=\"Arial, Verdana, sans-serif\"><span style=\"font-size: 13.3333px;\"></span></font></p>\r\n<ul style=\"font-family: Arial, Verdana, sans-serif; font-size: 13.3333px; background-color: #ffffff;\">\r\n   <li><b>공통 사항</b></li>\r\n   <ul>\r\n      <li><b>계산식</b></li>\r\n      <ul>\r\n         <li>배터리 사용 시간 = 배터리 용량 (mAh) / 소비전류 (mA)</li>\r\n         <li>소비전력 (W) = 소비전류 (A) x 소비전압 (V)</li>\r\n         <li>소비전류 (A) = 소비전력 (W) / 소비전압 (V)</li>\r\n         </ul>\r\n      <li><b>수집기의 구성 모듈별 전력/전류 소비량</b></li>\r\n      <ul>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">Atmega 2560 : 0.1 W (20 mA)</span></li>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">GPS 모듈 : 0.1 W (20 mA)</span></li>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">SD 카드 슬롯 : 0.4 W (80 mA)</span></li>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">LCD 모듈 : 1.25 W (250 mA)</span></li>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">SUN 모뎀 : 0.1 W (30 mA)</span></li>\r\n         <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">ADC 보드 : 0.252 W (21 mA)</span></li>\r\n         </ul>\r\n      <li><b>센서별 전력/전류 소비량</b></li>\r\n      <ul>\r\n         <li>토양 센서 : 0.3 W (25 mA)</li>\r\n         <li>강우량계 : 0.02 W (2 mA)</li>\r\n         <li>대기온습도 센서 : 0.02 W (2 mA)</li>\r\n         <li>일사량 센서 : 0.02 W (2 mA)</li>\r\n         </ul>\r\n      <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\"><b>태양판의 하루 평균 생산 전력</b></span></li>\r\n      <ul>\r\n         <li>350 W = 100 W/h (태양판의 시간당 전력 생산량) x 3.5 h (한국의 평균 일사량)</li>\r\n         </ul>\r\n      <li><b>배터리의 용량</b></li>\r\n      <ul>\r\n         <li>30000 mAh</li>\r\n         </ul>\r\n      </ul>\r\n   <li><b>배터리 완충후 충전이 안될 경우, 시나리오별 예상 가동 시간<br /></b></li>\r\n   <ul>\r\n      <li><b>시나리오#1</b></li>\r\n      <ul>\r\n         <li>방식</li>\r\n         <ul>\r\n            <li>항상 켜진 상태를 유지할 경우</li>\r\n            <li>LCD는 실제 동작에서는 켜지지 않는다는 가정</li>\r\n            <li>각 센서 및 GPS 가 매번 측정된다는 가정 (실제에서는 GPS 는 하루에 한번 또는 6시간에 한번만 측정할 수 있음)</li>\r\n            </ul>\r\n         <li>수집기의 전력 소비량</li>\r\n         <ul>\r\n            <li>구성 : Atmega 2560 + GPS + SD카드 + SUN 모뎀 + ADC 보드</li>\r\n            <li>전력 소비량 : 0.952 W = 0.1 W + 0.1 W + 0.4 W + 0.1 W + 0.252 W</li>\r\n            <li>전류 소비량 : 171 mA = 20 mA +&nbsp;<span style=\"font-size: 13.3333px; line-height: 21.3333px;\">20 mA&nbsp;+ 8</span><span style=\"font-size: 13.3333px; line-height: 21.3333px;\">0 mA&nbsp;+&nbsp;</span><span style=\"font-size: 13.3333px; line-height: 21.3333px;\">3</span><span style=\"font-size: 13.3333px; line-height: 21.3333px;\">0 mA&nbsp;+&nbsp;</span><span style=\"font-size: 13.3333px; line-height: 21.3333px;\">21 mA&nbsp;</span></li>\r\n            </ul>\r\n         <li>매립형 #1</li>\r\n         <ul>\r\n            <li>구성 : 수집기 + 토양 센서 2개</li>\r\n            <li>전력 소비량 : 1.552 W = 0.952 W + (0.3 W x 2)</li>\r\n            <li>전류 소비량 : 221 mA = 171 mA + (25 mA x 2)</li>\r\n            <li>사용 시간 : 135.74 h = 30000 mAh / 221 mA</li>\r\n            </ul>\r\n         <li>매립형 #2</li>\r\n         <ul>\r\n            <li>구성 : 수집기 + 토양 센서 2개 + 강우량계 + 대기온습도 센서 + 일사량 센서</li>\r\n            <li>전력 소비량 : 1.612 W = 0.952 W + (0.3 W x 2) + 0.02 W + 0.02 W + 0.02 W</li>\r\n            <li>전류 소비량 : 227 mA = 171mA + (25 mA x 2) + 2 mA + 2 mA + 2 mA</li>\r\n            <li>사용 시간 : 132.15 h = 30000 mAh / 227 mA</li>\r\n            </ul>\r\n         </ul>\r\n      <li><b>시나리오#2</b></li>\r\n      <ul>\r\n         <li>방식</li>\r\n         <ul>\r\n            <li>10분에 1회 측정 및 전송</li>\r\n            <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">1회 측정 및 전송에 20초 소요</span></li>\r\n            </ul>\r\n         <li>1일 가동 시간</li>\r\n         <ul>\r\n            <li>1일 = 1440분</li>\r\n            <li>1일 측정 횟수 = 144회</li>\r\n            <li>1일 총 가동 시간 = 2880초 (48분) = 144회 x 20초</li>\r\n            <li><span style=\"line-height: 1.6; font-size: 10pt; background-color: transparent;\">1일 풀가동 대비 사용율 = 3.33% = 48분 / 1440분</span></li>\r\n            </ul>\r\n         <li>사용 가능 시간</li>\r\n         <ul>\r\n            <li>1일 풀가동 대비 3.33% 밖에 사용하지 않음</li>\r\n            <li>따라서 30배를 더 사용 가능 = 1 / 0.033</li>\r\n            <li>매립형 #1 : 135.74 x 30 = 4072.2시간 = 약 169일</li>\r\n            <li>매립형 #2 : 132.15 x 30 = 3964.5 시간 = 약 165일</li>\r\n            </ul>\r\n         </ul>\r\n      <li><b>시나리오#3</b></li>\r\n      <ul>\r\n         <li>방식</li>\r\n         <ul>\r\n            <li>1분에 1회 측정 10분 주기로 평균값을 전송</li>\r\n            <li>1회 측정시 20초 소요</li>\r\n            <li>주의 : 1분 간격으로는 측정하만 하고 10분이 되었을때는 측정 및 평균값을 전송하기 때문에 매 분마다 20초가 소요된다고 볼수는 없지만 계산 상의 편의를 위해서 1분마다 20초씩 가동 된다고 가정한다.</li>\r\n            </ul>\r\n         <li>1일 가동 시간</li>\r\n         <ul>\r\n            <li>1일 = 1440분</li>\r\n            <li>1일 측정 횟수 = 1440회</li>\r\n            <li>1일 총 가동 시간 = 22800초 (480분, 8시간) = 1440회 x 20초</li>\r\n            <li>1일 풀가동 대기 사용율 = 33.3% = 480분 / 1440분</li>\r\n            </ul>\r\n         <li>사용 가능 시간</li>\r\n         <ul>\r\n            <li>1일 풀가동 대비 33.3% 밖에 사용하지 않음</li>\r\n            <li>따라서 3배를 더 사용 가능 = 1 / 0.33</li>\r\n            <li>매립형 #1 : 135.74 x 3 = 407.22 시간 = 약 17일</li>\r\n            <li>매립형 #2 : 132.15 x 3 = 396.45 시간 = 약 16.5일</li>\r\n            </ul>\r\n         </ul>\r\n      </ul>\r\n   <li><b>참고 자료</b></li>\r\n   <ul>\r\n      <li>배터리 사용 시간 계산법 :&nbsp;<a rel=\"nofollow\" href=\"http://www.digikey.kr/ko/resources/conversion-calculators/conversion-calculator-battery-life\" style=\"color: #551a8b;\" target=\"_blank\">http://www.digikey.kr/ko/resources/conversion-calculators/conversion-calculator-battery-life</a></li>\r\n      </ul>\r\n   </ul>','https://sites.google.com/site/eskimjack/analysis/analysis_power_consume','',0,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-11-04 13:35:24',0,'2020-11-04 13:35:24','210.101.103.92','','','','','','','','','','','',''),(466,-466,'',466,0,0,'','','html1','[ETC] 앱인벤터의 TEXT 블럭','<p>&nbsp;https://m.post.naver.com/viewer/postView.nhn?volumeNo=20253590&amp;memberNo=470770</p>','https://m.post.naver.com/viewer/postView.nhn?volumeNo=20253590&memberNo=470770','',1,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-12-02 16:21:56',0,'2020-12-02 16:21:56','210.101.103.92','','','','','','','','','','','',''),(467,-467,'',467,0,0,'','','html1','[Arduino] ESP32 OLED Display with Arduino IDE','<header class=\"entry-header\" style=\"overflow-wrap: break-word; color: #3a3a3a; font-family: &quot;Open Sans&quot;, sans-serif; font-size: 18px;\">\r\n   <h1 class=\"entry-title\" itemprop=\"headline\" style=\"border: 0px; margin: 0px; padding: 0px; font-family: inherit; font-size: 36px; font-style: inherit; line-height: 1.1em; display: var(--page-title-display);\">ESP32 OLED Display with Arduino IDE</h1>\r\n   </header>\r\n<div class=\"entry-content\" itemprop=\"text\" data-content-ads-inserted=\"true\" style=\"border: 0px; margin: 1.1em 0px 0px; padding: 0px; color: #3a3a3a; font-family: &quot;Open Sans&quot;, sans-serif; font-size: 18px;\">\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">This guide shows how to use the 0.96 inch SSD1306 OLED display with ESP32 using Arduino IDE. We’ll show you how to write text, set different fonts, draw shapes and display bitmaps images.</p>\r\n   <div class=\"wp-block-image\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><img loading=\"lazy\" width=\"828\" src=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32-Arduino-OLED-Display-Image.jpg?resize=828%2C466&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"ESP32 Arduino OLED Display Image circuit\" class=\"wp-image-85469\" srcset=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32-Arduino-OLED-Display-Image.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32-Arduino-OLED-Display-Image.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32-Arduino-OLED-Display-Image.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32-Arduino-OLED-Display-Image.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w\" sizes=\"(max-width: 828px) 100vw, 828px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%;\" /></figure>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">We also have a dedicated guide that shows how to<a href=\"https://randomnerdtutorials.com/esp32-esp8266-dht-temperature-and-humidity-oled-display/\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\" target=\"_blank\">&nbsp;display temperature and humidity readings using DHT sensor and ESP32</a>.</p>\r\n   <h2 style=\"border: 0px; margin: 34px 0px 18px; padding: 0px; font-family: inherit; font-size: 36px; font-style: inherit; line-height: 1.3em; position: relative;\">Introducing 0.96 inch OLED Display</h2>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">The&nbsp;<a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https://makeradvisor.com/tools/oled-display-128x64-0-96-inch/\" target=\"_blank\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\">OLED display</a>&nbsp;that we’ll use in this tutorial is the SSD1306 model: a monocolor, 0.96 inch display with 128×64 pixels as shown in the following figure.</p>\r\n   <div class=\"wp-block-image\" data-slot-rendered-dynamic=\"true\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><img loading=\"lazy\" width=\"750\" src=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2016/09/ssd1306-oled-display-arduino.jpg?resize=750%2C412&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"0.96 inch OLED display with ESP32 ESP8266 Arduino\" class=\"wp-image-80990\" srcset=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2016/09/ssd1306-oled-display-arduino.jpg?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2016/09/ssd1306-oled-display-arduino.jpg?resize=300%2C165&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%;\" /></figure>\r\n      </div>\r\n   <div id=\"content_btf_wrapper\" class=\"adunitwrapper content_btf_wrapper mv-size-0x0 native\" data-wrapper=\"content_btf\" style=\"border: 0px; margin: 10px auto 20px; padding: 0px; overflow: hidden; position: relative; height: 264px; width: 300px; text-align: center; max-width: 600px; min-height: 297px; visibility: hidden;\">\r\n      <div id=\"content_btf\" class=\"content_btf adunit\" style=\"border: 0px; margin: 0px; padding: 0px;\">&nbsp;</div>\r\n      <div class=\"adunitlabel\" style=\"border: 0px; margin: 0px auto; padding: 0px; position: absolute; width: inherit; bottom: 0px; color: #a5a5a5; text-align: left; min-width: 160px; font-size: 12px !important; line-height: 12px !important;\"><button class=\"mv-ad-report-button\" data-target=\"content_btf\" data-adtype=\"display\" aria-label=\"Report this ad\" style=\"font-family: &quot;Open Sans&quot;, sans-serif; font-size: 20px; line-height: 12px; margin: 0px; vertical-align: baseline; border-width: initial; border-style: none; border-color: initial; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; cursor: pointer; padding: 0px; color: #ffffff; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; float: right; position: relative; width: 300px; top: 0px; outline: none;\"></button>\r\n         <div class=\"mediavine\" style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://www.mediavine.com/\" target=\"_blank\" rel=\"noopener\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #a5a5a5;\"><img alt=\"Mediavine\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAAUCAMAAAA0oWYGAAAANlBMVEUAAACkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT0RuBeAAAAEXRSTlMAECAwQFBgcHuEj5+vv8/f7w0rGDcAAANcSURBVEjHzZbLlsMoDEQLMMYBPaj//9lZCDt2Oj1nZtesHCKbS0klwLFnACh9SwDQWkaM1Cj4I2OSDUAjtQAw8gUAyD6V9e9AcgA7SW6AktQEJPeMKQCaqqpKBoDDVNX2c1JVVW0k1PUsvRUAQLOIA4BNVVUK0FRUKwBsomIdaajoyEhdRaUAQFfRkZC6yjm0wUmyBSQTlAH9YgLMAQySJHcAyUiS/ZokSc6Mdv3wUXC+1AOyne/3a/IgSUH2kCa+ewBISnKW9c8agkmSc0G+ApIFOoFEeUN2ANtcUbHeN8i1nb7iznVJWa8bAAhJ1kCZZYXMbQV7RnpCxq9SSZKWZGHIBIQbLh5NpyZvSJ8+fVpaW/TYA7cH5NrZLME2CwLOErKR9BOSCiRZkEaSM8YIJblvS5SAHGjcPXyzIM9FbpBHziWXkhe9lLL7Eu0GeYreVlgD6krNByRf4YkTctZccsklLyUXJBekAJOyfSxS/Am5X+5rj4KY2w0yGTktdMoeBd+X3tnu6SZZcFdylru7b0qOpSTKtgI6yemkoMbDBemiotpPyHFV236DrCR186AakWZb5fOpJA39nm4TUbEd35Uctx7VSfqYtHSQIj+MY+kOOT4hB8kODaV3kiz59PJDSZ8kj3aH5Anzm5IPyNmMswp5/F/I7CQbDpKewrS1Lis/lRyNqzB+Qv4nJbkP0ia93iF9iIgej3RrNJcLcilTYhqD5OgkJX0qqauz3NM9RMT2S8n6r0pyjyYj2X43zgBQZzTOC1JJej/GOtgqSc7w+IeSM+X5hJz5q3F+VzI+cKS7cY6Ucsr5akE575M3/76Ajc+ufzZpz/hRk+Xsw+8WlFJKKYfTyJYXZP8FMuLqA3KamZnbFoaYFgTz1sxfd0i2q5jjfvVQ0q9GfKXbYwFdbx1L0bR9h2zhn8jIx7HI/ddjMVlk+3WMdWotaSu+KYnI14dxOKOk2deyCfMTUmITe1wJvlwwWG+QM46AdcF4G+p0VBh1poCc9wtGwepRzDjLM8Z1WkRgjtK+QzYz84piZg1J3XyPyTXcCup6VjnWVc3NfMfuZlavGavAy8183Y+yuLkWpOHmmgFkdXPJSOLvFWRZs68LSAkD/pkr+XuUPg8AqDozgPya/W8B/gPQAm/tWHkI8wAAAABJRU5ErkJggg==\" style=\"height: 10px !important; max-width: 100%; border: 0px !important; margin: 0px !important; padding: 0px !important; box-shadow: none !important; width: 82px !important; min-width: 82px !important; min-height: 10px !important;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">The OLED display doesn’t require backlight, which results in a very nice contrast in dark environments. Additionally, its pixels consume energy only when they are on, so the OLED display consumes less power when compared to other displays.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">The model we’re using has four pins and communicates with any microcontroller using I2C communication protocol. There are models that come with an extra RESET pin or that communicate using SPI communication protocol.</p>\r\n   <h2 style=\"border: 0px; margin: 34px 0px 18px; padding: 0px; font-family: inherit; font-size: 36px; font-style: inherit; line-height: 1.3em; position: relative;\">OLED Display SSD1306 Pin Wiring</h2>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">Because the OLED display uses I2C communication protocol, wiring is very simple. You can use the following table as a reference.</p>\r\n   <figure class=\"wp-block-table\" style=\"margin: 0px 0px 1.4em; overflow-x: auto;\">\r\n      <table style=\"border-right: 0px solid rgba(0, 0, 0, 0.1); border-bottom: 0px solid rgba(0, 0, 0, 0.1); border-top-style: solid; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.1); border-left-color: rgba(0, 0, 0, 0.1); margin: 0px 0px 1.5em; padding: 0px; border-collapse: separate; border-spacing: 0px; width: 724px;\">\r\n         <tbody style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n            <tr style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Pin</span></td>\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">ESP32</span></td>\r\n               </tr>\r\n            <tr style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\">Vin</td>\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span class=\"rnthl rntcred\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; color: #ffffff !important; display: inline-block; background-color: #cc3333;\">3.3V</span></td>\r\n               </tr>\r\n            <tr style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\">GND</td>\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span class=\"rnthl rntcblack\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; color: #ffffff; display: inline-block; background-color: #333333;\">GND</span></td>\r\n               </tr>\r\n            <tr style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\">SCL</td>\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span class=\"rnthl rntclgray\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; display: inline-block; background-color: #eeeeee;\">GPIO 22</span></td>\r\n               </tr>\r\n            <tr style=\"border: 0px; margin: 0px; padding: 0px;\">\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\">SDA</td>\r\n               <td style=\"border-top: 0px solid rgba(0, 0, 0, 0.1); border-left: 0px solid rgba(0, 0, 0, 0.1); border-right-style: solid; border-bottom-style: solid; border-right-color: rgba(0, 0, 0, 0.1); border-bottom-color: rgba(0, 0, 0, 0.1); margin: 0px; padding: 8px;\"><span class=\"rnthl rntcyellow\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; color: #ffffff; display: inline-block; background-color: #ffcc00;\">GPIO 21</span></td>\r\n               </tr>\r\n            </tbody>\r\n         </table>\r\n      </figure>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">Alternatively, you can follow the next schematic diagram to wire the ESP32 to the OLED display.</p>\r\n   <div class=\"wp-block-image\" data-slot-rendered-dynamic=\"true\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><a href=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266_oled_display_wiring.png?quality=100&amp;strip=all&amp;ssl=1\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\" target=\"_blank\"><img loading=\"lazy\" width=\"828\" src=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32_OLED.png?resize=828%2C650&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"\" class=\"wp-image-85566\" srcset=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32_OLED.png?w=873&amp;quality=100&amp;strip=all&amp;ssl=1 873w, https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32_OLED.png?resize=300%2C235&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP32_OLED.png?resize=768%2C603&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 828px) 100vw, 828px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%; border: 0px;\" /></a></figure>\r\n      </div>\r\n   <div id=\"content_2_btf_wrapper\" class=\"adunitwrapper content_btf_wrapper mv-size-0x0 native\" data-wrapper=\"content_2_btf\" style=\"border: 0px; margin: 10px auto 20px; padding: 0px; overflow: hidden; position: relative; height: 264px; width: 300px; text-align: center; max-width: 600px; min-height: 297px; visibility: hidden;\">\r\n      <div id=\"content_2_btf\" class=\"content_btf adunit\" style=\"border: 0px; margin: 0px; padding: 0px;\">&nbsp;</div>\r\n      <div class=\"adunitlabel\" style=\"border: 0px; margin: 0px auto; padding: 0px; position: absolute; width: inherit; bottom: 0px; color: #a5a5a5; text-align: left; min-width: 160px; font-size: 12px !important; line-height: 12px !important;\"><button class=\"mv-ad-report-button\" data-target=\"content_2_btf\" data-adtype=\"display\" aria-label=\"Report this ad\" style=\"font-family: &quot;Open Sans&quot;, sans-serif; font-size: 20px; line-height: 12px; margin: 0px; vertical-align: baseline; border-width: initial; border-style: none; border-color: initial; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; cursor: pointer; padding: 0px; color: #ffffff; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; float: right; position: relative; width: 300px; top: 0px; outline: none;\"></button>\r\n         <div class=\"mediavine\" style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://www.mediavine.com/\" target=\"_blank\" rel=\"noopener\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #a5a5a5;\"><img alt=\"Mediavine\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAAUCAMAAAA0oWYGAAAANlBMVEUAAACkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT0RuBeAAAAEXRSTlMAECAwQFBgcHuEj5+vv8/f7w0rGDcAAANcSURBVEjHzZbLlsMoDEQLMMYBPaj//9lZCDt2Oj1nZtesHCKbS0klwLFnACh9SwDQWkaM1Cj4I2OSDUAjtQAw8gUAyD6V9e9AcgA7SW6AktQEJPeMKQCaqqpKBoDDVNX2c1JVVW0k1PUsvRUAQLOIA4BNVVUK0FRUKwBsomIdaajoyEhdRaUAQFfRkZC6yjm0wUmyBSQTlAH9YgLMAQySJHcAyUiS/ZokSc6Mdv3wUXC+1AOyne/3a/IgSUH2kCa+ewBISnKW9c8agkmSc0G+ApIFOoFEeUN2ANtcUbHeN8i1nb7iznVJWa8bAAhJ1kCZZYXMbQV7RnpCxq9SSZKWZGHIBIQbLh5NpyZvSJ8+fVpaW/TYA7cH5NrZLME2CwLOErKR9BOSCiRZkEaSM8YIJblvS5SAHGjcPXyzIM9FbpBHziWXkhe9lLL7Eu0GeYreVlgD6krNByRf4YkTctZccsklLyUXJBekAJOyfSxS/Am5X+5rj4KY2w0yGTktdMoeBd+X3tnu6SZZcFdylru7b0qOpSTKtgI6yemkoMbDBemiotpPyHFV236DrCR186AakWZb5fOpJA39nm4TUbEd35Uctx7VSfqYtHSQIj+MY+kOOT4hB8kODaV3kiz59PJDSZ8kj3aH5Anzm5IPyNmMswp5/F/I7CQbDpKewrS1Lis/lRyNqzB+Qv4nJbkP0ia93iF9iIgej3RrNJcLcilTYhqD5OgkJX0qqauz3NM9RMT2S8n6r0pyjyYj2X43zgBQZzTOC1JJej/GOtgqSc7w+IeSM+X5hJz5q3F+VzI+cKS7cY6Ucsr5akE575M3/76Ajc+ufzZpz/hRk+Xsw+8WlFJKKYfTyJYXZP8FMuLqA3KamZnbFoaYFgTz1sxfd0i2q5jjfvVQ0q9GfKXbYwFdbx1L0bR9h2zhn8jIx7HI/ddjMVlk+3WMdWotaSu+KYnI14dxOKOk2deyCfMTUmITe1wJvlwwWG+QM46AdcF4G+p0VBh1poCc9wtGwepRzDjLM8Z1WkRgjtK+QzYz84piZg1J3XyPyTXcCup6VjnWVc3NfMfuZlavGavAy8183Y+yuLkWpOHmmgFkdXPJSOLvFWRZs68LSAkD/pkr+XuUPg8AqDozgPya/W8B/gPQAm/tWHkI8wAAAABJRU5ErkJggg==\" style=\"height: 10px !important; max-width: 100%; border: 0px !important; margin: 0px !important; padding: 0px !important; box-shadow: none !important; width: 82px !important; min-width: 82px !important; min-height: 10px !important;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">In this example, we’re using I2C communication protocol. The most suitable pins for I2C communication in the ESP32 are&nbsp;<span class=\"rnthl rntclgray\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; color: #000000 !important; display: inline-block; background-color: #eeeeee;\">GPIO 22</span>&nbsp;(SCL) and&nbsp;<span class=\"rnthl rntcyellow\" style=\"border: 0px; margin: 0px; padding: 0px 4px; border-radius: 4px; color: #ffffff; display: inline-block; background-color: #ffcc00;\">GPIO 21</span>&nbsp;(SDA).</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">If you’re using an OLED display with SPI communication protocol, use the following GPIOs.</p>\r\n   <ul style=\"border: 0px; margin: 0px 0px 1.5em 3em; padding: 0px; list-style: square;\">\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\">GPIO 18: CLK</li>\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\">GPIO 19: MISO</li>\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\">GPIO 23: MOSI</li>\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\">GPIO 5: CS</li>\r\n      </ul>\r\n   <p class=\"rntbox rntclgreen\" style=\"border: 0px; margin-bottom: 20px; padding: 10px; background-color: #009966; color: #ffffff !important;\">Read our&nbsp;<a href=\"https://randomnerdtutorials.com/esp32-pinout-reference-gpios/\" style=\"border: 0px; margin: 0px; padding: 0px; background-color: transparent; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; color: #ffffff;\" target=\"_blank\">ESP32 Pinout Reference Guide</a>&nbsp;to learn more about the ESP32 GPIOs.</p>\r\n   <h2 style=\"border: 0px; margin: 34px 0px 18px; padding: 0px; font-family: inherit; font-size: 36px; font-style: inherit; line-height: 1.3em; position: relative;\">Installing SSD1306 OLED Library – ESP32</h2>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">There are several libraries available to control the OLED display with the ESP32. In this tutorial we’ll use two Adafruit libraries:&nbsp;<a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https://github.com/adafruit/Adafruit_SSD1306\" target=\"_blank\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\">Adafruit_SSD1306 library</a>&nbsp;and&nbsp;<a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https://github.com/adafruit/Adafruit-GFX-Library\" target=\"_blank\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\">Adafruit_GFX library</a>.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">Follow the next steps to install those libraries.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">1. Open your Arduino IDE and go to&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Sketch&nbsp;</span>&gt;&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Include Library</span>&nbsp;&gt;&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Manage Libraries</span>. The Library Manager should open.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">2. Type “<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">SSD1306</span>” in the search box and install the SSD1306 library from Adafruit.</p>\r\n   <div class=\"wp-block-image\" data-slot-rendered-dynamic=\"true\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><img loading=\"lazy\" width=\"788\" src=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-ssd1306-adafruit-library.png?resize=788%2C443&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"\" class=\"wp-image-85156\" srcset=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-ssd1306-adafruit-library.png?w=788&amp;quality=100&amp;strip=all&amp;ssl=1 788w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-ssd1306-adafruit-library.png?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-ssd1306-adafruit-library.png?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 788px) 100vw, 788px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%;\" /></figure>\r\n      </div>\r\n   <div id=\"content_3_btf_wrapper\" class=\"adunitwrapper content_btf_wrapper mv-size-0x0 native\" data-wrapper=\"content_3_btf\" style=\"border: 0px; margin: 10px auto 20px; padding: 0px; overflow: hidden; position: relative; height: 264px; width: 300px; text-align: center; max-width: 600px; min-height: 297px; visibility: hidden;\">\r\n      <div id=\"content_3_btf\" class=\"content_btf adunit\" style=\"border: 0px; margin: 0px; padding: 0px;\">&nbsp;</div>\r\n      <div class=\"adunitlabel\" style=\"border: 0px; margin: 0px auto; padding: 0px; position: absolute; width: inherit; bottom: 0px; color: #a5a5a5; text-align: left; min-width: 160px; font-size: 12px !important; line-height: 12px !important;\"><button class=\"mv-ad-report-button\" data-target=\"content_3_btf\" data-adtype=\"display\" aria-label=\"Report this ad\" style=\"font-family: &quot;Open Sans&quot;, sans-serif; font-size: 20px; line-height: 12px; margin: 0px; vertical-align: baseline; border-width: initial; border-style: none; border-color: initial; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; cursor: pointer; padding: 0px; color: #ffffff; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; float: right; position: relative; width: 300px; top: 0px; outline: none;\"></button>\r\n         <div class=\"mediavine\" style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://www.mediavine.com/\" target=\"_blank\" rel=\"noopener\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #a5a5a5;\"><img alt=\"Mediavine\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAAUCAMAAAA0oWYGAAAANlBMVEUAAACkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT0RuBeAAAAEXRSTlMAECAwQFBgcHuEj5+vv8/f7w0rGDcAAANcSURBVEjHzZbLlsMoDEQLMMYBPaj//9lZCDt2Oj1nZtesHCKbS0klwLFnACh9SwDQWkaM1Cj4I2OSDUAjtQAw8gUAyD6V9e9AcgA7SW6AktQEJPeMKQCaqqpKBoDDVNX2c1JVVW0k1PUsvRUAQLOIA4BNVVUK0FRUKwBsomIdaajoyEhdRaUAQFfRkZC6yjm0wUmyBSQTlAH9YgLMAQySJHcAyUiS/ZokSc6Mdv3wUXC+1AOyne/3a/IgSUH2kCa+ewBISnKW9c8agkmSc0G+ApIFOoFEeUN2ANtcUbHeN8i1nb7iznVJWa8bAAhJ1kCZZYXMbQV7RnpCxq9SSZKWZGHIBIQbLh5NpyZvSJ8+fVpaW/TYA7cH5NrZLME2CwLOErKR9BOSCiRZkEaSM8YIJblvS5SAHGjcPXyzIM9FbpBHziWXkhe9lLL7Eu0GeYreVlgD6krNByRf4YkTctZccsklLyUXJBekAJOyfSxS/Am5X+5rj4KY2w0yGTktdMoeBd+X3tnu6SZZcFdylru7b0qOpSTKtgI6yemkoMbDBemiotpPyHFV236DrCR186AakWZb5fOpJA39nm4TUbEd35Uctx7VSfqYtHSQIj+MY+kOOT4hB8kODaV3kiz59PJDSZ8kj3aH5Anzm5IPyNmMswp5/F/I7CQbDpKewrS1Lis/lRyNqzB+Qv4nJbkP0ia93iF9iIgej3RrNJcLcilTYhqD5OgkJX0qqauz3NM9RMT2S8n6r0pyjyYj2X43zgBQZzTOC1JJej/GOtgqSc7w+IeSM+X5hJz5q3F+VzI+cKS7cY6Ucsr5akE575M3/76Ajc+ufzZpz/hRk+Xsw+8WlFJKKYfTyJYXZP8FMuLqA3KamZnbFoaYFgTz1sxfd0i2q5jjfvVQ0q9GfKXbYwFdbx1L0bR9h2zhn8jIx7HI/ddjMVlk+3WMdWotaSu+KYnI14dxOKOk2deyCfMTUmITe1wJvlwwWG+QM46AdcF4G+p0VBh1poCc9wtGwepRzDjLM8Z1WkRgjtK+QzYz84piZg1J3XyPyTXcCup6VjnWVc3NfMfuZlavGavAy8183Y+yuLkWpOHmmgFkdXPJSOLvFWRZs68LSAkD/pkr+XuUPg8AqDozgPya/W8B/gPQAm/tWHkI8wAAAABJRU5ErkJggg==\" style=\"height: 10px !important; max-width: 100%; border: 0px !important; margin: 0px !important; padding: 0px !important; box-shadow: none !important; width: 82px !important; min-width: 82px !important; min-height: 10px !important;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">3. After installing the SSD1306 library from Adafruit, type “<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">GFX</span>” in the search box and install the library.</p>\r\n   <div class=\"wp-block-image\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><img loading=\"lazy\" width=\"786\" src=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-gfx-library-adafruit.png?resize=786%2C443&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"Installing GFX Library ESP8266 ESP32 Arduino\" class=\"wp-image-85157\" srcset=\"https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-gfx-library-adafruit.png?w=786&amp;quality=100&amp;strip=all&amp;ssl=1 786w, https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-gfx-library-adafruit.png?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/install-gfx-library-adafruit.png?resize=768%2C433&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%;\" /></figure>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">4. After installing the libraries, restart your Arduino IDE.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">We’ll program the ESP32 using Arduino IDE, so you must have the ESP32 add-on installed in your Arduino IDE. If you haven’t, follow the next tutorial first:</p>\r\n   <ul style=\"border: 0px; margin: 0px 0px 1.5em 3em; padding: 0px; list-style: square;\">\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\" target=\"_blank\">Install the ESP32 Board in Arduino IDE (Windows instructions)</a></li>\r\n      <li style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-mac-and-linux-instructions/\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #1b78e2;\" target=\"_blank\">Install the ESP32 Board in Arduino IDE (Mac OS X and Linux instructions)</a></li>\r\n      </ul>\r\n   <h2 style=\"border: 0px; margin: 34px 0px 18px; padding: 0px; font-family: inherit; font-size: 36px; font-style: inherit; line-height: 1.3em; position: relative;\">Testing OLED Display with ESP32</h2>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">After wiring the OLED display to the ESP32 and installing all required libraries, you can use one example from the library to see if everything is working properly.</p>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">In your Arduino IDE, go to&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">File</span>&nbsp;&gt;&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Examples&nbsp;</span>&gt;&nbsp;<span style=\"border: 0px; margin: 0px; padding: 0px; font-weight: 700;\">Adafruit SSD1306</span>&nbsp;and select the example for the display you’re using.</p>\r\n   <div class=\"wp-block-image\" data-slot-rendered-dynamic=\"true\" style=\"border: 0px; margin: 0px 0px 1.4em; padding: 0px;\">\r\n      <figure class=\"aligncenter\" style=\"display: table; margin: 0px auto; clear: both;\"><img loading=\"lazy\" width=\"624\" src=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/oled_example_esp8266.png?resize=624%2C598&amp;quality=100&amp;strip=all&amp;ssl=1\" alt=\"Testing Adafruit SSD1306 Library example\" class=\"wp-image-85166\" srcset=\"https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/oled_example_esp8266.png?w=624&amp;quality=100&amp;strip=all&amp;ssl=1 624w, https://i1.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/oled_example_esp8266.png?resize=300%2C288&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" data-recalc-dims=\"1\" style=\"height: auto; max-width: 100%;\" /></figure>\r\n      </div>\r\n   <div id=\"content_4_btf_wrapper\" class=\"adunitwrapper content_btf_wrapper mv-size-0x0 native\" data-wrapper=\"content_4_btf\" style=\"border: 0px; margin: 10px auto 20px; padding: 0px; overflow: hidden; position: relative; height: 264px; width: 300px; text-align: center; max-width: 600px; min-height: 297px; visibility: hidden;\">\r\n      <div id=\"content_4_btf\" class=\"content_btf adunit\" style=\"border: 0px; margin: 0px; padding: 0px;\">&nbsp;</div>\r\n      <div class=\"adunitlabel\" style=\"border: 0px; margin: 0px auto; padding: 0px; position: absolute; width: inherit; bottom: 0px; color: #a5a5a5; text-align: left; min-width: 160px; font-size: 12px !important; line-height: 12px !important;\"><button class=\"mv-ad-report-button\" data-target=\"content_4_btf\" data-adtype=\"display\" aria-label=\"Report this ad\" style=\"font-family: &quot;Open Sans&quot;, sans-serif; font-size: 20px; line-height: 12px; margin: 0px; vertical-align: baseline; border-width: initial; border-style: none; border-color: initial; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; cursor: pointer; padding: 0px; color: #ffffff; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; float: right; position: relative; width: 300px; top: 0px; outline: none;\"></button>\r\n         <div class=\"mediavine\" style=\"border: 0px; margin: 0px; padding: 0px;\"><a href=\"https://www.mediavine.com/\" target=\"_blank\" rel=\"noopener\" style=\"border: 0px; margin: 0px; padding: 0px; transition: color 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s; text-decoration-line: none; color: #a5a5a5;\"><img alt=\"Mediavine\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAAUCAMAAAA0oWYGAAAANlBMVEUAAACkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT0RuBeAAAAEXRSTlMAECAwQFBgcHuEj5+vv8/f7w0rGDcAAANcSURBVEjHzZbLlsMoDEQLMMYBPaj//9lZCDt2Oj1nZtesHCKbS0klwLFnACh9SwDQWkaM1Cj4I2OSDUAjtQAw8gUAyD6V9e9AcgA7SW6AktQEJPeMKQCaqqpKBoDDVNX2c1JVVW0k1PUsvRUAQLOIA4BNVVUK0FRUKwBsomIdaajoyEhdRaUAQFfRkZC6yjm0wUmyBSQTlAH9YgLMAQySJHcAyUiS/ZokSc6Mdv3wUXC+1AOyne/3a/IgSUH2kCa+ewBISnKW9c8agkmSc0G+ApIFOoFEeUN2ANtcUbHeN8i1nb7iznVJWa8bAAhJ1kCZZYXMbQV7RnpCxq9SSZKWZGHIBIQbLh5NpyZvSJ8+fVpaW/TYA7cH5NrZLME2CwLOErKR9BOSCiRZkEaSM8YIJblvS5SAHGjcPXyzIM9FbpBHziWXkhe9lLL7Eu0GeYreVlgD6krNByRf4YkTctZccsklLyUXJBekAJOyfSxS/Am5X+5rj4KY2w0yGTktdMoeBd+X3tnu6SZZcFdylru7b0qOpSTKtgI6yemkoMbDBemiotpPyHFV236DrCR186AakWZb5fOpJA39nm4TUbEd35Uctx7VSfqYtHSQIj+MY+kOOT4hB8kODaV3kiz59PJDSZ8kj3aH5Anzm5IPyNmMswp5/F/I7CQbDpKewrS1Lis/lRyNqzB+Qv4nJbkP0ia93iF9iIgej3RrNJcLcilTYhqD5OgkJX0qqauz3NM9RMT2S8n6r0pyjyYj2X43zgBQZzTOC1JJej/GOtgqSc7w+IeSM+X5hJz5q3F+VzI+cKS7cY6Ucsr5akE575M3/76Ajc+ufzZpz/hRk+Xsw+8WlFJKKYfTyJYXZP8FMuLqA3KamZnbFoaYFgTz1sxfd0i2q5jjfvVQ0q9GfKXbYwFdbx1L0bR9h2zhn8jIx7HI/ddjMVlk+3WMdWotaSu+KYnI14dxOKOk2deyCfMTUmITe1wJvlwwWG+QM46AdcF4G+p0VBh1poCc9wtGwepRzDjLM8Z1WkRgjtK+QzYz84piZg1J3XyPyTXcCup6VjnWVc3NfMfuZlavGavAy8183Y+yuLkWpOHmmgFkdXPJSOLvFWRZs68LSAkD/pkr+XuUPg8AqDozgPya/W8B/gPQAm/tWHkI8wAAAABJRU5ErkJggg==\" style=\"height: 10px !important; max-width: 100%; border: 0px !important; margin: 0px !important; padding: 0px !important; box-shadow: none !important; width: 82px !important; min-width: 82px !important; min-height: 10px !important;\" /></a></div>\r\n         </div>\r\n      </div>\r\n   <p style=\"border: 0px; margin-bottom: 1.4em; padding: 0px;\">The following code should load:</p>\r\n   <pre class=\" language-c\" style=\"border: 0px; margin-top: 0.5em; margin-bottom: 20px; padding: 1em; background: rgb(245, 242, 240); font-family: Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace; font-size: inherit; line-height: 1.5; overflow: auto; max-width: 100%; color: #000000; text-shadow: rgb(255, 255, 255) 0px 1px; word-spacing: normal; word-break: normal; overflow-wrap: normal; tab-size: 4; hyphens: none; max-height: 40em;\">\r\n      <code class=\" language-c\" style=\"border: 0px; margin: 0px; padding: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 15px; line-height: 1.5; font-family: Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace; background: 0px 0px; text-shadow: rgb(255, 255, 255) 0px 1px; word-spacing: normal; word-break: normal; overflow-wrap: normal; tab-size: 4; hyphens: none;\"><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">/*********\r\n  Complete project details at https://randomnerdtutorials.com\r\n  This is an example for our Monochrome OLEDs based on SSD1306 drivers. Pick one up today in the adafruit shop! ------&gt; http://www.adafruit.com/category/63_98\r\n  This example is for a 128x32 pixel display using I2C to communicate 3 pins are required to interface (two I2C and one reset).\r\n  Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!\r\n  Written by Limor Fried/Ladyada for Adafruit Industries, with contributions from the open source community. BSD license, check license.txt for more information All text above, and the splash screen below must be included in any redistribution. \r\n*********/</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">include</span><span class=\"token string\" style=\"border: 0px; margin: 0px; padding: 0px; color: #669900;\">&lt;SPI.h&gt;</span></span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">include</span><span class=\"token string\" style=\"border: 0px; margin: 0px; padding: 0px; color: #669900;\">&lt;Wire.h&gt;</span></span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">include</span><span class=\"token string\" style=\"border: 0px; margin: 0px; padding: 0px; color: #669900;\">&lt;Adafruit_GFX.h&gt;</span></span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">include</span><span class=\"token string\" style=\"border: 0px; margin: 0px; padding: 0px; color: #669900;\">&lt;Adafruit_SSD1306.h&gt;</span></span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> SCREEN_WIDTH 128 </span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// OLED display width, in pixels</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> SCREEN_HEIGHT 64 </span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// OLED display height, in pixels</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> OLED_RESET     -1 </span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Reset pin # (or -1 if sharing Arduino reset pin)</span>\r\nAdafruit_SSD1306 <span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">display</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span>SCREEN_WIDTH<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> SCREEN_HEIGHT<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span><span class=\"token operator\" style=\"border: 0px; margin: 0px; padding: 0px; color: #9a6e3a; background: rgba(255, 255, 255, 0.5);\">&amp;</span>Wire<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> OLED_RESET<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> NUMFLAKES     10 </span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Number of snowflakes in the animation example</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> LOGO_HEIGHT   16</span><span class=\"token macro property\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">#<span class=\"token directive keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">define</span> LOGO_WIDTH    16</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">static</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">const</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">unsigned</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">char</span> PROGMEM logo_bmp<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">[</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">]</span><span class=\"token operator\" style=\"border: 0px; margin: 0px; padding: 0px; color: #9a6e3a; background: rgba(255, 255, 255, 0.5);\">=</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">{</span> B00000000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11000000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00000001<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11000000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00000001<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11000000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00000011<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11100000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B11110011<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11100000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B11111110<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11111000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B01111110<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11111111<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00110011<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B10011111<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00011111<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11111100<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00001101<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B01110000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00011011<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B10100000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00111111<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11100000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00111111<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11110000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B01111100<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B11110000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B01110000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B01110000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span>\r\n  B00000000<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> B00110000 <span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">}</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">void</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">setup</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">{</span>\r\n  Serial<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">begin</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">115200</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">if</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token operator\" style=\"border: 0px; margin: 0px; padding: 0px; color: #9a6e3a; background: rgba(255, 255, 255, 0.5);\">!</span>display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">begin</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span>SSD1306_SWITCHCAPVCC<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">0x3C</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">{</span> \r\n    Serial<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">println</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">F</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token string\" style=\"border: 0px; margin: 0px; padding: 0px; color: #669900;\">\"SSD1306 allocation failed\"</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token keyword\" style=\"border: 0px; margin: 0px; padding: 0px; color: #0077aa;\">for</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Don\'t proceed, loop forever</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">}</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Show initial display buffer contents on the screen --</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// the library initializes this with an Adafruit splash screen.</span>\r\n  display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">display</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">delay</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">2000</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Pause for 2 seconds</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Clear the buffer</span>\r\n  display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">clearDisplay</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw a single pixel in white</span>\r\n  display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">drawPixel</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">10</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">10</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">,</span> WHITE<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Show the display buffer on the screen. You MUST call display() after</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// drawing commands to make them visible on screen!</span>\r\n  display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">display</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">delay</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">2000</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// display.display() is NOT necessary after every single drawing command,</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// unless that\'s what you want...rather, you can batch up a bunch of</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// drawing operations and then update the screen all at once by calling</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// display.display(). These examples demonstrate both approaches...</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawline</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw many lines</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawrect</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw rectangles (outlines)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testfillrect</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw rectangles (filled)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawcircle</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw circles (outlines)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testfillcircle</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw circles (filled)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawroundrect</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw rounded rectangles (outlines)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testfillroundrect</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw rounded rectangles (filled)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawtriangle</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw triangles (outlines)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testfilltriangle</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw triangles (filled)</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawchar</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw characters of the default font</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawstyles</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw \'stylized\' characters</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testscrolltext</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw scrolling text</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">testdrawbitmap</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Draw a small bitmap image</span><span class=\"token comment\" style=\"border: 0px; margin: 0px; padding: 0px; list-style-type: none; color: #708090;\">// Invert and restore display, pausing in-between</span>\r\n  display<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">.</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">invertDisplay</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span>true<span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">;</span><span class=\"token function\" style=\"border: 0px; margin: 0px; padding: 0px; color: #dd4a68;\">delay</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">(</span><span class=\"token number\" style=\"border: 0px; margin: 0px; padding: 0px; color: #990055;\">1000</span><span class=\"token punctuation\" style=\"border: 0px; margin: 0px; padding: 0px; color: #999999;\">)</span></code>\r\n      </pre>\r\n   </d','https://randomnerdtutorials.com/esp32-ssd1306-oled-display-arduino-ide/','https://m.blog.naver.com/heennavi1004/221666499292',0,0,2,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-12-03 21:06:25',0,'2020-12-03 21:06:25','192.168.219.102','','','','','','','','','','','',''),(468,-468,'',468,0,0,'','','html1','[Arduino] 8mhz 보드 설정 및 ESP32, ESP8266 보드 설정 설치','<p><span style=\"color: #4a4a4a; text-align: center; background-color: #ffffff; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">1. ESP32</span></p>\r\n<p><span style=\"color: #4a4a4a; text-align: center; background-color: #ffffff; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">https://dl.espressif.com/dl/package_esp32_index.json</span></p>\r\n<p style=\"text-align: start;\"><span style=\"text-align: center; background-color: #ffffff; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">--&gt; 보드설정에서 esp32 검색 및 설치</span></p>\r\n<p><span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">&nbsp;</span></p>\r\n<p>&nbsp;</p>\r\n<div><span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">2. ESP8266&nbsp;</span></div>\r\n<span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">\r\n   https://arduino.esp8266.com/stable/package_esp8266com_index.json</span>\r\n<p>&nbsp;</p>\r\n<p><span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">--&gt; 보드설정에서 esp8266 검색 및 설치</span></p>\r\n<p><span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">&nbsp;</span></p>\r\n<p><span style=\"font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;; font-size: 14px;\">3. 내부 8Mhz 보드 설정</span></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">Arduino-ide-2.0 //&nbsp;</span></font><span style=\"font-size: 14px; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;;\">C:\\Users\\bk940\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\boards.txt</span></p>\r\n<p><span style=\"font-size: 14px; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;;\">&nbsp;</span></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">######################################################</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\"><br /></span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.name=ATmega328 w/ 8 MHz internal clock (Optiboot)</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.upload.protocol=arduino</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.upload.maximum_size=32256</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.upload.speed=57600</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.upload.tool=avrdude</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.low_fuses=0xe2</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.high_fuses=0xde</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.extended_fuses=0xfd</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.file=optiboot/optiboot_atmega328.hex</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.unlock_bits=0x3F</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.lock_bits=0x0F</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.bootloader.tool=avrdude</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.build.mcu=atmega328p</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.build.f_cpu=8000000L&nbsp;</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.build.board=AVR_PRO</span></font></p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.build.core=arduino</span></font></p>\r\n<p>&nbsp;</p>\r\n<p><font face=\"맑은 고딕, malgun gothic\"><span style=\"font-size: 14px;\">internal328_8.build.variant=eightanaloginputs</span></font></p>\r\n<p><br /></p>','','',0,0,44,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2020-12-21 18:40:48',0,'2020-12-21 18:40:48','192.168.219.101','','','','','','','','','','','',''),(469,-469,'',469,0,0,'','','html1','[Linux] 우분투 리눅스 이미지 사이즈 포멧 변경 일괄 수정','<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">sudo apt-get install -y imagemagick<br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">설치가 완료 되었으면 사진 폴더로 들어가서 오른쪽 버튼 - 여기에서 터미널 열기를 합시다.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">love 라는 jpg 파일을 수정해 보지요.<br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">$ convert -resize \"50%\" love.JPG littlelove.png</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">love.JPG 라는 파일을 사이즈를 반으로 줄여서 littlelove.png로 새로 저장하라!는 명령입니다.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">사이즈 변경과 (50% 축소) 포멧 변경(jpg -&gt; png)을 한번에 했습니다 ^_^</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">다만 주의하실 점은 확장자의 대소문자를 (jpg JPG png PNG) 구분하셔야 됩니다.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">&nbsp;</p>\r\n<div style=\"margin: 0px; padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff; text-align: center;\"><a href=\"http://pds25.egloos.com/pds/201412/05/16/f0150916_54815f7d190ab.jpg\" style=\"margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: #3180da;\" target=\"_blank\"><img class=\"post_image\" border=\"0\" data-original=\"http://pds25.egloos.com/pds/201412/05/16/f0150916_54815f7d190ab.jpg\" data-thumbsrc=\"http://thumbnail.egloos.net/600x0/http://pds25.egloos.com/pds/201412/05/16/f0150916_54815f7d190ab.jpg\" width=\"557\" data-src=\"http://pds25.egloos.com/pds/201412/05/16/f0150916_54815f7d190ab.jpg\" data-width=\"557\" src=\"http://pds25.egloos.com/pds/201412/05/16/f0150916_54815f7d190ab.jpg\" style=\"margin: 0px; padding: 0px; border: 0px; vertical-align: top; max-width: 100%; display: inline;\" /></a></div>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">&nbsp;</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">&nbsp;</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">$ convert -resize \"500x800!\" test.jpg ../test2.jpg</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><span style=\"margin: 0px; padding: 0px; font-size: 9pt; border: 0px; vertical-align: baseline; line-height: 15.6px;\">이건 뭔지 아시겠죠?</span></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">해상도 사이즈를 500x800으로 조절한다. ( * 가 아니라 x 입니다.)</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">새로 저장하는 파일을 상위 디렉터리에 저장해라.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">여기서도 주의하실 점은 \"500x800!\" 뒤에 \'!\' 느낌표를 붙였습니다.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">그냥 \"500x800\"으로 할 경우 가로 세로 비율이 고정되어 있어서 한쪽이 다르게 나옵니다.<br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">원본 이미지와 비율이 다를 경우 500x800 중 더 작은 사이즈인 500을 기준으로 고정 사이즈 변환이 됩니다.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">500x800이 아니라 비율에 의해 500x600 or 500x700 이런 식으로 저장이 되겠지요.</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">하지만 뒤의 ! 를 붙이면 절대 사이즈로 변환됩니다.)<br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><span style=\"margin: 0px; padding: 0px; font-size: 11.7px; border: 0px; vertical-align: baseline; color: #2e8b57; font-family: Monaco, &quot;Andale Mono&quot;, &quot;Courier New&quot;, Courier, mono; line-height: 15.21px;\">convert test.psd out.png</span></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\">psd 파일도 변환가능하구요!!</p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><span style=\"margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; line-height: 15.6px;\">이 외에도 convert -help를 입력해 보시면 정말 많은 명령어가 있음을 알 수 있습니다. ^^</span></p>\r\n<p style=\"padding: 0px; font-size: 13px; border: 0px; vertical-align: baseline; color: #1f1f1f; font-family: &quot;맑은 고딕&quot;, &quot;malgun gothic&quot;, 돋움, dotum, AppleGothic, sans-serif; background-color: #ffffff;\"><br /></p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\"><font face=\"Noto sans, 나눔 고딕, Verdana, Geneva, sans-serif\"><b>convert -resize 800x600i a*.jpg a.png</b></font></p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\"><span style=\"margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; line-height: 14.4px;\">이런 식으로</span></p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\">a로 시작하는 모든 jpg 파일들을</p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\">a-1.png</p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\">a-2.png</p>\r\n<p style=\"padding: 0px; border: 0px; vertical-align: baseline; font-stretch: inherit; font-family: &quot;Noto sans&quot;, &quot;나눔 고딕&quot;, Verdana, Geneva, sans-serif; line-height: 14.4px; color: #333333; background-color: #cbedf6;\">800x600 해상도로 a 뒤에 숫자가 붙은 png 파일로 동시 변환할 수 있습니다.</p>','http://egloos.zum.com/bodanaeun/v/1207100','',0,0,2,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-01-03 20:26:48',0,'2021-01-03 20:26:48','192.168.0.1','','','','','','','','','','','',''),(470,-470,'',470,0,0,'','','html1','[Linux] Ubuntu, Windows 듀얼 부팅시 GRUB 부팅 순서 변경하기','<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">Ubuntu와 Windows 듀얼 부팅시 GRUB 설정을 변경하여 부팅순서를 변경하는 방법을 설명합니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span id=\"docs-internal-guid-2fb0f3c8-7fff-4c66-a284-56bde0cdcc14\"><br /><br /></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">2017. 5. 22&nbsp; 최초작성</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">2018. 7.&nbsp; 5 &nbsp; Ubuntu 18.04에서 동작확인</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">2020. 7. 11&nbsp; Ubuntu 20.04에서 동작확인</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">Windows를 설치한 후, Ubuntu를 설치하게 되면&nbsp; 부팅 도중에 GRUB 메뉴를 보여주어&nbsp; 부팅할 운영체제를 선택할 수 있도록 해줍니다.&nbsp;&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">아무키도 누르지 않고 기다리면 디폴트로 설정된 운영체제로 부팅이 되는데 초기값은 Ubuntu로 설정이 되어 있습니다.&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">예전(2016.12)과 달리 /boot/grub/grub.cfg 파일에 submenu 항목으로 되어 있는 </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">Ubuntu용 고급 설정 항목</span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">이 </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">grub-set-default </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">명령에서 인덱스로 취급되어 더 이상 다음 명령으로 인덱스 번호 확인이 무의미 해졌습니다.</span></p>\r\n<div dir=\"ltr\" align=\"left\" style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; margin-left: 0pt;\">\r\n   <table style=\"max-width: 100%; width: 510.236pt; border-width: initial; border-style: none; border-color: initial; table-layout: fixed;\"><colgroup><col /></colgroup>\r\n      <tbody>\r\n         <tr style=\"height: 0pt;\">\r\n            <td style=\"vertical-align: top; background-color: #f0f0f0; padding: 5pt; overflow: hidden; overflow-wrap: break-word;\">\r\n               <p dir=\"ltr\" style=\"padding-top: 0px !important; padding-bottom: 0px !important; margin-top: 0pt; margin-bottom: 0pt; line-height: 1.38;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Consolas, sans-serif; color: #444444; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">$ </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Consolas, sans-serif; color: #980000; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">awk -F\\\' \'$1==\"menuentry \" {print i++ \" : \" $2}\' /boot/grub/grub.cfg</span></p>\r\n               </td>\r\n            </tr>\r\n         </tbody>\r\n      </table>\r\n   </div>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">대신 부팅시&nbsp; GRUB 부팅 메뉴에서 인덱스를 확인해야 합니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">첫번째 줄이 인덱스 0이고 다음 줄로 갈때 마다 1씩 증가하게 됩니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">따라서 Ubuntu는 인덱스 0이고 Windows는 인덱스 2입니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 680px; height: 240px;\"><img src=\"https://lh4.googleusercontent.com/5_TuOLbi6fi1RM0KI7IJjy94UQLGhMtSl4Mx64TEcUrxgweOtziW-jyLqNu0zSsSywiOK90DLccvuR-aHZ_iKI7sWdu33emPRTkKy9-idHak4ekvQFy3WpQWtALTuDZS6X5Rdn-G\" width=\"680\" height=\"240\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">/etc/default/grub </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">파일을 수정하면 GRUB 부팅 순서를 쉽게 변경할 수 있습니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">디폴트 부팅할 운영체제를 지정하는 </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">GRUB_DEFAULT </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">값을 수정하면 됩니다.&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 607px; height: 139px;\"><img src=\"https://lh6.googleusercontent.com/qlv6G0EAz_pVvCvEZT2j08_KWkFwYQy0hSQgT5hCKrzXk_uB9VnKIjgWBeo8i8VE0_2t3vmbxYu2z7phOx_Yqvx3uwcOHde7GaFjqkOPpSq1F8E3gucvz9OXPT44cR_PRuA5N4Ry\" width=\"607\" height=\"139\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">편집기로 /etc/default/grub 파일 열어서&nbsp;</span></p>\r\n<div dir=\"ltr\" align=\"left\" style=\"box-sizing: border-box; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; margin-left: 0pt;\">\r\n   <table style=\"max-width: 100%; width: 510.236pt; border-width: initial; border-style: none; border-color: initial; table-layout: fixed;\"><colgroup><col /></colgroup>\r\n      <tbody>\r\n         <tr style=\"height: 0pt;\">\r\n            <td style=\"vertical-align: top; background-color: #f0f0f0; padding: 5pt; overflow: hidden; overflow-wrap: break-word;\">\r\n               <p dir=\"ltr\" style=\"padding-top: 0px !important; padding-bottom: 0px !important; margin-top: 0pt; margin-bottom: 0pt; line-height: 1.38;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Consolas, sans-serif; color: #444444; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">$ </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Consolas, sans-serif; color: #980000; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">sudo nano /etc/default/grub</span></p>\r\n               </td>\r\n            </tr>\r\n         </tbody>\r\n      </table>\r\n   </div>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">GRUB_DEFAULT</span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">의 값을 </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; color: #0000ff; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">saved</span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">로 수정해줍니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 605px; height: 135px;\"><img src=\"https://lh3.googleusercontent.com/q6f3CI8Xau2Xjm6JYy4CSZ9zvipCNG5lTIkiQBTW2ffGTMJu-z8tb1esFh8b7lm6sfX4vpW6aTsF_w2uba1xn8Im-qiNdICAlGvC3f8f5QqA1TDsarBrfiwX4xTlTyKEylOdW95u\" width=\"605\" height=\"135\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">sudo update-grub</span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"> 명령으로 설정 변경을 적용시켜줍니다.&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 680px; height: 199px;\"><img src=\"https://lh5.googleusercontent.com/zUqwKuNuNvqJxrKIeWbLBr36s8F8WF3f1hmxWQGCDCSankGXqvQjIKY8d9uCJZtIUmEA8_dFHxls3v4nTuJ8UF0TC-O_HRl8GhXwYHQT7FbEAQBpNhh_Xj9A6IS4UwRmnSlfIY-f\" width=\"680\" height=\"199\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">이제&nbsp; 터미널에서 디폴트 부팅을 할 운영체제를 선택해 줄 수 있습니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">Windows를 디폴트 부팅 운영체제로 변경하겠습니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">sudo grub-set-default </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">명령에&nbsp; Windows의 인덱스 번호인 2을 추가하여 실행합니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 680px; height: 52px;\"><img src=\"https://lh4.googleusercontent.com/brLngDBQbuZmIGj_eVmCBgRBFv09O1b53oje_r6kheKaEwHQbcOXMNIayxJz4vtOJogtHjoqooRD7WkwE11cUU7_YYaHjRUb7NFFyHM8gguiuzuByXQ3nT8231wzCR7I1T-l1Lo0\" width=\"680\" height=\"52\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 680px; height: 240px;\"><img src=\"https://lh4.googleusercontent.com/5_TuOLbi6fi1RM0KI7IJjy94UQLGhMtSl4Mx64TEcUrxgweOtziW-jyLqNu0zSsSywiOK90DLccvuR-aHZ_iKI7sWdu33emPRTkKy9-idHak4ekvQFy3WpQWtALTuDZS6X5Rdn-G\" width=\"680\" height=\"240\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">grub-editenv list </span><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">명령으로 확인해보면 2번으로 바뀐 것을 확인 할 수 있습니다.&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 680px; height: 37px;\"><img src=\"https://lh5.googleusercontent.com/UuiK-Bzw5CmxGjI7tdK5UzsknlS3q_z5W7sUVHoxs3UWlZijBtM4NyeTchccGLZY2NcdwRBHm81zkHaLzGnEl0YR71fIHArOqFlmfNWS9eW9qyzInJYDbHlRYy7Gc6x5_Va0IP20\" width=\"680\" height=\"37\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><br /><br /></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">재부팅해보면 GRUB 메뉴에서 디폴트로 선택되는 항목이 Windows로 변경된 걸 볼 수 있습니다.&nbsp;</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\">아무키도 누르지 않으면&nbsp; 디폴트로 설정된 타임아웃 시간인 10초 후,&nbsp; Windows로 부팅이 됩니다.</span></p>\r\n<p dir=\"ltr\" style=\"margin-top: 0pt; margin-bottom: 0pt; font-family: &quot;Ubuntu Condensed&quot;, &quot;Noto Sans Korean&quot;; font-size: 15px; background-color: #ffffff; line-height: 1.38; padding-top: 0px !important; padding-bottom: 0px !important;\"><span style=\"box-sizing: border-box; font-size: 11pt; font-family: Arial; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; border: none; display: inline-block; overflow: hidden; width: 640px; height: 218px;\"><img src=\"https://lh6.googleusercontent.com/lRLeEd3pFpiQJ9wZFvKBh0O0QJHKbtla-MMQO4xmkanzf2ikyVJz6huqXsrNPxygo895jfFE7T2nQgCAEr9RMp8_efkXWQr6htQs7dKYg7mt5GDOJBkiN3nI458Tlolmtsze_IuB\" width=\"640\" height=\"218\" style=\"border: 0px; max-width: 100%; margin-left: 0px; margin-top: 0px;\" /></span></span></p>','https://webnautes.tistory.com/512','',0,0,1,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-01-06 09:01:07',0,'2021-01-06 09:01:07','210.101.103.92','','','','','','','','','','','',''),(471,-471,'',471,0,0,'','','html1','[Arduino] ATtiny 아두이노 사용하기','<p>*부트로더 올리기</p>\r\n<p>https://blog.naver.com/ann_arbor/221354680181</p>\r\n<p>---&gt; https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json*</p>\r\n<p>&nbsp;</p>\r\n<p>*ATtiny85 디버깅하기(시리얼 모니터 사용)</p>\r\n<p>https://blog.naver.com/ann_arbor/221825105078</p>\r\n<p>https://www.youtube.com/watch?v=9CX4i6rMXS8</p>','','',0,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-01-10 21:58:46',0,'2021-01-10 21:58:46','192.168.219.101','','','','','','','','','','','',''),(472,-472,'',472,0,0,'','','html1','[Arduino] ESP32 Deep Sleep Tutorial','<header class=\"article-header\" data-location=\"header\" style=\"color: #999999; text-align: center; padding: 0px 20px; width: 1008.8px; max-width: 1200px; margin-left: auto; margin-right: auto; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 14px;\">\r\n   <h1 class=\"header-title\" style=\"margin: 0px 0px 10px; font-family: inherit; line-height: 34px; color: #333333; text-rendering: optimizelegibility; font-size: 28px; padding: 0px;\">ESP32 Deep Sleep Tutorial</h1>\r\n   <div class=\"sub-header\" style=\"line-height: 25px;\">\r\n      <div class=\"header-byline\" style=\"display: inline-block;\">By&nbsp;<a href=\"https://www.instructables.com/member/educ8s/\" rel=\"author\" style=\"color: #555555; text-decoration-line: none;\" target=\"_blank\">educ8s</a>&nbsp;in&nbsp;<a class=\"category\" href=\"https://www.instructables.com/circuits/\" style=\"color: #555555; text-decoration-line: none;\" target=\"_blank\">Circuits</a><a class=\"channel\" href=\"https://www.instructables.com/circuits/arduino/projects/\" style=\"color: #555555; text-decoration-line: none;\" target=\"_blank\">Arduino</a></div>\r\n      <div class=\"header-stats\" style=\"display: inline-block; line-height: 30px; margin: 0px 20px;\">\r\n         <p class=\"svg-views view-count\" style=\"margin-right: 15px; background-image: url(&quot;data:image/svg+xml;charset=utf8,%3Csvg class=\'svg-icon views\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%2300A1CF\' d=\'M4.37 12c0-3.41 2.23-6.29 5.31-7.27C3.42 6.02.02 12 .02 12s3.4 5.98 9.67 7.26A7.622 7.622 0 0 1 4.37 12zm19.61 0s-3.4-5.98-9.67-7.27c3.08.98 5.31 3.86 5.31 7.27 0 3.4-2.23 6.28-5.31 7.26 6.27-1.28 9.67-7.26 9.67-7.26zm-7.03-2.43c-.33.66-1.01 1.12-1.8 1.12-1.11 0-2.02-.91-2.02-2.02 0-.75.41-1.41 1.02-1.75-.66-.28-1.39-.44-2.15-.44-3.05 0-5.52 2.47-5.52 5.52 0 3.05 2.47 5.52 5.52 5.52 3.05 0 5.52-2.47 5.52-5.52 0-.87-.2-1.7-.57-2.43z\'/%3E%3C/svg%3E&quot;); display: inline-block; padding-left: 25px; background-repeat: no-repeat; background-size: 20px; background-position-y: 4px;\">36,348</p>\r\n         <p class=\"svg-favorite active favorite-count\" style=\"margin-right: 15px; background-image: url(&quot;data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23C20089\' d=\'M11.98 21s-.5-.71-3.38-3.16-5.09-5.12-5.53-7.95c-.44-2.83 1.22-5.72 4.32-5.88 3.1-.16 4.59 2.18 4.59 2.18h.04s1.5-2.34 4.59-2.18c3.1.16 4.76 3.05 4.32 5.88-.44 2.83-2.66 5.5-5.53 7.95S12.02 21 12.02 21h-.04z\'/%3E%3C/svg%3E&quot;); display: inline-block; padding-left: 25px; background-repeat: no-repeat; background-size: 20px; background-position-y: 4px;\">45</p>\r\n         <p class=\"svg-comments active comment-count\" style=\"background-image: url(&quot;data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%2397C801\' d=\'M19.75 6.85h-1.7c.01.12.04.24.04.37v3.88c0 2.45-1.99 4.45-4.43 4.45h-3.17l-.98.98c.51.36 1.13.57 1.8.57h3.7c.36.36 3.61 3.63 3.61 3.63.2.2.49.26.75.15.26-.11.43-.36.43-.64V17.1a3.186 3.186 0 0 0 3.14-3.18v-3.88c-.03-1.76-1.45-3.19-3.19-3.19zm-6.09-2.82c1.75 0 3.17 1.43 3.17 3.19v3.88c0 1.76-1.42 3.19-3.17 3.19h-3.7c-.36.36-3.61 3.63-3.61 3.63-.2.2-.49.26-.75.15a.696.696 0 0 1-.43-.64v-3.14a3.186 3.186 0 0 1-3.14-3.18V7.22c0-1.76 1.42-3.19 3.17-3.19h8.46z\'/%3E%3C/svg%3E&quot;); display: inline-block; padding-left: 25px; background-repeat: no-repeat; background-size: 20px; background-position-y: 4px; cursor: pointer;\">19</p>\r\n         </div>\r\n      </div>\r\n   <div class=\"sub-header clearfix\" style=\"line-height: 25px; margin: 20px 0px 10px;\">\r\n      <div class=\"header-meta\" style=\"display: inline-block; float: left; line-height: 38px;\"><button class=\"license-btn\" data-url=\"https://creativecommons.org/licenses/by-nc-sa/4.0/\" style=\"margin: 0px 10px 0px 0px; font-size: 14px; vertical-align: initial; line-height: 15px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; display: inline; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px;\"><img alt=\"license\" src=\"https://www.instructables.com/assets/img/license/by-nc-sa_small.png\" style=\"max-width: 100%; height: auto; vertical-align: top; border: 0px;\" /></button></div>\r\n      <div class=\"header-actions\" style=\"display: inline-block; float: right;\"><button class=\"btn btn-default pdf-btn login-required\" data-sourcea=\"download\" style=\"margin: 0px 0px 0px 10px; font-size: 14px; vertical-align: middle; line-height: 20px; appearance: button; cursor: pointer; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; padding: 6px 12px; color: #333333; background-color: #f6f6f6; background-image: none; background-repeat: repeat-x; border-width: 1px; border-style: solid; border-color: #dedede; border-radius: 4px; box-shadow: none; white-space: nowrap;\"><i class=\"svg-icon svg-pdf\" style=\"width: 24px; height: 24px; fill: rgb(187, 187, 187); margin-right: 5px; display: inline-block; vertical-align: middle; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17.96-.49 1.26c-.41.39-1.02.56-1.73.56-.16 0-.31-.01-.42-.02zm18.08-7.65v15.27c0 .28-.23.51-.51.51H7.06c-.28 0-.51-.23-.51-.51V17.7h11.28c.31 0 .56-.25.56-.56v-8.1a.56.56 0 0 0-.56-.56H6.55V2.7c0-.28.23-.51.51-.51H18.4v.01h-.01v3.95h3.95s-.05-.06-.14-.15l.14.14zM7.66 15.66v-5.22c.44-.07 1.02-.11 1.63-.11 1.01 0 1.66.18 2.18.57.55.41.9 1.07.9 2 0 1.02-.37 1.72-.88 2.15-.56.47-1.41.69-2.45.69-.64 0-1.08-.04-1.38-.08zm8.61-3.09v.98h-1.91v2.14h-1.21v-5.32h3.25v.99h-2.04v1.21h1.91z\'/%3E%3Cpath fill=\'%23d50a0a\' d=\'M4.76 11.24c-.24 0-.41.02-.5.05v1.57c.1.02.23.03.4.03.64 0 1.03-.32 1.03-.87.01-.49-.33-.78-.93-.78zm4.65.01c-.27 0-.44.02-.54.05v3.48c.1.02.27.02.42.02 1.09.01 1.8-.59 1.8-1.86 0-1.1-.65-1.69-1.68-1.69z\'/%3E%3C/svg%3E&quot;);\"></i>Download</button><button class=\"btn btn-default favorite-btn\" style=\"margin: 0px 0px 0px 10px; font-size: 14px; vertical-align: middle; line-height: 20px; appearance: button; cursor: pointer; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; padding: 6px 12px; color: #333333; background-color: #f6f6f6; background-image: none; background-repeat: repeat-x; border-width: 1px; border-style: solid; border-color: #dedede; border-radius: 4px; box-shadow: none; white-space: nowrap;\"><i class=\"svg-icon svg-favorite\" style=\"width: 24px; height: 24px; fill: rgb(187, 187, 187); margin-right: 5px; display: inline-block; vertical-align: middle; background-image: url(&quot;data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23bbbbbb\' d=\'M11.98 21s-.5-.71-3.38-3.16-5.09-5.12-5.53-7.95c-.44-2.83 1.22-5.72 4.32-5.88 3.1-.16 4.59 2.18 4.59 2.18h.04s1.5-2.34 4.59-2.18c3.1.16 4.76 3.05 4.32 5.88-.44 2.83-2.66 5.5-5.53 7.95S12.02 21 12.02 21h-.04z\'/%3E%3C/svg%3E&quot;);\"></i><span class=\"favorite-txt\">Favorite</span></button></div>\r\n      </div>\r\n   </header>\r\n<div class=\"article-body\" style=\"position: relative; color: #333333; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 14px;\">\r\n   <div class=\"main-content\">\r\n      <section id=\"intro\" class=\"step\" data-stepid=\"SK5DJVCJG74UW97\" style=\"margin: 0px auto 32px; padding: 0px 20px; width: 1008.8px; max-width: 1200px;\">\r\n         <h2 class=\"step-title sr-only\" style=\"margin: -1px -1px 15px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 24px; padding: 0px; text-align: center; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); border: 0px;\">Introduction: ESP32 Deep Sleep Tutorial</h2>\r\n         <div class=\"mediaset\" style=\"position: relative; text-align: center; min-height: 109px; margin: 0px -2.5px 30px; line-height: 0;\">\r\n            <div class=\"videoset-wrapper\">\r\n               <div class=\"videoset\">\r\n                  <div class=\"videoset-cell\" style=\"padding: 2.5px;\">\r\n                     <div class=\"videoset-item\" style=\"position: relative; padding-bottom: 567.438px; height: 0px; overflow: hidden;\"><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"576\" src=\"https://www.youtube.com/embed/y1R2y8dCsIg?feature=oembed\" width=\"1024\" style=\"max-width: 100%; position: absolute; top: 0px; left: 0px; width: 1008.8px; height: 567.438px;\"></iframe></div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            <div class=\"photoset-wrapper\">\r\n               <div class=\"photoset\" style=\"margin: 0px auto;\">\r\n                  <div class=\"photoset-row items-3 \" style=\"display: flex;\">\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.21315 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 514.156px;\"><a class=\"gallery-link\" rel=\"photoset63\" href=\"https://content.instructables.com/ORIG/F8C/WC29/JG74UWA5/F8CWC29JG74UWA5.png?auto=webp&amp;frame=1&amp;width=1024&amp;fit=bounds&amp;md=709b7ebd84ba20d94e92669b2a721ed1\" data-download=\"https://content.instructables.com/ORIG/F8C/WC29/JG74UWA5/F8CWC29JG74UWA5.png?auto=webp&amp;frame=1&amp;md=709b7ebd84ba20d94e92669b2a721ed1\" data-fileid=\"F8CWC29JG74UWA5\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" alt=\"ESP32 Deep Sleep Tutorial\" src=\"https://content.instructables.com/ORIG/F8C/WC29/JG74UWA5/F8CWC29JG74UWA5.png?auto=webp&amp;frame=1&amp;width=742&amp;fit=bounds&amp;md=709b7ebd84ba20d94e92669b2a721ed1\" data-src=\"https://content.instructables.com/ORIG/F8C/WC29/JG74UWA5/F8CWC29JG74UWA5.png?auto=webp&amp;frame=1&amp;width=742&amp;fit=bounds&amp;md=709b7ebd84ba20d94e92669b2a721ed1\" style=\"max-width: 100%; height: 514.156px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 623.391px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     <div class=\"photoset-col\" style=\"display: flex; flex-direction: column; flex: 0.75 1 0%;\">\r\n                        <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                           <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 254.578px;\"><a class=\"gallery-link\" rel=\"photoset63\" href=\"https://content.instructables.com/ORIG/F7W/UOLZ/JG74UWAI/F7WUOLZJG74UWAI.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=0e5f8a38be7ee5a553f888f2400fd84d\" data-download=\"https://content.instructables.com/ORIG/F7W/UOLZ/JG74UWAI/F7WUOLZJG74UWAI.jpg?auto=webp&amp;frame=1&amp;md=0e5f8a38be7ee5a553f888f2400fd84d\" data-fileid=\"F7WUOLZJG74UWAI\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"ESP32 Deep Sleep Tutorial\" src=\"https://content.instructables.com/ORIG/F7W/UOLZ/JG74UWAI/F7WUOLZJG74UWAI.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=458&amp;height=1024&amp;fit=bounds&amp;md=0e5f8a38be7ee5a553f888f2400fd84d\" data-src=\"https://content.instructables.com/ORIG/F7W/UOLZ/JG74UWAI/F7WUOLZJG74UWAI.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=458&amp;height=1024&amp;fit=bounds&amp;md=0e5f8a38be7ee5a553f888f2400fd84d\" style=\"max-width: 100%; height: 254.578px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 380.406px; border-radius: 4px;\" /></a></div>\r\n                           </div>\r\n                        <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                           <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 254.578px;\"><a class=\"gallery-link\" rel=\"photoset63\" href=\"https://content.instructables.com/ORIG/F0Y/RRY9/JG74UWC6/F0YRRY9JG74UWC6.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=ed9da35bbf3aa2dc3ca85c377ba2df0e\" data-download=\"https://content.instructables.com/ORIG/F0Y/RRY9/JG74UWC6/F0YRRY9JG74UWC6.jpg?auto=webp&amp;frame=1&amp;md=ed9da35bbf3aa2dc3ca85c377ba2df0e\" data-fileid=\"F0YRRY9JG74UWC6\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"ESP32 Deep Sleep Tutorial\" src=\"https://content.instructables.com/ORIG/F0Y/RRY9/JG74UWC6/F0YRRY9JG74UWC6.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=458&amp;height=1024&amp;fit=bounds&amp;md=ed9da35bbf3aa2dc3ca85c377ba2df0e\" data-src=\"https://content.instructables.com/ORIG/F0Y/RRY9/JG74UWC6/F0YRRY9JG74UWC6.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=458&amp;height=1024&amp;fit=bounds&amp;md=ed9da35bbf3aa2dc3ca85c377ba2df0e\" style=\"max-width: 100%; height: 254.578px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 380.406px; border-radius: 4px;\" /></a></div>\r\n                           </div>\r\n                        </div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         <div class=\"author-promo clearfix\" style=\"border: 1px solid rgb(221, 221, 221); border-radius: 6px; padding: 15px; background-color: #f6f6f6; margin: 0px auto 20px; color: #777777; display: flex; flex-flow: wrap; max-width: 770px;\">\r\n            <div class=\"author-promo-row\" style=\"display: flex; flex-direction: row; width: 308px;\">\r\n               <div class=\"byline\" style=\"flex-grow: 1;\"><a class=\"avatar\" rel=\"author\" href=\"https://www.instructables.com/member/educ8s/\" style=\"color: #1e8439; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" data-src=\"https://content.instructables.com/ORIG/FJY/GVZY/I8010369/FJYGVZYI8010369.jpg?crop=1%3A1&amp;frame=1&amp;width=130\" src=\"https://content.instructables.com/ORIG/FJY/GVZY/I8010369/FJYGVZYI8010369.jpg?crop=1%3A1&amp;frame=1&amp;width=130\" alt=\"educ8s\" style=\"max-width: 100%; height: 80px; vertical-align: middle; border: 0px; background: none; border-radius: 40px; width: 80px; display: inline-block; float: left; margin: 2px 15px 0px 0px;\" /></a><span class=\"author-name\" style=\"display: inline-block; float: left; clear: right; line-height: 21px; width: calc(100% - 100px);\">By&nbsp;<a class=\"author\" rel=\"author\" href=\"https://www.instructables.com/member/educ8s/\" style=\"color: #555555; text-decoration-line: none; font-weight: 700; font-size: 16px;\" target=\"_blank\">educ8s</a></span><a class=\"author-site\" rel=\"noreferrer\" href=\"https://www.youtube.com/user/educ8s\" target=\"_blank\" style=\"color: #1e8439; text-decoration-line: none; display: inline-block; float: left; clear: right; line-height: 21px; width: calc(100% - 100px);\">Click Here: My YouTube Channel</a><span class=\"author-follow\" style=\"display: inline-block; float: left; clear: right; line-height: 21px;\"><button class=\"btn btn-yellow follow-btn\" style=\"margin: 5px 20px 0px 0px; font-size: 14px; vertical-align: middle; line-height: 20px; appearance: button; cursor: pointer; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; padding: 6px 12px; color: #ffffff; background-color: #faac18; background-image: none; background-repeat: repeat-x; border-width: 1px; border-style: solid; border-color: #e5991e; border-radius: 4px; box-shadow: none; white-space: nowrap;\">Follow</button></span></div>\r\n               </div>\r\n            <div class=\"recent-ibles promoted-content clearfix \" style=\"clear: both; display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: center; width: 462px;\"><span class=\"promoted-items-label\" style=\"margin-top: 2px; text-align: right; width: 70px;\">More by the author:</span>\r\n               <div class=\"promoted-items list-unstyled pull-right\" style=\"float: right; display: inline-block; margin-left: 10px;\">\r\n                  <div data-id=\"\" class=\"promoted-item-thumbnail thumbnail instructable-thumbnail\" style=\"display: inline-block; padding: 0px; line-height: 20px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 0px; box-shadow: none; transition: all 0.2s ease-in-out 0s; position: relative; background: rgb(255, 255, 255); overflow: hidden; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\">\r\n                     <div class=\"image-wrapper\" style=\"display: inline-block; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\"><a href=\"https://www.instructables.com/Weather-Station-Using-a-Big-ST7920-Display/\" style=\"color: #1e8439; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" data-src=\"https://content.instructables.com/ORIG/FQ4/TW4T/K0R1LOGK/FQ4TW4TK0R1LOGK.png?crop=1%3A1&amp;frame=1&amp;width=130\" src=\"https://content.instructables.com/ORIG/FQ4/TW4T/K0R1LOGK/FQ4TW4TK0R1LOGK.png?crop=1%3A1&amp;frame=1&amp;width=130\" alt=\"Weather Station Using a Big ST7920 Display\" style=\"max-width: 100%; height: auto; vertical-align: middle; border: 0px; background: none;\" /></a></div>\r\n                     </div>\r\n                  <div data-id=\"\" class=\"promoted-item-thumbnail thumbnail instructable-thumbnail\" style=\"display: inline-block; padding: 0px; line-height: 20px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 0px; box-shadow: none; transition: all 0.2s ease-in-out 0s; position: relative; background: rgb(255, 255, 255); overflow: hidden; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\">\r\n                     <div class=\"image-wrapper\" style=\"display: inline-block; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\"><a href=\"https://www.instructables.com/Internet-Radio-Using-an-ESP32/\" style=\"color: #1e8439; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" data-src=\"https://content.instructables.com/ORIG/FPB/JM8F/JWGO23LX/FPBJM8FJWGO23LX.png?crop=1%3A1&amp;frame=1&amp;width=130\" src=\"https://content.instructables.com/ORIG/FPB/JM8F/JWGO23LX/FPBJM8FJWGO23LX.png?crop=1%3A1&amp;frame=1&amp;width=130\" alt=\"Internet Radio Using an ESP32\" style=\"max-width: 100%; height: auto; vertical-align: middle; border: 0px; background: none;\" /></a></div>\r\n                     </div>\r\n                  <div data-id=\"\" class=\"promoted-item-thumbnail thumbnail instructable-thumbnail\" style=\"display: inline-block; padding: 0px; line-height: 20px; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 0px; box-shadow: none; transition: all 0.2s ease-in-out 0s; position: relative; background: rgb(255, 255, 255); overflow: hidden; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\">\r\n                     <div class=\"image-wrapper\" style=\"display: inline-block; width: 80px; height: 80px; margin: 0px 2px 0px 0px;\"><a href=\"https://www.instructables.com/ESP32-Xiaomi-Hack-Get-Data-Wirelessly/\" style=\"color: #1e8439; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" data-src=\"https://content.instructables.com/ORIG/FBO/48NF/JNOVKGPW/FBO48NFJNOVKGPW.png?crop=1%3A1&amp;frame=1&amp;width=130\" src=\"https://content.instructables.com/ORIG/FBO/48NF/JNOVKGPW/FBO48NFJNOVKGPW.png?crop=1%3A1&amp;frame=1&amp;width=130\" alt=\"ESP32 Xiaomi Hack - Get Data Wirelessly\" style=\"max-width: 100%; height: auto; vertical-align: middle; border: 0px; background: none;\" /></a></div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            <div class=\"about about-full\" style=\"padding-top: 10px; clear: both; width: 770px;\">About: I am Nick Koumaris from Sparta, Greece. I\'m extremely passionate about electronics, making things and design. I love teaching what I know and sharing my experiences with you. I put out new YouTube videos every…&nbsp;<span class=\"author-link\"><a class=\"more-link\" rel=\"author\" href=\"https://www.instructables.com/member/educ8s/\" style=\"color: #1e8439; text-decoration-line: none;\" target=\"_blank\">More About educ8s »</a></span></div>\r\n            </div>\r\n         <div class=\"step-body\" style=\"margin: 0px auto; font-size: 20px; line-height: 1.65; font-family: myriad-pro, helvetica, arial, sans-serif; color: #555555; overflow-wrap: break-word; max-width: 800px; box-sizing: border-box;\">\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">Dear friends welcome to another Instructable! Today we are going to learn how to put the ESP32 chip into the Deep Sleep mode in order to conserve power and make our projects battery friendly.&nbsp;<span style=\"font-weight: 700; max-width: 100%;\">Have you imagined you project to last on regular AA batteries for almost 5 years? This is possible with the ESP32 chip.</span></p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">The ESP32 chip is a fantastic new chip with great features. It offers a lot of processing power, two 32 bit cores, a lot of memory, Bluetooth and WiFi in a small and easy to use chip. One of the most interesting things about the ESP32 chip is that it offers a low-power deep sleep mode which is very easy to use. Let’s see how to use it.</p>\r\n            </div>\r\n         <div class=\"step-toolbar\" data-location=\"stepBody\" style=\"text-align: center; font-size: 15px; color: #555555;\"><button class=\"step-tip\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Add Tip</button><button class=\"step-question\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Ask Question</button><button class=\"step-comment\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Comment</button><button class=\"svg-pdf step-download download-pdf login-required\" data-sourcea=\"course\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17.96-.49 1.26c-.41.39-1.02.56-1.73.56-.16 0-.31-.01-.42-.02zm18.08-7.65v15.27c0 .28-.23.51-.51.51H7.06c-.28 0-.51-.23-.51-.51V17.7h11.28c.31 0 .56-.25.56-.56v-8.1a.56.56 0 0 0-.56-.56H6.55V2.7c0-.28.23-.51.51-.51H18.4v.01h-.01v3.95h3.95s-.05-.06-.14-.15l.14.14zM7.66 15.66v-5.22c.44-.07 1.02-.11 1.63-.11 1.01 0 1.66.18 2.18.57.55.41.9 1.07.9 2 0 1.02-.37 1.72-.88 2.15-.56.47-1.41.69-2.45.69-.64 0-1.08-.04-1.38-.08zm8.61-3.09v.98h-1.91v2.14h-1.21v-5.32h3.25v.99h-2.04v1.21h1.91z\'/%3E%3Cpath fill=\'%23d50a0a\' d=\'M4.76 11.24c-.24 0-.41.02-.5.05v1.57c.1.02.23.03.4.03.64 0 1.03-.32 1.03-.87.01-.49-.33-.78-.93-.78zm4.65.01c-.27 0-.44.02-.54.05v3.48c.1.02.27.02.42.02 1.09.01 1.8-.59 1.8-1.86 0-1.1-.65-1.69-1.68-1.69z\'/%3E%3C/svg%3E&quot;); padding: 0px 0px 0px 32px; background-position: 2px 4px; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; position: relative; width: auto;\">Download</button></div>\r\n         </section>\r\n      <section id=\"step1\" class=\"step\" data-stepid=\"SK12C2ZJG74UYND\" style=\"margin: 32px auto; padding: 0px 20px; width: 1008.8px; max-width: 1200px;\">\r\n         <h2 class=\"step-title\" style=\"margin: 0px 0px 15px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 24px; padding: 0px; text-align: center;\">Step 1: The Parts Needed</h2>\r\n         <div class=\"mediaset\" style=\"position: relative; text-align: center; min-height: 109px; margin: 0px -2.5px 30px; line-height: 0;\">\r\n            <div class=\"photoset-wrapper\">\r\n               <div class=\"photoset\" style=\"margin: 0px auto; max-width: 1050px;\">\r\n                  <div class=\"photoset-row items-1 \">\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 567.438px;\"><a class=\"gallery-link\" rel=\"photoset69\" href=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" data-download=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;md=835928453c8558102a2b3a67c1d3d417\" data-fileid=\"FQWGD8MJG74UWJU\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"The Parts Needed\" src=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" data-src=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" style=\"max-width: 100%; height: 567.438px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 1008.8px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         <div class=\"step-body\" style=\"margin: 0px auto; font-size: 20px; line-height: 1.65; font-family: myriad-pro, helvetica, arial, sans-serif; color: #555555; overflow-wrap: break-word; max-width: 800px; box-sizing: border-box;\">\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">In this tutorial, I am going to use the following parts, so if you want to try this tutorial yourself you need the following:</p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">&nbsp;</p>\r\n            <ul style=\"padding: 0px 0px 20px 20px; margin: 0px; list-style-position: initial; list-style-image: initial; max-width: 100%;\">\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">Any ESP32 Board ▶&nbsp;<a href=\"http://educ8s.tv/part/ESP32\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/ESP32</a></li>\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">A Firebeetle ESP32 Board ▶&nbsp;<a href=\"http://educ8s.tv/part/FireBeetle\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/FireBeetle</a></li>\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">Breadboard ▶&nbsp;<a href=\"http://educ8s.tv/part/LargeBreadboard\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/LargeBreadboard</a></li>\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">Wires ▶&nbsp;<a href=\"http://educ8s.tv/part/Wires\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/Wires</a></li>\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">LEDS ▶&nbsp;<a href=\"http://educ8s.tv/part/LEDs\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/LEDs</a></li>\r\n               <li style=\"line-height: 36px; max-width: 100%; overflow: initial;\">Multimeter ▶&nbsp;<a href=\"http://educ8s.tv/part/Multimeter\" rel=\"nofollow\" style=\"color: #1e8439; max-width: 100%; overflow-wrap: break-word; cursor: pointer; word-break: break-word; hyphens: auto;\" target=\"_blank\">http://educ8s.tv/part/Multimeter</a></li>\r\n               </ul>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">&nbsp;</p>\r\n            </div>\r\n         <div class=\"step-toolbar\" data-location=\"stepBody\" style=\"text-align: center; font-size: 15px; color: #555555;\"><button class=\"step-tip\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Add Tip</button><button class=\"step-question\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Ask Question</button><button class=\"step-comment\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Comment</button><button class=\"svg-pdf step-download download-pdf login-required\" data-sourcea=\"course\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17.96-.49 1.26c-.41.39-1.02.56-1.73.56-.16 0-.31-.01-.42-.02zm18.08-7.65v15.27c0 .28-.23.51-.51.51H7.06c-.28 0-.51-.23-.51-.51V17.7h11.28c.31 0 .56-.25.56-.56v-8.1a.56.56 0 0 0-.56-.56H6.55V2.7c0-.28.23-.51.51-.51H18.4v.01h-.01v3.95h3.95s-.05-.06-.14-.15l.14.14zM7.66 15.66v-5.22c.44-.07 1.02-.11 1.63-.11 1.01 0 1.66.18 2.18.57.55.41.9 1.07.9 2 0 1.02-.37 1.72-.88 2.15-.56.47-1.41.69-2.45.69-.64 0-1.08-.04-1.38-.08zm8.61-3.09v.98h-1.91v2.14h-1.21v-5.32h3.25v.99h-2.04v1.21h1.91z\'/%3E%3Cpath fill=\'%23d50a0a\' d=\'M4.76 11.24c-.24 0-.41.02-.5.05v1.57c.1.02.23.03.4.03.64 0 1.03-.32 1.03-.87.01-.49-.33-.78-.93-.78zm4.65.01c-.27 0-.44.02-.54.05v3.48c.1.02.27.02.42.02 1.09.01 1.8-.59 1.8-1.86 0-1.1-.65-1.69-1.68-1.69z\'/%3E%3C/svg%3E&quot;); padding: 0px 0px 0px 32px; background-position: 2px 4px; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; position: relative; width: auto;\">Download</button></div>\r\n         </section>\r\n      <section id=\"step2\" class=\"step\" data-stepid=\"SCXAQK3JG74UWBD\" style=\"margin: 32px auto; padding: 0px 20px; width: 1008.8px; max-width: 1200px;\">\r\n         <h2 class=\"step-title\" style=\"margin: 0px 0px 15px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 24px; padding: 0px; text-align: center;\">Step 2: Inside the ESP32 Chip</h2>\r\n         <div class=\"mediaset\" style=\"position: relative; text-align: center; min-height: 109px; margin: 0px -2.5px 30px; line-height: 0;\">\r\n            <div class=\"photoset-wrapper\">\r\n               <div class=\"photoset\" style=\"margin: 0px auto;\">\r\n                  <div class=\"photoset-row items-2 \" style=\"display: flex;\">\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 334.594px;\"><a class=\"gallery-link\" rel=\"photoset72\" href=\"https://content.instructables.com/ORIG/F1T/3905/JG74UWCP/F1T3905JG74UWCP.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=9f9f8b0b20a3590715aca22216f2b283\" data-download=\"https://content.instructables.com/ORIG/F1T/3905/JG74UWCP/F1T3905JG74UWCP.jpg?auto=webp&amp;frame=1&amp;md=9f9f8b0b20a3590715aca22216f2b283\" data-fileid=\"F1T3905JG74UWCP\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"Inside the ESP32 Chip\" src=\"https://content.instructables.com/ORIG/F1T/3905/JG74UWCP/F1T3905JG74UWCP.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=9f9f8b0b20a3590715aca22216f2b283\" data-src=\"https://content.instructables.com/ORIG/F1T/3905/JG74UWCP/F1T3905JG74UWCP.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=9f9f8b0b20a3590715aca22216f2b283\" style=\"max-width: 100%; height: 334.594px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 501.906px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 334.594px;\"><a class=\"gallery-link\" rel=\"photoset72\" href=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-download=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-fileid=\"FHZLVVUJG74UWE7\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"Inside the ESP32 Chip\" src=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-src=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" style=\"max-width: 100%; height: 334.594px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 501.906px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         <div class=\"step-body\" style=\"margin: 0px auto; font-size: 20px; line-height: 1.65; font-family: myriad-pro, helvetica, arial, sans-serif; color: #555555; overflow-wrap: break-word; max-width: 800px; box-sizing: border-box;\">\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">Inside the ESP32 chip, we can find the two processing cores, the RAM and ROM memory, the WiFi module, the Bluetooth Module, a hardware acceleration module for cryptographic applications, the RTC module, and a lot of peripherals. Inside the RTC module, we can find a PMU (Phasor measurement unit) a small and very low power 32-bit co-processor, and 8Kbs of RAM memory. This small amount of memory is very useful as you are going to find out in a moment. Also note, even the RTC memory of the ESP32 chip is 4 times larger than the memory of the Arduino Uno.</p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">The WiFi modules, the Processing Cores, and the Bluetooth module require a lot of current to operate. So, if we want to conserve power we have to disable them when don’t use them. This is what we are going to do now. We are going to put the ESP32 to Deep – Sleep mode where it disables everything except the RTC module. There is a light sleep mode and the Deep – Sleep mode. In Deep Sleep mode the ESP32 offers the lowest power consumption.&nbsp;<span style=\"font-weight: 700; max-width: 100%;\">It just needs 0.01 mAs of current in Deep Sleep mode and that’s why we are going to try today.</span></p>\r\n            </div>\r\n         <div class=\"step-toolbar\" data-location=\"stepBody\" style=\"text-align: center; font-size: 15px; color: #555555;\"><button class=\"step-tip\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Add Tip</button><button class=\"step-question\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Ask Question</button><button class=\"step-comment\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Comment</button><button class=\"svg-pdf step-download download-pdf login-required\" data-sourcea=\"course\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17.96-.49 1.26c-.41.39-1.02.56-1.73.56-.16 0-.31-.01-.42-.02zm18.08-7.65v15.27c0 .28-.23.51-.51.51H7.06c-.28 0-.51-.23-.51-.51V17.7h11.28c.31 0 .56-.25.56-.56v-8.1a.56.56 0 0 0-.56-.56H6.55V2.7c0-.28.23-.51.51-.51H18.4v.01h-.01v3.95h3.95s-.05-.06-.14-.15l.14.14zM7.66 15.66v-5.22c.44-.07 1.02-.11 1.63-.11 1.01 0 1.66.18 2.18.57.55.41.9 1.07.9 2 0 1.02-.37 1.72-.88 2.15-.56.47-1.41.69-2.45.69-.64 0-1.08-.04-1.38-.08zm8.61-3.09v.98h-1.91v2.14h-1.21v-5.32h3.25v.99h-2.04v1.21h1.91z\'/%3E%3Cpath fill=\'%23d50a0a\' d=\'M4.76 11.24c-.24 0-.41.02-.5.05v1.57c.1.02.23.03.4.03.64 0 1.03-.32 1.03-.87.01-.49-.33-.78-.93-.78zm4.65.01c-.27 0-.44.02-.54.05v3.48c.1.02.27.02.42.02 1.09.01 1.8-.59 1.8-1.86 0-1.1-.65-1.69-1.68-1.69z\'/%3E%3C/svg%3E&quot;); padding: 0px 0px 0px 32px; background-position: 2px 4px; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; position: relative; width: auto;\">Download</button></div>\r\n         </section>\r\n      <section id=\"step3\" class=\"step\" data-stepid=\"S1RQH1NJG74UWFB\" style=\"margin: 32px auto; padding: 0px 20px; width: 1008.8px; max-width: 1200px;\">\r\n         <h2 class=\"step-title\" style=\"margin: 0px 0px 15px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 24px; padding: 0px; text-align: center;\">Step 3: The ESP32 Deep Sleep Mode</h2>\r\n         <div class=\"mediaset\" style=\"position: relative; text-align: center; min-height: 109px; margin: 0px -2.5px 30px; line-height: 0;\">\r\n            <div class=\"photoset-wrapper\">\r\n               <div class=\"photoset\" style=\"margin: 0px auto;\">\r\n                  <div class=\"photoset-row items-2 \" style=\"display: flex;\">\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 334.594px;\"><a class=\"gallery-link\" rel=\"photoset76\" href=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-download=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-fileid=\"FHZLVVUJG74UWE7\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"The ESP32 Deep Sleep Mode\" src=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" data-src=\"https://content.instructables.com/ORIG/FHZ/LVVU/JG74UWE7/FHZLVVUJG74UWE7.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=df551b0e8ae4bc735b4e26d1fd4cfa83\" style=\"max-width: 100%; height: 334.594px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 501.906px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 334.594px;\"><a class=\"gallery-link\" rel=\"photoset76\" href=\"https://content.instructables.com/ORIG/F0C/X7WC/JG74UWH8/F0CX7WCJG74UWH8.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=e1eebacec4f644f4fab47623562c3166\" data-download=\"https://content.instructables.com/ORIG/F0C/X7WC/JG74UWH8/F0CX7WCJG74UWH8.jpg?auto=webp&amp;frame=1&amp;md=e1eebacec4f644f4fab47623562c3166\" data-fileid=\"F0CX7WCJG74UWH8\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" ls-is-cached lazyloaded\" alt=\"The ESP32 Deep Sleep Mode\" src=\"https://content.instructables.com/ORIG/F0C/X7WC/JG74UWH8/F0CX7WCJG74UWH8.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=e1eebacec4f644f4fab47623562c3166\" data-src=\"https://content.instructables.com/ORIG/F0C/X7WC/JG74UWH8/F0CX7WCJG74UWH8.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=600&amp;height=1024&amp;fit=bounds&amp;md=e1eebacec4f644f4fab47623562c3166\" style=\"max-width: 100%; height: 334.594px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 501.906px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         <div class=\"step-body\" style=\"margin: 0px auto; font-size: 20px; line-height: 1.65; font-family: myriad-pro, helvetica, arial, sans-serif; color: #555555; overflow-wrap: break-word; max-width: 800px; box-sizing: border-box;\">\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">In this mode as I said earlier, everything is disabled. The CPU cores, the WiFI module, the Bluetooth Module, the Peripherals and so on. Along with the CPU, the main memory of the chip is also disabled, so everything stored in the memory is lost forever. The only module that still works when in deep-sleep mode is the RTC module, the ultra-low-power co-processor, and its memory! So, if we save the data we want to survive the Deep-Sleep mode into the RTC memory they will be intact when we wake the chip back up.</p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">There are three ways to wake up the chip. We can use a timer, a GPIO pin, or the co-processor.</p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">Today we are going learn how to use the timer to wake up the chip after a specific amount of time. Let’s see an example.</p>\r\n            </div>\r\n         <div class=\"step-toolbar\" data-location=\"stepBody\" style=\"text-align: center; font-size: 15px; color: #555555;\"><button class=\"step-tip\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Add Tip</button><button class=\"step-question\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Ask Question</button><button class=\"step-comment\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Comment</button><button class=\"svg-pdf step-download download-pdf login-required\" data-sourcea=\"course\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17.96-.49 1.26c-.41.39-1.02.56-1.73.56-.16 0-.31-.01-.42-.02zm18.08-7.65v15.27c0 .28-.23.51-.51.51H7.06c-.28 0-.51-.23-.51-.51V17.7h11.28c.31 0 .56-.25.56-.56v-8.1a.56.56 0 0 0-.56-.56H6.55V2.7c0-.28.23-.51.51-.51H18.4v.01h-.01v3.95h3.95s-.05-.06-.14-.15l.14.14zM7.66 15.66v-5.22c.44-.07 1.02-.11 1.63-.11 1.01 0 1.66.18 2.18.57.55.41.9 1.07.9 2 0 1.02-.37 1.72-.88 2.15-.56.47-1.41.69-2.45.69-.64 0-1.08-.04-1.38-.08zm8.61-3.09v.98h-1.91v2.14h-1.21v-5.32h3.25v.99h-2.04v1.21h1.91z\'/%3E%3Cpath fill=\'%23d50a0a\' d=\'M4.76 11.24c-.24 0-.41.02-.5.05v1.57c.1.02.23.03.4.03.64 0 1.03-.32 1.03-.87.01-.49-.33-.78-.93-.78zm4.65.01c-.27 0-.44.02-.54.05v3.48c.1.02.27.02.42.02 1.09.01 1.8-.59 1.8-1.86 0-1.1-.65-1.69-1.68-1.69z\'/%3E%3C/svg%3E&quot;); padding: 0px 0px 0px 32px; background-position: 2px 4px; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; position: relative; width: auto;\">Download</button></div>\r\n         </section>\r\n      <section id=\"step4\" class=\"step\" data-stepid=\"SG8GP0WJG74UWIA\" style=\"margin: 32px auto; padding: 0px 20px; width: 1008.8px; max-width: 1200px;\">\r\n         <h2 class=\"step-title\" style=\"margin: 0px 0px 15px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 24px; padding: 0px; text-align: center;\">Step 4: A Deep Sleep Example</h2>\r\n         <div class=\"mediaset\" style=\"position: relative; text-align: center; min-height: 109px; margin: 0px -2.5px 30px; line-height: 0;\">\r\n            <div class=\"photoset-wrapper\">\r\n               <div class=\"photoset\" style=\"margin: 0px auto;\">\r\n                  <div class=\"photoset-row items-3 \" style=\"display: flex;\">\r\n                     <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                        <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 448.062px;\"><a class=\"gallery-link\" rel=\"photoset80\" href=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" data-download=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;md=835928453c8558102a2b3a67c1d3d417\" data-fileid=\"FQWGD8MJG74UWJU\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" alt=\"A Deep Sleep Example\" src=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=800&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" data-src=\"https://content.instructables.com/ORIG/FQW/GD8M/JG74UWJU/FQWGD8MJG74UWJU.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=800&amp;height=1024&amp;fit=bounds&amp;md=835928453c8558102a2b3a67c1d3d417\" style=\"max-width: 100%; height: 448.062px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 672.531px; border-radius: 4px;\" /></a></div>\r\n                        </div>\r\n                     <div class=\"photoset-col\" style=\"display: flex; flex-direction: column; flex: 0.75 1 0%;\">\r\n                        <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                           <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 221.531px;\"><a class=\"gallery-link\" rel=\"photoset80\" href=\"https://content.instructables.com/ORIG/F5G/OQZB/JG74UWJW/F5GOQZBJG74UWJW.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=e56a88b5e4ac2ea3c8182078a49d6945\" data-download=\"https://content.instructables.com/ORIG/F5G/OQZB/JG74UWJW/F5GOQZBJG74UWJW.jpg?auto=webp&amp;frame=1&amp;md=e56a88b5e4ac2ea3c8182078a49d6945\" data-fileid=\"F5GOQZBJG74UWJW\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" alt=\"A Deep Sleep Example\" src=\"https://content.instructables.com/ORIG/F5G/OQZB/JG74UWJW/F5GOQZBJG74UWJW.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=400&amp;height=1024&amp;fit=bounds&amp;md=e56a88b5e4ac2ea3c8182078a49d6945\" data-src=\"https://content.instructables.com/ORIG/F5G/OQZB/JG74UWJW/F5GOQZBJG74UWJW.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=400&amp;height=1024&amp;fit=bounds&amp;md=e56a88b5e4ac2ea3c8182078a49d6945\" style=\"max-width: 100%; height: 221.531px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 331.266px; border-radius: 4px;\" /></a></div>\r\n                           </div>\r\n                        <div class=\"photoset-item photoset-cell\" data-imagenotes=\"[]\" style=\"padding: 2.5px; flex: 1.5 1 0%;\">\r\n                           <div class=\"photoset-image\" style=\"position: relative; overflow: hidden; border-radius: 4px; height: 221.531px;\"><a class=\"gallery-link\" rel=\"photoset80\" href=\"https://content.instructables.com/ORIG/F18/FNPK/JG74UWKI/F18FNPKJG74UWKI.jpg?auto=webp&amp;frame=1&amp;width=1024&amp;height=1024&amp;fit=bounds&amp;md=4e675489758a8274e28f066bc79cf5c7\" data-download=\"https://content.instructables.com/ORIG/F18/FNPK/JG74UWKI/F18FNPKJG74UWKI.jpg?auto=webp&amp;frame=1&amp;md=4e675489758a8274e28f066bc79cf5c7\" data-fileid=\"F18FNPKJG74UWKI\" style=\"color: #e86c00; text-decoration-line: none;\" target=\"_blank\"><img class=\" lazyloaded\" alt=\"A Deep Sleep Example\" src=\"https://content.instructables.com/ORIG/F18/FNPK/JG74UWKI/F18FNPKJG74UWKI.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=400&amp;height=1024&amp;fit=bounds&amp;md=4e675489758a8274e28f066bc79cf5c7\" data-src=\"https://content.instructables.com/ORIG/F18/FNPK/JG74UWKI/F18FNPKJG74UWKI.jpg?auto=webp&amp;frame=1&amp;crop=3:2&amp;width=400&amp;height=1024&amp;fit=bounds&amp;md=4e675489758a8274e28f066bc79cf5c7\" style=\"max-width: 100%; height: 221.531px; vertical-align: middle; border: 0px; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; object-fit: cover; width: 331.266px; border-radius: 4px;\" /></a></div>\r\n                           </div>\r\n                        </div>\r\n                     </div>\r\n                  </div>\r\n               </div>\r\n            </div>\r\n         <div class=\"step-body\" style=\"margin: 0px auto; font-size: 20px; line-height: 1.65; font-family: myriad-pro, helvetica, arial, sans-serif; color: #555555; overflow-wrap: break-word; max-width: 800px; box-sizing: border-box;\">\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">I have connected two LEDs to this ESP32 board. When the ESP32 boots up it light up the yellow LED for three seconds, and then it goes into Deep-Sleep mode for 3 seconds. When it wakes up, it lights up the Green led for 3 seconds and goes back to sleep. From now on it will only blink the green LED, so the chip remembers that it is not the first time it boots up because we are using the RTC memory to store an integer value.</p>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">Let’s take a quick look at the code of this project. As you can see the code is very simple. In order to put the ESP32 into Deep-Sleep mode, all we need is two lines of code.</p>\r\n            <pre style=\"padding: 9.5px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 13px; color: #333333; border-radius: 4px; margin-top: 0px; margin-bottom: 10px; line-height: 20px; word-break: break-all; overflow-wrap: break-word; white-space: pre-wrap; border: 1px solid rgb(211, 211, 211); max-width: 100%; max-height: 500px; overflow-y: auto;\">\r\n               <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);<br style=\"max-width: 100%;\" />esp_deep_sleep_start();</p>\r\n               </pre>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">We enable the timer with the esp_sleep_enable_timer_wakeup function, we enter the time to sleep in seconds, and then we call the esp_deep_sleep_start function. That’s it!</p>\r\n            <pre style=\"padding: 9.5px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 13px; color: #333333; border-radius: 4px; margin-top: 0px; margin-bottom: 10px; line-height: 20px; word-break: break-all; overflow-wrap: break-word; white-space: pre-wrap; border: 1px solid rgb(211, 211, 211); max-width: 100%; max-height: 500px; overflow-y: auto;\">\r\n               <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">#define uS_TO_S_FACTOR 1000000  /* Conversion factor for micro seconds to seconds */<br style=\"max-width: 100%;\" />#define TIME_TO_SLEEP  3        /* Time ESP32 will go to sleep (in seconds) */</p>\r\n               <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">RTC_DATA_ATTR int bootCount = 0;</p>\r\n               </pre>\r\n            <p style=\"margin-top: 3px; margin-bottom: 20px; max-width: 100%;\">There is a small difference with the execution of the code though. When we use the deep-sleep function, each time the ESP32 wakes up, it executes the setup function again. The loop function is never called. All the variable values are lost, except if we save them in the RTC memory using this prefix. In this example, I save the bootCount int variable into the RTC memory in order the program to know if it is the first time it runs and turn on the correct LED. As always you can find the code of this example attached to this instructable.</p>\r\n            </div>\r\n         <div class=\"downloads\">\r\n            <h3 class=\"sr-only\" style=\"margin: -1px; font-family: inherit; line-height: normal; color: inherit; text-rendering: optimizelegibility; font-size: 18px; padding: 0px; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); border: 0px;\">Attachments</h3>\r\n            <ul id=\"attachments\" class=\"ible-files unstyled list-unstyled\" style=\"padding: 0px; margin: 0px auto; list-style: none; max-width: 800px; box-sizing: border-box;\">\r\n               <li class=\"file-info clearfix\" style=\"line-height: normal; position: relative; padding: 6px; margin: 4px 4px 4px 0px; border: 1px solid rgb(221, 221, 221); border-radius: 4px; background-color: #f9f9f9;\"><a class=\"thumb-wrapper\" href=\"https://content.instructables.com/ORIG/FFA/PJ7H/JG74UWNK/FFAPJ7HJG74UWNK.zip\" download=\"DeepSleepExample.zip\" style=\"color: #e86c00; text-decoration-line: none; overflow-wrap: break-word; word-break: break-word; hyphens: auto;\" target=\"_blank\"><span class=\"file-thumb\" style=\"width: 48px; height: 48px; display: inline-block; margin-right: 7px;\"><img class=\"tiny-img lazyloaded\" data-src=\"https://content.instructables.com/static/image/file.default.gif\" src=\"https://content.instructables.com/static/image/file.default.gif\" alt=\"download {{ file.name }}\" style=\"max-width: 100%; height: 48px; vertical-align: middle; border: 0px; background: none; width: 48px;\" /></span><span class=\"title\" style=\"color: #333333; font-size: 16px; font-weight: 700; vertical-align: middle; max-width: calc(100% - 180px); white-space: nowrap; overflow: hidden; display: inline-block; text-overflow: ellipsis;\">DeepSleepExample.zip</span></a>\r\n                  <div class=\"file-actions\" style=\"position: absolute; height: 60px; width: 400px; right: 0px; top: 0px; vertical-align: middle;\"><a href=\"https://content.instructables.com/ORIG/FFA/PJ7H/JG74UWNK/FFAPJ7HJG74UWNK.zip\" download=\"DeepSleepExample.zip\" class=\"btn pull-right\" style=\"color: #333333; text-decoration-line: none; display: inline-block; padding: 6px 12px; margin-bottom: 0px; line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; text-shadow: none; background-color: #f6f6f6; background-image: none; background-repeat: repeat-x; border: 1px solid rgb(222, 222, 222); border-radius: 4px; box-shadow: none; float: right; white-space: nowrap; overflow-wrap: break-word; word-break: break-word; hyphens: auto; position: relative; top: 30px; margin-top: -17px; margin-right: 8px; z-index: 0;\" target=\"_blank\">Download</a></div>\r\n                  </li>\r\n               </ul>\r\n            </div>\r\n         <div class=\"step-toolbar\" data-location=\"stepBody\" style=\"text-align: center; font-size: 15px; color: #555555;\"><button class=\"step-tip\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Add Tip</button><button class=\"step-question\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Ask Question</button><button class=\"step-comment\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-repeat: no-repeat; border-width: 0px; border-style: initial; border-color: initial; padding: 0px 0px 0px 32px; position: relative; width: auto;\">Comment</button><button class=\"svg-pdf step-download download-pdf login-required\" data-sourcea=\"course\" style=\"margin: 0px 10px; font-size: 14px; vertical-align: initial; line-height: 40px; appearance: button; cursor: pointer; font-weight: inherit; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; background-image: url(&quot;data:image/svg+xml,%3Csvg class=\'svg-icon pdf\' xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\'%3E%3Cpath fill=\'%23d50a0a\' d=\'M22.81 5.67l-3.95-3.95-.19-.19H7.06c-.64 0-1.16.53-1.16 1.17v5.79H1.66a.56.56 0 0 0-.56.56v8.1c0 .31.25.56.56.56H5.9v3.71c0 .64.52 1.17 1.17 1.17h14.77c.64 0 1.17-.52 1.17-1.17V5.86l-.2-.19zM4.26 13.79v1.9H3.07v-5.25c.37-.06.89-.11 1.63-.11.74 0 1.27.14 1.63.43.34.27.57.71.57 1.23s-.17','https://www.instructables.com/ESP32-Deep-Sleep-Tutorial/','',3,0,6,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-01-22 18:56:29',0,'2021-01-22 18:56:29','192.168.219.101','','','','','','','','','','','',''),(473,-473,'',473,0,0,'','','html1','[ETC] XL4005/XL4015 DC-DC Circuit','<div class=\"desc col-sm-6 col-md-6\" style=\"box-sizing: border-box; position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; float: left; width: 350px; color: #414042; font-family: Lato, sans-serif; font-size: 16px;\">\r\n   <h1 style=\"box-sizing: border-box; font-size: 32px; margin: 0px 0px 10px; font-family: Montserrat; font-weight: 400; line-height: 32px; color: #404041;\">XL4015 Power Supply Module – Secret Talks</h1>\r\n   <div class=\"author\" style=\"box-sizing: border-box; margin: 0px 0px 15px; font-size: 14px; text-transform: uppercase;\"><a href=\"https://www.electroschematics.com/author/hareendran/\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 2px solid rgb(85, 202, 226); position: relative; display: inline-block; overflow: hidden; z-index: 1; white-space: pre-line; vertical-align: middle;\" target=\"_blank\">T.K. HAREENDRAN</a></div>\r\n   <div class=\"col-md-12 no-padd\" style=\"box-sizing: border-box; position: relative; min-height: 1px; padding: 0px !important; float: left; width: 320px;\">\r\n      <div class=\"sharedaddy sd-sharing-enabled\" style=\"box-sizing: border-box; clear: both;\">\r\n         <div class=\"robots-nocontent sd-block sd-social sd-social-official sd-sharing\" style=\"box-sizing: border-box; margin-bottom: 1em;\">\r\n            <h3 class=\"sd-title\" style=\"box-sizing: border-box; font-family: &quot;Martel Sans&quot;, sans-serif; line-height: 1.2; color: #404041; margin: 30px 0px 10px; font-size: 20px; padding: 0px; display: inline-block;\">Share this:</h3>\r\n            <div class=\"sd-content\" style=\"box-sizing: border-box;\">\r\n               <ul data-sharing-events-added=\"true\" style=\"box-sizing: border-box; margin: 0px !important; padding: 0px !important; list-style: none !important; line-height: 25px !important;\">\r\n                  <li class=\"share-twitter\" style=\"box-sizing: border-box; display: block; margin: 0px 10px 5px 0px !important; padding: 0px; line-height: 25px !important; float: left; height: 25px;\"><iframe id=\"twitter-widget-0\" scrolling=\"no\" frameborder=\"0\" allowtransparency=\"true\" allowfullscreen=\"true\" class=\"twitter-share-button twitter-share-button-rendered twitter-tweet-button\" title=\"Twitter Tweet Button\" src=\"https://platform.twitter.com/widgets/tweet_button.96fd96193cc66c3e11d4c5e4c7c7ec97.en.html#dnt=false&amp;id=twitter-widget-0&amp;lang=en&amp;original_referer=https%3A%2F%2Fwww.electroschematics.com%2Fxl4015-power-supply-module-secret-talks%2F&amp;size=m&amp;text=XL4015%20Power%20Supply%20Module%20-%20Secret%20Talks&amp;time=1612705590450&amp;type=share&amp;url=https%3A%2F%2Fwww.electroschematics.com%2Fxl4015-power-supply-module-secret-talks%2F\" data-url=\"https://www.electroschematics.com/xl4015-power-supply-module-secret-talks/\" style=\"box-sizing: border-box; position: static; visibility: visible; width: 60px; height: 20px;\"></iframe></li>\r\n                  <li class=\"share-facebook\" style=\"box-sizing: border-box; display: block; margin: 0px 10px 5px 0px !important; padding: 0px; line-height: 25px !important; float: left; height: 25px;\">\r\n                     <div class=\"fb-share-button fb_iframe_widget\" data-href=\"https://www.electroschematics.com/xl4015-power-supply-module-secret-talks/\" data-layout=\"button_count\" fb-xfbml-state=\"rendered\" fb-iframe-plugin-query=\"app_id=264778010376278&amp;container_width=0&amp;href=https%3A%2F%2Fwww.electroschematics.com%2Fxl4015-power-supply-module-secret-talks%2F&amp;layout=button_count&amp;locale=en_US&amp;sdk=joey\" style=\"box-sizing: border-box; display: inline-block; position: relative;\"><span style=\"box-sizing: border-box; display: inline-block; position: relative; text-align: justify; vertical-align: bottom; width: 77px; height: 20px;\"><iframe name=\"f2f7400b9bf7ef8\" width=\"1000px\" height=\"1000px\" data-testid=\"fb:share_button Facebook Social Plugin\" title=\"fb:share_button Facebook Social Plugin\" frameborder=\"0\" allowtransparency=\"true\" allowfullscreen=\"true\" scrolling=\"no\" allow=\"encrypted-media\" src=\"https://www.facebook.com/v2.0/plugins/share_button.php?app_id=264778010376278&amp;channel=https%3A%2F%2Fstaticxx.facebook.com%2Fx%2Fconnect%2Fxd_arbiter%2F%3Fversion%3D46%23cb%3Df3a6bf0c9202be8%26domain%3Dwww.electroschematics.com%26origin%3Dhttps%253A%252F%252Fwww.electroschematics.com%252Ff11942cc540cdc%26relation%3Dparent.parent&amp;container_width=0&amp;href=https%3A%2F%2Fwww.electroschematics.com%2Fxl4015-power-supply-module-secret-talks%2F&amp;layout=button_count&amp;locale=en_US&amp;sdk=joey\" class=\"\" style=\"box-sizing: border-box; position: absolute; border-width: initial; border-style: none; visibility: visible; width: 77px; height: 20px;\"></iframe></span></div>\r\n                     </li>\r\n                  <li class=\"share-linkedin\" style=\"box-sizing: border-box; display: block; margin: 0px 10px 5px 0px !important; padding: 0px; line-height: 25px !important; float: left; height: 25px;\">\r\n                     <div class=\"linkedin_button\" style=\"box-sizing: border-box;\"><span class=\"IN-widget\" data-lnkd-debug=\"<script type=&quot;in/share+init&quot; data-url=&quot;https://www.electroschematics.com/xl4015-power-supply-module-secret-talks/&quot; data-counter=&quot;right&quot;></script>\" style=\"box-sizing: border-box; margin: 0px; display: inline-block; line-height: 1; vertical-align: bottom; padding: 0px; text-align: center;\"><span style=\"box-sizing: border-box; padding: 0px !important; margin: 0px !important; display: inline-block !important; vertical-align: bottom !important; font-size: 1px !important;\"><button class=\"IN-6d5494f8-69f0-4a9d-8c6b-3e3c3eb1b33b-1G9ISYhSF8XoOmdcl0yKDu\" style=\"font-style: inherit; font-variant: inherit; font-stretch: inherit; margin: 0px; appearance: button; color: #ffffff !important; font-weight: 600 !important; font-size: 11px !important; line-height: 20px !important; font-family: -apple-system, system-ui, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Fira Sans&quot;, Ubuntu, Oxygen, &quot;Oxygen Sans&quot;, Cantarell, &quot;Droid Sans&quot;, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Lucida Grande&quot;, Helvetica, Arial, sans-serif !important; overflow: hidden !important; cursor: pointer !important; background-color: #0073b1 !important; border-width: 0px !important; border-style: initial !important; border-color: initial !important; border-radius: 2px !important; outline-width: 2px !important; position: relative !important; vertical-align: middle !important; white-space: nowrap !important; height: 20px !important; padding: 0px 7px !important;\"><xdoor-icon aria-hidden=\"true\" style=\"box-sizing: border-box; display: inline-block !important; height: 20px; vertical-align: top !important; margin-left: -7px !important; margin-right: 3.5px !important;\"><svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" x=\"0\" y=\"0\" preserveAspectRatio=\"xMinYMin meet\"><g style=\"fill: currentColor\"><rect x=\"-0.003\" style=\"fill:none;\" width=\"24\" height=\"24\"></rect><path d=\"M20,2h-16c-1.1,0-2,0.9-2,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2zM8,19h-3v-9h3V19zM6.5,8.8C5.5,8.8,4.7,8,4.7,7s0.8-1.8,1.8-1.8S8.3,6,8.3,7S7.5,8.8,6.5,8.8zM19,19h-3v-4c0-1.4-0.6-2-1.5-2c-1.1,0-1.5,0.8-1.5,2.2V19h-3v-9h2.9v1.1c0.5-0.7,1.4-1.3,2.6-1.3c2.3,0,3.5,1.1,3.5,3.7V19z\"></path></g></svg></xdoor-icon>Share</button></span></span></div>\r\n                     </li>\r\n                  <li style=\"box-sizing: border-box; display: block; margin: 0px 10px 5px 0px !important; padding: 0px; line-height: 25px !important; float: left; height: 25px;\"><a href=\"https://www.electroschematics.com/xl4015-power-supply-module-secret-talks/#\" class=\"sharing-anchor sd-button share-more\" style=\"box-sizing: border-box; background: rgb(248, 248, 248); outline: none; display: inline-block; font-size: 12px; font-family: &quot;Open Sans&quot;, sans-serif; border-radius: 3px; border: 1px solid rgb(204, 204, 204); box-shadow: none; text-shadow: none; line-height: 17px; padding: 1px 8px 0px 5px; position: relative; top: 0px; vertical-align: top; color: #656565 !important; text-decoration-line: none !important;\" target=\"_blank\"><span style=\"box-sizing: border-box; line-height: 1; margin-left: 3px;\">More</span></a></li>\r\n                  <li class=\"share-end\" style=\"box-sizing: border-box; display: block; margin: 0px 10px 5px 0px !important; padding: 0px; line-height: 25px !important; float: left; height: 25px;\"></li>\r\n                  </ul>\r\n               <div class=\"sharing-hidden\" style=\"box-sizing: border-box;\">&nbsp;</div>\r\n               </div>\r\n            </div>\r\n         </div>\r\n      </div>\r\n   </div>\r\n<div class=\"clear-b\" style=\"box-sizing: border-box; clear: both; color: #414042; font-family: Lato, sans-serif; font-size: 16px;\">&nbsp;</div>\r\n<div class=\"main-wrap\" style=\"box-sizing: border-box; color: #414042; font-family: Lato, sans-serif; font-size: 16px;\">\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">This is a succinct account of my experience with the cheap electronic power supply module from China, “DC-DC Module 5-A/7-W (ERPC0575DC) XL4015.” I have used quite a few over the years and have to say that these types of modules are great for hobbyists and makers. Here is the module I have tried, but don’t take this information for granted. There are countless suppliers and very high variance with most modules, not to mention some room for user misplay!<br style=\"box-sizing: border-box;\" /><span id=\"more-13149\" style=\"box-sizing: border-box;\"></span></p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><a href=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-1.png?resize=497%2C335\" rel=\"lightbox[13149]\" class=\"image-cont\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 0px; position: static; display: inline; overflow: visible; z-index: 1; vertical-align: baseline; font-size: 14px; font-weight: 700; word-break: break-all;\" target=\"_blank\"><img loading=\"eager\" src=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-1.png?resize=497%2C335\" alt=\"XLPSM-1\" width=\"497\" class=\"aligncenter size-full wp-image-13150 jetpack-lazy-image jetpack-lazy-image--handled\" data-recalc-dims=\"1\" srcset=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-1.png?resize=497%2C335?w=497 497w, https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-1.png?resize=497%2C335?w=100 100w, https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-1.png?resize=497%2C335?w=400 400w\" data-lazy-loaded=\"1\" sizes=\"(max-width: 497px) 100vw, 497px\" style=\"box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; clear: both; margin: 15px auto; display: block;\" /></a></p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">I chose this module because it had an output rating of up to 5 A, more than the cheaper versions that we see online. It also included an on-board digital voltmeter with an option to show either input or output voltages. At first sight, I thought that this was a digitally controllable power supply with +/– buttons to adjust the output voltage as required. It was a misconception as it is, in fact, a 180-KHz fixed-frequency PWM buck (step-down) dc/dc module capable of driving a 5-A load with high efficiency, low ripple, and excellent line and load regulation. A multi-turn potentiometer is included for output voltage adjustment. The digital voltmeter simply displays the current input or output voltage (it can also be calibrated for accuracy).</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">The output voltage is adjustable from 1.25 to 35 V from an input of 4 to 38 V. Note that the input voltage must be at least 1.5 V higher than the required output voltage.</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><a href=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-2.png\" rel=\"lightbox[13149]\" class=\"image-cont\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 0px; position: static; display: inline; overflow: visible; z-index: 1; vertical-align: baseline; font-size: 14px; font-weight: 700; word-break: break-all;\" target=\"_blank\"><img loading=\"eager\" src=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-2.png?resize=550%2C412\" alt=\"XLPSM-2\" width=\"550\" class=\"aligncenter size-large wp-image-13151 jetpack-lazy-image jetpack-lazy-image--handled\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" style=\"box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; clear: both; margin: 15px auto; display: block;\" /></a></p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">The module is available as a pre-populated board and requires zero soldering — it comes ready to go out of the box. Also, there’s an extra heatsink for the XL4015 chip included with it. Major components in the module are showed in the following figure:</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><a href=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-3.png\" rel=\"lightbox[13149]\" class=\"image-cont\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 0px; position: static; display: inline; overflow: visible; z-index: 1; vertical-align: baseline; font-size: 14px; font-weight: 700; word-break: break-all;\" target=\"_blank\"><img loading=\"eager\" src=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-3.png?resize=550%2C227\" alt=\"XLPSM-3\" width=\"550\" class=\"aligncenter size-large wp-image-13152 jetpack-lazy-image jetpack-lazy-image--handled\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" style=\"box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; clear: both; margin: 15px auto; display: block;\" /></a></p>\r\n   <ul style=\"box-sizing: border-box; margin-top: 0px; margin-bottom: 10px;\">\r\n      <li style=\"box-sizing: border-box;\"><a href=\"https://www.eleparts.co.kr/goods/view?no=6564485\" target=\"_blank\">XL4015: DC/ DC 180-KHz Buck Converter, 5 A/36 V &gt;&gt; LINK</a></li>\r\n      <li style=\"box-sizing: border-box;\"><a href=\"https://www.eleparts.co.kr/goods/view?no=9375509\" target=\"_blank\">M7: SMD version of 1N400x Diode (used here for circuit protection) &gt;&gt; LINK</a></li>\r\n      <li style=\"box-sizing: border-box;\">HSN3631AS: Numeric Three-Digit LED Display, Red</li>\r\n      <li style=\"box-sizing: border-box;\"><a href=\"https://www.eleparts.co.kr/goods/view?no=6563091\" target=\"_blank\">LM317: Adjustable Voltage Regulator (used here as the dvm power supply) &gt;&gt; LINK</a></li>\r\n      <li style=\"box-sizing: border-box;\"><a href=\"https://www.eleparts.co.kr/goods/view?no=9243442\" target=\"_blank\">SS54: Schottky Diode 40 V/5 A &gt;&gt; LINK</a></li>\r\n      <li style=\"box-sizing: border-box;\"><a href=\"https://smartstore.naver.com/eduino/products/4526410292?NaPm=ct%3Dkkv7hiuw%7Cci%3D43f1052398524413cabdc7077ff3264a6023f557%7Ctr%3Dslsl%7Csn%3D451367%7Chk%3D50e2d1844417249c22f857c1f31ced1167e8e70f\" target=\"_blank\">47uH/5A: Power Inductor &gt;&gt; LINK</a></li>\r\n      <li style=\"box-sizing: border-box;\">50K MT: Multi-Turn Preset Potentiometer 50K</li>\r\n      </ul>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">In addition to this, there is a small microcontroller in the digital voltmeter circuit (my teardown article will be published in the near future). It’s most likely an 8-bit MCU from STMicroelectronics or Holtek.</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><span style=\"box-sizing: border-box; font-weight: 700; font-family: &quot;Martel Sans&quot;, arial; font-size: 20px; margin-top: 30px;\">Setup Guide</span></p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><a href=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-4.png\" rel=\"lightbox[13149]\" class=\"image-cont\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 0px; position: static; display: inline; overflow: visible; z-index: 1; vertical-align: baseline; font-size: 14px; font-weight: 700; word-break: break-all;\" target=\"_blank\"><img loading=\"eager\" src=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-4.png?resize=550%2C298\" alt=\"XLPSM-4\" width=\"550\" class=\"aligncenter size-large wp-image-13153 jetpack-lazy-image jetpack-lazy-image--handled\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" style=\"box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; clear: both; margin: 15px auto; display: block;\" /></a></p>\r\n   <ul style=\"box-sizing: border-box; margin-top: 0px; margin-bottom: 10px;\">\r\n      <li style=\"box-sizing: border-box;\">Power up the module with a stable and accurate dc power supply (such as a regulated 6-V power supply). Then short-press the button on the right side to select which one you need to adjust (input or output). Long-pressing the button on the right side (holding it for &gt;2 s) makes the module enter calibration mode. After releasing the button, the related LED will blink to indicate which voltage is now calibrating, and the numeric display will blink with the present value.</li>\r\n      <li style=\"box-sizing: border-box;\">Short-press the button to change the present value. For example, if your power supply is 6 V but the result of voltage meter is 5.8 V, you need to set the value to 6 V.</li>\r\n      <li style=\"box-sizing: border-box;\">Short-press the button on the right side to increase the voltage by one unit. Short-press the button on the left side to reduce the voltage by one unit.</li>\r\n      <li style=\"box-sizing: border-box;\">Long-press button on the right side to store the redressed value.</li>\r\n      <li style=\"box-sizing: border-box;\">The preset pot sets the actual output voltage. Calibrate the output voltage reading on the digital voltmeter in the same way above. For example, if your actual output is 3 V but the result on the voltmeter is 4 V, you need to set the value to 3 V. The redressed value will be stored in the non-volatile memory of the module.</li>\r\n      </ul>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">Remember, if you are facing difficulties in the calibration process for the first time, just turn the preset pot counterclockwise for 10 rotations as the default output voltage (factory preset) is around 20 V. Also attach the heatsink that comes with the module if you are a power user!</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\"><a href=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-5.png\" rel=\"lightbox[13149]\" class=\"image-cont\" style=\"box-sizing: border-box; color: #404041; text-decoration-line: none; outline: none; border-bottom: 0px; position: static; display: inline; overflow: visible; z-index: 1; vertical-align: baseline; font-size: 14px; font-weight: 700; word-break: break-all;\" target=\"_blank\"><img loading=\"eager\" src=\"https://www.electroschematics.com/wp-content/uploads/2017/04/XLPSM-5.png?resize=550%2C294\" alt=\"XLPSM-5\" width=\"550\" class=\"aligncenter size-large wp-image-13154 jetpack-lazy-image jetpack-lazy-image--handled\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" style=\"box-sizing: border-box; border: 0px; vertical-align: middle; max-width: 100%; height: auto; clear: both; margin: 15px auto; display: block;\" /></a></p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">This is absolutely a good device, but without access to a plentiful supply of these modules, it is hard to say if there are any unseen anomalies in the design itself or if the modules contain bad parts. Anyway, I prefer a multi-turn potentiometer (with a long shaft) in lieu of the nasty preset pot for the sake of user convenience.</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">--------------------------------------------------------------------------------------------</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">VOUT = 1.25 * (1 + R2 / R1)</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">&gt; 5.03V ---&gt; R2=10k, R1=3.3k</p>\r\n   <p style=\"box-sizing: border-box; margin-bottom: 10px; font-family: Martel, serif;\">&nbsp;</p>\r\n   </div>','https://www.electroschematics.com/xl4015-power-supply-module-secret-talks/','',2,0,6,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-02-07 22:49:14',0,'2021-02-07 22:49:14','192.168.219.101','','','','','','','','','','','',''),(474,-474,'',474,0,0,'','','html1','[Arduino] 아두이노 로라 통신하기','<p>&nbsp;https://blog.naver.com/gss3695/221572865899</p>','https://blog.naver.com/gss3695/221572865899','',1,0,3,0,0,'admin','*B9FF5DF52BD3C5F13EA3D506E09A21D17ECF6557','최고관리자','bk94005@naver.com','','2021-02-17 11:13:36',1,'2021-02-17 11:13:36','210.101.103.92','','','','','','','','','','','',''),