<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>program1472 &amp;gt; 자료실 &amp;gt; 전기/전자</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10</link>
<language>ko</language>
<description>전기/전자 (2024-07-20 20:10:18)</description>

<item>
<title>[아두이노] 웹페이지에서 ESP8266으로 데이터 전송 및 LED 제어하는 방법</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=10</link>
<description><![CDATA[<div></div><div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>웹 인터페이스를 통해 ESP8266으로 데이터를 제어하고 상태 확인 및 LED 제어하는 간단한 예제</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>​</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<blockquote>

<div>

<p style="text-align:center;"><span>소개</span></p>

</div>

</blockquote>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>이 포스트에서는 ESP8266(WiFi 모듈) 을 사용하여 웹페이지에서 데이터를 전송하고, 이를 시리얼 모니터를 통해 확인하는 방법을 설명합니다.ESP8266은 IoT 프로젝트에서 널리 사용되며, 웹 기반 제어는 매우 유용한 기능입니다.</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>​</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<blockquote>

<div>

<p style="text-align:center;"><span>준비물</span></p>

</div>

</blockquote>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<ul style="list-style-type:disc;"><li style="list-style-type:inherit;"><span>ESP8266 모듈: WiFi를 지원하는 ESP8266 모듈(예: NodeMCU)</span></li>

</ul><p><span>                     알리에서 "</span><span><a style="color:#608cba;" href="https://ko.aliexpress.com/item/1005005977505151.html" rel="nofollow">ESP8266 ESP-12E NodeMcu</a></span><span>" 를 하나 구입했습니다. </span></p>

</div>

</div>

</div>

</div>

<div style="background-color:rgb(255,255,255);text-align:left;">

<div>

<div>

<div><div style="text-align:center;" align="center"><img src="../../../data/editor/2407/aa310db8dd2f3dd5786d0bf7388c0fd7_1721473655_2684.png" title="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473655_2684.png" style="color:rgb(138,131,126);" alt="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473655_2684.png" /></div><div style="text-align:center;" align="center"><font color="#8a837e"><br /></font></div></div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<ul style="list-style-type:disc;"><li style="list-style-type:inherit;"><span>Arduino IDE: ESP8266을 프로그래밍할 수 있는 Arduino IDE</span></li>

</ul><p><span> <span style="background-color:#ffffff;color:#8a837e;text-align:left;">                     </span> </span><span><a style="color:#608cba;" href="https://www.arduino.cc/en/software" rel="nofollow">아두이노 IDE</a></span><span> 를 다운받아 설치합니다. </span></p>

<ul style="list-style-type:disc;"><li style="list-style-type:inherit;"><span>시리얼 모니터: ESP8266에서 시리얼 통신을 통해 데이터를 확인할 수 있는 환경</span></li>

<li style="list-style-type:inherit;"><span><a style="color:#608cba;" href="https://d7.serctl.com/downloads8/2024-06-07-23-40-09-Arduino-esp8266-3.1.2.zip" rel="nofollow">esp8266-3.1.2.zip</a></span><span>을 다운받아 압축을 풀고 필요한 라이브러리를 아두이노 라이브러리 폴더에 넣어줍니다.</span></li>

</ul><p><span>​</span></p>

<p><span>​</span></p>

<p><span>​</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>프로그래밍:</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>웹에서 검색해가면서 아두이노에서 프로그래밍을 했습니다.</span></p><div style="text-align:center;" align="center"><img src="../../../data/editor/2407/aa310db8dd2f3dd5786d0bf7388c0fd7_1721473759_8259.png" title="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473759_8259.png" alt="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473759_8259.png" /></div><span><br /></span>

<p><span>아래는 아두이노 전체 소스코드 입니다.</span></p>

</div>

</div>

</div>

</div>

<pre class="cpp"><code>/* ip로 접속 버튼 핸들링 */

#include &lt;ESP8266WiFi.h&gt;

#include &lt;ESP8266WebServer.h&gt;



const char* ssid = "와이파이명";

const char* password = "와이파이비밀번호";

const int ledPin =  2;

boolean bLED = false; 



// Create an instance of the server

// specify the port to listen on as an argument

ESP8266WebServer server(800);    // 일반적인 웹포트는 80입니다.



void handleRoot() {

  String html = "&lt;!DOCTYPE html&gt;&lt;html lang='ko'&gt;&lt;head&gt;&lt;meta http-equiv='content-type' content='text/html; charset=UTF-8'&gt;&lt;title&gt;ESP8266 :: WebServer&lt;/title&gt;&lt;script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'&gt;&lt;/script&gt;&lt;link rel='stylesheet' type='text/css' href='../../../Arduino/main.css'&gt;&lt;/head&gt;&lt;body&gt;&lt;script type='text/javascript' src='http://code.jquery.com/jquery-3.5.1.min.js'&gt;&lt;/script&gt;&lt;div class='container'&gt;&lt;div class='inner'&gt;&lt;div class='content'&gt;&lt;form id='join_form' class='form btn_fixed' action='/api' method='POST'&gt;&lt;div class='form_content'&gt;&lt;div class='form_section'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input type='checkbox' id='chk_all' name='chk_all' class='blind' checked='checked'&gt;&lt;label for='chk_all'&gt;&lt;span class='text check_all'&gt;전체 켜기&lt;/span&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul class='terms_list'&gt;&lt;li class='terms_item'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input type='checkbox' id='d_1' class='blind' checked='checked'&gt;&lt;label for='d_1'&gt;&lt;em class='option point'&gt;Device 1&lt;/em&gt;&lt;div class='text_wrap'&gt;&lt;span class='text'&gt;Device 1&lt;/span&gt;&lt;/div&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class='terms_item'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input id='d_2' name='d_2' type='checkbox' checked='checked'&gt;&lt;label for='d_2'&gt;&lt;em class='option point'&gt;Device 2&lt;/em&gt;&lt;div class='text_wrap'&gt;&lt;span class='text'&gt;Device 2&lt;/span&gt;&lt;/div&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class='terms_item'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input type='checkbox' id='d_3' name='d_3' checked='checked'&gt;&lt;label for='d_3'&gt;&lt;em class='option'&gt;Device 3&lt;/em&gt;&lt;span class='text'&gt;Device 3&lt;/span&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class='terms_item'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input type='checkbox' id='d_4' name='d_4' checked='checked'&gt;&lt;label for='d_4'&gt;&lt;em class='option'&gt;Device 4&lt;/em&gt;&lt;div class='text_wrap'&gt;&lt;span class='text'&gt;Device 4&lt;/span&gt;&lt;/div&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class='terms_item'&gt;&lt;div class='check_terms'&gt;&lt;div class='check_wrap'&gt;&lt;input type='checkbox' id='d_5' name='d_5' checked='checked'&gt;&lt;label for='d_5'&gt;&lt;em class='option'&gt;Device 5&lt;/em&gt;&lt;div class='text_wrap'&gt;&lt;span class='text'&gt;Device 5&lt;/span&gt;&lt;/div&gt;&lt;/label&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class='btn_submit_wrap'&gt;&lt;button type='button' id='submit' class='btn_submit'&gt;적용&lt;/button&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;p id='message'&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;script src='../../../Arduino/main.js'&gt;&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;";



  server.send(200, "text/html", html);

}



void handleSubmit() {

  String message = "Hello from ESP8266!";

  message += "\nPOST variables:\n";



  if (server.hasArg("d_1") &amp;&amp; server.hasArg("d_2")) {

    String d_1 = server.arg("d_1");

    String d_2 = server.arg("d_2");

    if (d_1 == "on") {

      bLED = true;

      digitalWrite(ledPin, LOW);  // LED 켜기

      Serial.println("LED is ON");

    } else if (d_1 == "off") {

      bLED = false;

      digitalWrite(ledPin, HIGH); // LED 끄기

      Serial.println("LED is OFF");

   }

    message += "d_1: " + d_1 + ", d_2: " + d_2 + "\n";

  } else {

    message += "No POST data received\n";

  }



  server.send(200, "text/plain", message);

}



void setup() {

  pinMode(ledPin, OUTPUT);

  Serial.begin(115200);

  delay(100);



  // WiFi 연결

  Serial.print("Connecting to ");

  Serial.println(ssid);

  WiFi.begin(ssid, password);



  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }



  Serial.println("");

  Serial.println("WiFi connected");

  Serial.print("IP address: ");

  Serial.println(WiFi.localIP());



  // 핸들러 등록

  server.on("/", HTTP_GET, handleRoot);    // 루트 페이지 처리

  server.on("/api", HTTP_POST, handleSubmit); // POST 처리



  // 웹 서버 시작

  server.begin();

  Serial.println("HTTP server started");

}



void loop() {

  // 클라이언트 요청 처리

  server.handleClient();



  // 시리얼 데이터 수신 처리

  if (Serial.available() &gt;= 4) {

    // 시리얼에서 4바이트 읽기

    byte data[4];

    for (int i = 0; i &lt; 4; i++) {

      data[i] = Serial.read();

    }



    // 데이터 확인 및 처리

    if (data[0] == 241 &amp;&amp; data[1] == 123 &amp;&amp; data[3] == 242) {

      if (data[2] == 1) {

        bLED = true;

        digitalWrite(ledPin, LOW);  // LED 켜기

        Serial.println("Received: 241,123,1,242 - LED is ON");

      } else if (data[2] == 0) {

        bLED = false;

        digitalWrite(ledPin, HIGH); // LED 끄기

        Serial.println("Received: 241,123,0,242 - LED is OFF");

      }

    }

  }

}</code></pre>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div style="background-color:#272822;color:#f8f8f2;">

<div>

<div style="background-color:#000000;color:#ffffff;text-align:left;"> </div>

</div>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>​</span></p>

<p><span>html 코드:</span></p>

<p><span>일부 자바스크립트와 css 는 제 웹서버에 두고 ESP8266 에 접속하면 제 웹서버에서 로딩 하도록 했습니다.</span></p>

<p><span><a href="../../../Arduino/">../../../Arduino/</a></span></p>

</div>

</div>

</div>

</div>

<pre class="html xml"><code>&lt;!DOCTYPE html&gt;

&lt;html lang="ko"&gt;



&lt;head&gt;

    &lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;

    &lt;title&gt;ESP8266 :: WebServer&lt;/title&gt;

    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt;

    &lt;link rel="stylesheet" type="text/css" href="../../../Arduino/main.css"&gt;

&lt;/head&gt;



&lt;body&gt;

    &lt;script type="text/javascript" src="http://code.jquery.com/jquery-3.5.1.min.js"&gt;&lt;/script&gt;

    &lt;div class="container"&gt;

        &lt;div class="inner"&gt;

            &lt;div class="content"&gt;

                &lt;form id="join_form" class="form btn_fixed" action="/api" method="POST"&gt;

                    &lt;div class="form_content"&gt;

                        &lt;div class="form_section"&gt;

                            &lt;div class="check_terms"&gt;

                                &lt;div class="check_wrap"&gt;&lt;input type="checkbox" id="chk_all" name="chk_all" class="blind" checked="checked"&gt;&lt;label for="chk_all"&gt;&lt;span class="text check_all"&gt;전체 켜기&lt;/span&gt;&lt;/label&gt;&lt;/div&gt;

                            &lt;/div&gt;

                            &lt;ul class="terms_list"&gt;

                                &lt;li class="terms_item"&gt;

                                    &lt;div class="check_terms"&gt;

                                        &lt;div class="check_wrap"&gt;&lt;input type="checkbox" id="d_1" class="blind" checked="checked"&gt;&lt;label for="d_1"&gt;&lt;em class="option point"&gt;Device 1&lt;/em&gt;

                                                &lt;div class="text_wrap"&gt;&lt;span class="text"&gt;Device 1&lt;/span&gt;&lt;/div&gt;

                                            &lt;/label&gt;&lt;/div&gt;

                                    &lt;/div&gt;

                                &lt;/li&gt;

                                &lt;li class="terms_item"&gt;

                                    &lt;div class="check_terms"&gt;

                                        &lt;div class="check_wrap"&gt;&lt;input id="d_2" name="d_2" type="checkbox" checked="checked"&gt;&lt;label for="d_2"&gt;&lt;em class="option point"&gt;Device 2&lt;/em&gt;

                                                &lt;div class="text_wrap"&gt;&lt;span class="text"&gt;Device 2&lt;/span&gt;&lt;/div&gt;

                                            &lt;/label&gt;&lt;/div&gt;

                                    &lt;/div&gt;

                                &lt;/li&gt;

                                &lt;li class="terms_item"&gt;

                                    &lt;div class="check_terms"&gt;

                                        &lt;div class="check_wrap"&gt;&lt;input type="checkbox" id="d_3" name="d_3" checked="checked"&gt;&lt;label for="d_3"&gt;&lt;em class="option"&gt;Device 3&lt;/em&gt;&lt;span class="text"&gt;Device 3&lt;/span&gt;&lt;/label&gt;&lt;/div&gt;

                                    &lt;/div&gt;

                                &lt;/li&gt;

                                &lt;li class="terms_item"&gt;

                                    &lt;div class="check_terms"&gt;

                                        &lt;div class="check_wrap"&gt;&lt;input type="checkbox" id="d_4" name="d_4" checked="checked"&gt;&lt;label for="d_4"&gt;&lt;em class="option"&gt;Device 4&lt;/em&gt;

                                                &lt;div class="text_wrap"&gt;&lt;span class="text"&gt;Device 4&lt;/span&gt;&lt;/div&gt;

                                            &lt;/label&gt;&lt;/div&gt;

                                    &lt;/div&gt;

                                &lt;/li&gt;

                                &lt;li class="terms_item"&gt;

                                    &lt;div class="check_terms"&gt;

                                        &lt;div class="check_wrap"&gt;&lt;input type="checkbox" id="d_5" name="d_5" checked="checked"&gt;&lt;label for="d_5"&gt;&lt;em class="option"&gt;Device 5&lt;/em&gt;

                                                &lt;div class="text_wrap"&gt;&lt;span class="text"&gt;Device 5&lt;/span&gt;&lt;/div&gt;

                                            &lt;/label&gt;&lt;/div&gt;

                                    &lt;/div&gt;

                                &lt;/li&gt;

                            &lt;/ul&gt;

                        &lt;/div&gt;

                    &lt;/div&gt;

                    &lt;div class="btn_submit_wrap"&gt;&lt;button type="button" id="submit" class="btn_submit"&gt;적용&lt;/button&gt;&lt;/div&gt;

                &lt;/form&gt;

            &lt;/div&gt;

            &lt;p id="message"&gt;&lt;/p&gt;

        &lt;/div&gt;

    &lt;/div&gt;

    &lt;script src="../../../Arduino/main.js"&gt;&lt;/script&gt;

&lt;/body&gt;



&lt;/html&gt;</code></pre>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span><a href="https://program1472.com/Arduino/main.js" rel="nofollow">https://program1472.com/Arduino/main.js</a></span></p>

</div>

</div>

</div>

</div>

<pre class="javascript"><code>$('#chk_all').click(function(event) {

    if (this.checked) {

        $(':checkbox').each(function() {

            this.checked = true;

        });

    } else {

        $(':checkbox').each(function() {

            this.checked = false;

        });

    }

});





$(document).ready(function() {

    $('#submit').click(function() { //submit 버튼을 클릭하였을 때

        sendCheckboxData(); // 

    });



    $('input[type=checkbox]').click(function(event) {

        sendCheckboxData(); // 

    });



    // 체크박스 데이터 전송 함수 정의

    function sendCheckboxData() {

        // 체크된 체크박스들의 id와 값을 배열에 담기

        let checkboxes = $('input[type=checkbox]').map(function() {

            let id = $(this).attr('id');

            let value = $(this).prop('checked') ? 'on' : 'off';

            return id + '=' + value;

        }).get();



        // 배열을 문자열로 변환하여 sendData에 담기

        let sendData = checkboxes.join('&amp;');



        $.ajax({

            type: 'post', //post 방식으로 전송

            url: '/api', //데이터를 주고받을 파일 주소

            data: sendData, //위의 변수에 담긴 데이터를 전송해준다.

            dataType: 'html', //html 파일 형식으로 값을 담아온다.

            success: function(data) { //파일 주고받기가 성공했을 경우. data 변수 안에 값을 담아온다.

                $('#message').html(data); //현재 화면 위 id="message" 영역 안에 data안에 담긴 html 코드를 넣어준다. 

            }

        });

    }



});</code></pre>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span><a href="https://program1472.com/Arduino/main.css" rel="nofollow">https://program1472.com/Arduino/main.css</a></span></p>

<p><span>&lt;소스코드 생략&gt;</span></p>

<p><span>​</span></p>

<p><span>ESP8266 에 접속해서 테스트 해봤습니다</span></p>

<p><span>시리얼로 에코찍어서 상태도 확인했습니다.</span></p><p><span><br /></span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div><div style="text-align:center;" align="center"><img src="../../../data/editor/2407/aa310db8dd2f3dd5786d0bf7388c0fd7_1721473711_3671.png" title="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473711_3671.png" alt="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473711_3671.png" /></div><div style="text-align:center;" align="center"><br /></div><div style="text-align:center;" align="center"><img src="../../../data/editor/2407/aa310db8dd2f3dd5786d0bf7388c0fd7_1721473710_806.png" title="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473710_806.png" alt="aa310db8dd2f3dd5786d0bf7388c0fd7_1721473710_806.png" /></div><br /></div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div><br /></div>

<div>

<p style="text-align:center;"><span style="color:#555555;">역시 동작 잘 합니다</span></p>

</div>

</div>

</div>

</div>

<div style="background-color:#ffffff;color:#8a837e;text-align:left;">

<div>

<div>

<div>

<p><span>​</span><span></span></p>

</div>

</div>

</div>

<iframe src="https://play-tv.kakao.com/embed/player/cliplink/448275269?service=daum_tistory" width="860" height="484" frameborder="0"></iframe>

<p> </p>

</div>

<p> </p>

<iframe src="https://play-tv.kakao.com/embed/player/cliplink/448275272?service=daum_tistory" width="860" height="484" frameborder="0"></iframe>

<p> </p><div></div>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2024-07-20T20:10:18+09:00</dc:date>
</item>


<item>
<title>아두이노의 하드웨어 시리얼 버퍼 크기 늘리기</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=9</link>
<description><![CDATA[<div></div><br /><div style="text-align:center;" align="center"><img src="../../../data/editor/2407/ebc5722a48991ee4692cc57eb041287c_1720733706_9121.png" title="ebc5722a48991ee4692cc57eb041287c_1720733706_9121.png" alt="ebc5722a48991ee4692cc57eb041287c_1720733706_9121.png" /></div><div style="text-align:center;" align="center"><br /></div><div style="text-align:left;" align="left"><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="font-size:18pt;">아두이노의 하드웨어 시리얼 버퍼 크기 늘리기</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="font-size:11pt;">강의 목표</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">이 강의는 아두이노의 하드웨어 시리얼 버퍼 크기를 늘려서 한 번에 더 많은 데이터를 처리하는 방법을 학습하는 것을 목표로 합니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">1.</span><span style="font-size:11pt;"> 시리얼 버퍼란?</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">시리얼 통신에서 데이터를 임시로 저장하는 버퍼(Buffer)는 매우 중요합니다. 버퍼는 데이터가 전송되고 수신되는 속도가 다를 때 이를 조절하는 역할을 합니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">2.</span><span style="font-size:11pt;"> 기본적인 시리얼 버퍼 크기</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">아두이노의 경우, 시리얼 버퍼의 크기에 따라 한 번에 수신할 수 있는 데이터의 최대 크기가 제한될 수 있습니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">일반적으로 아두이노 UNO 또는 비슷한 보드의 경우 기본적으로 64바이트의 시리얼 버퍼를 가지고 있습니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">이는 HardwareSerial.h 파일에서 <span style="color:#63a35c;">"#define SERIAL_TX_BUFFER_SIZE 64"</span>, <span style="color:#63a35c;">"#define SERIAL_RX_BUFFER_SIZE 64"</span>로 정의되어 있습니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;">따라서 아두이노 보드가 한 번에 처리할 수 있는 최대 데이터 크기는 64바이트입니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">만약 한 번에 더 많은 데이터를 받으려면 다음과 같은 방법들을 고려할 수 있습니다:</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><ul><li>분할 송신 및 수신: 데이터를 여러 패킷으로 나누어 전송하고, 아두이노에서도 여러 번에 걸쳐 받아 처리합니다. 이 경우 각 패킷에 시퀀스 번호를 부여하여 데이터의 순서를 유지할 수 있습니다.</li><li>데이터 처리 지연: 시리얼 버퍼가 한 번에 수용할 수 있는 데이터 크기를 초과하는 경우, 데이터를 받는 속도를 조절하거나, 일시적으로 데이터를 저장하여 다음 수신을 기다릴 수 있는 방법을 고려할 수 있습니다.</li><li>외부 메모리 사용: 외부 메모리 장치(예: SD 카드 등)를 사용하여 데이터를 저장하고 처리할 수도 있습니다. 이 방법은 대용량 데이터를 다룰 때 유용할 수 있습니다.</li><li>다른 하드웨어 선택: 대용량 데이터를 더 효율적으로 처리할 수 있는 다른 마이크로컨트롤러나 하드웨어 플랫폼을 선택하는 것도 고려할 수 있습니다.</li></ul></div><div style="padding:0 6px;white-space:pre;line-height:130%;">따라서 아두이노에서 한 번에 처리할 수 있는 데이터 크기는 시리얼 버퍼의 크기에 따라 제한될 수 있지만, </div><div style="padding:0 6px;white-space:pre;line-height:130%;">위와 같은 방법들을 사용하여 데이터의 처리를 보다 효율적으로 관리할 수 있습니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">3.</span><span style="font-size:11pt;"> 시리얼 버퍼 크기를 늘리는 방법</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">아두이노의 하드웨어 시리얼 버퍼 크기를 늘리는 방법은 여러 가지가 있습니다:</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><ul><li>하드웨어 수정: 일부 아두이노 보드에서는 직접 하드웨어적인 방법으로 버퍼 크기를 늘릴 수 있는 경우가 있습니다. 이는 회로 설계 및 보드의 제조자에 따라 다를 수 있습니다.</li><li>소프트웨어적 접근: 소프트웨어적으로 버퍼를 관리하고, 데이터의 처리 속도를 조절하는 방법도 있습니다. 예를 들어, 수신 데이터를 버퍼에 일시적으로 저장하고, 처리가 완료될 때까지 대기하는 방법입니다.</li><li>HardwareSerial.h 파일 수정: 아두이노 라이브러리의 HardwareSerial.h 파일을 수정하여 시리얼 버퍼 크기를 늘리는 방법입니다. 이 방법은 특정 보드에서만 가능할 수 있으며, 코드를 컴파일하고 업로드하기 전에 주의 깊게 살펴봐야 합니다.</li></ul></div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">4.</span><span style="font-size:11pt;"> HardwareSerial.h 파일 수정 예시</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">아래는 HardwareSerial.h 파일에서 시리얼 버퍼 크기를 늘리는 예시입니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">이 예시는 아두이노 UNO를 기준으로 합니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">다른 보드의 경우에는 해당 보드에 맞는 HardwareSerial.h 파일을 찾아야 합니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;">Arduino Uno의 경우 HardwareSerial.h 파일에서 다음과 같이 수정할 수 있습니다:</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#if</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">!</span><span style="color:#a71d5d;">defined</span>(SERIAL_TX_BUFFER_SIZE)</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#if</span> ((RAMEND <span style="color:#ff3399;"></span><span style="color:#a71d5d;">-</span> RAMSTART) <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span> <span style="color:#0099cc;">1023</span>)</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> SERIAL_TX_BUFFER_SIZE <span style="color:#0099cc;">16</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#else</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> SERIAL_TX_BUFFER_SIZE <span style="color:#0099cc;">256</span>  <span style="color:#999999;">// 기존 64에서 256으로 버퍼 크기를 늘림</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#endif</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#endif</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#if</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">!</span><span style="color:#a71d5d;">defined</span>(SERIAL_RX_BUFFER_SIZE)</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#if</span> ((RAMEND <span style="color:#ff3399;"></span><span style="color:#a71d5d;">-</span> RAMSTART) <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span> <span style="color:#0099cc;">1023</span>)</div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> SERIAL_RX_BUFFER_SIZE <span style="color:#0099cc;">16</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#else</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> SERIAL_RX_BUFFER_SIZE <span style="color:#0099cc;">256</span>  <span style="color:#999999;">// 기존 64에서 256으로 버퍼 크기를 늘림</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#endif</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#endif</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><br /></div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">5.</span><span style="font-size:11pt;"> 예시 프로젝트: 시리얼 데이터의 대량 수신 및 처리</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">다음은 128바이트 이상의 데이터를 수신하여 처리하는 예시 프로젝트입니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;">이 프로젝트는 아두이노의 시리얼 버퍼 크기를 확장하기 위한 기본적인 방법론을 다룹니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> LED_COUNT <span style="color:#0099cc;">256</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#define</span> LED_DATA_SIZE (LED_COUNT <span style="color:#ff3399;"></span><span style="color:#a71d5d;">*</span> <span style="color:#0099cc;">3</span>)</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">uint8_t buffer[LED_DATA_SIZE];</div><div style="padding:0 6px;white-space:pre;line-height:130%;">uint16_t bufferLength <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">void</span> setup() {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  Serial.<span style="color:#066de2;">begin</span>(<span style="color:#0099cc;">115200</span>);  <span style="color:#999999;">// RS232 통신 속도 설정 (수신용)</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// 기타 초기화 작업</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">}</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">void</span> loop() {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// 데이터를 받아서 버퍼에 저장</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">while</span> (Serial.available() <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span> <span style="color:#0099cc;">0</span>) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    buffer[bufferLength<span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span>] <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> Serial.read();</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    </div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#999999;">// LED 데이터 사이즈에 도달하면 LED 데이터 처리</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#a71d5d;">if</span> (bufferLength <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> LED_DATA_SIZE) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      processData(buffer, bufferLength);  <span style="color:#999999;">// LED 데이터 처리 함수 호출</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">      bufferLength <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;  <span style="color:#999999;">// 버퍼 초기화</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">    }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  }</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// 추가적인 조건에 따라 나머지 데이터 처리</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">if</span> (bufferLength <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span> <span style="color:#0099cc;">0</span>) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    processData(buffer, bufferLength);  <span style="color:#999999;">// 나머지 데이터 처리 함수 호출</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">    bufferLength <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;  <span style="color:#999999;">// 버퍼 초기화</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">}</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">void</span> processData(uint8_t <span style="color:#ff3399;"></span><span style="color:#a71d5d;">*</span>data, uint16_t length) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// LED 데이터 처리 로직 예시</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">for</span> (<span style="color:#066de2;">int</span> i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>; i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span> LED_COUNT; i<span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span>) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#066de2;">int</span> startIndex <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">*</span> <span style="color:#0099cc;">3</span>;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    uint8_t r <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> data[startIndex];</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    uint8_t g <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> data[startIndex <span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span> <span style="color:#0099cc;">1</span>];</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    uint8_t b <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> data[startIndex <span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span> <span style="color:#0099cc;">2</span>];</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#999999;">// 여기에 LED 제어 로직 추가 (예: WS2812 등의 LED 제어)</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#999999;">// 예시: analogWrite(pin, value); 또는 digitalWrite(pin, HIGH/LOW); 등</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">    <span style="color:#999999;">// 이 예제에서는 Serial Monitor를 통해 데이터 출력</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(<span style="color:#63a35c;">"LED "</span>);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(i);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(<span style="color:#63a35c;">": R="</span>);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(r);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(<span style="color:#63a35c;">", G="</span>);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(g);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.print(<span style="color:#63a35c;">", B="</span>);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">    Serial.println(b);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">}</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">6.</span><span style="font-size:11pt;"> 성능 향상을 위한 추가 고려 사항</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">대량 데이터 처리를 위해 소프트웨어적으로 버퍼를 관리하는 방법과 함께, 아두이노 외부 메모리 확장 모듈을 사용하는 방법 등을 소개합니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"><b><span style="color:rgb(0,153,204);font-size:11pt;">7.</span><span style="font-size:11pt;"> 결론</span></b></div><div style="padding:0 6px;white-space:pre;line-height:130%;">이 강의를 통해 아두이노의 하드웨어 시리얼 버퍼 크기를 늘리는 다양한 방법과 그 기술적 배경을 이해하게 됩니다. 프로젝트의 성능과 안정성을 향상시키는 데 유용한 기술적인 지식을 쌓을 수 있습니다.</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">위의 내용을 참고하여 학습자들에게 시리얼 통신의 기본적인 개념부터 실제 프로그래밍까지 체계적으로 학습할 수 있습니다. </div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div> </div><div></div>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2024-07-12T06:35:58+09:00</dc:date>
</item>


<item>
<title>아두이노 ATmega328P LED Dimming(PWM 아님)</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=8</link>
<description><![CDATA[<div></div><img src="../../../data/editor/2407/a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603443_2584.png" title="a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603443_2584.png" alt="a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603443_2584.png" /><br style="clear:both;" /><br style="clear:both;" /><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><br /></div></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><blockquote style="font-size:15pt;line-height:23pt;color:rgb(51,51,51);letter-spacing:0px;margin:20px auto 0px;padding:34px 0px 0px;border:0px none;text-align:center;background:url(&quot;https://t1.daumcdn.net/keditor/dist/0.4.9/image/blockquote-style1.svg&quot;) no-repeat 50% 0px;"><div style="margin:0px;padding:0px;"><p style="font-size:0.9375em;line-height:2;color:rgb(85,85,85);letter-spacing:0px;"><span style="color:rgb(34,34,37);">ATmega328P</span></p></div></blockquote></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">알리에서 ATmega328P 가 아두이노와 완벽 호환이 된다고 해서 하나 샀다</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">막상 구입을 하고 나니 딱히 만들어 볼 것이 없네.....</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">아두이노를 처음 접하는 툴이라 두려움 반 설렘 반으로 막상 설치를 하고 나니 무얼 해야 하는지 하나도 모르겠다</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">그래서 우선 인터넷을 찾아가며 이것저것 눌러보고 따라 해보며 한 시간쯤?...</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">이제 조금 익숙해진 것 같다.</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"> </p></div></div></div></div><table border="0" cellpadding="0" cellspacing="0" style="border:1px solid #cccccc;border-left:0;border-bottom:0;" class="__se_tbl"><tbody><tr><td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="918"><p> <span style="white-space:pre;">  </span><span style="white-space:pre;color:rgb(153,153,153);">// 아두이노 LED 예제 - LED dimming</span></p><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// 필요한 라이브러리</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#0086b3;">#include</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span>Arduino.h<span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#999999;">// LED 핀 설정</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">const</span> <span style="color:#066de2;">int</span> ledPin <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">13</span>;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#066de2;">int</span> c <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;  <span style="color:#999999;">// dim 기준값</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#066de2;">int</span> i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;  <span style="color:#999999;">// dim 값</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#066de2;">int</span> n <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">1</span>;  <span style="color:#999999;">// dim 값 업/다운</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#066de2;">int</span> x <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">1</span>;  <span style="color:#999999;">// dim 기준값 업/다운</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#066de2;">int</span> q <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;  <span style="color:#999999;">// 루프를 도는데 너무 빠르므로 속도 조절을 위한 카운트</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">void</span> setup() {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      <span style="color:#999999;">// LED 핀을 출력으로 설정</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">      pinMode(ledPin, OUTPUT);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  }</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">  <span style="color:#a71d5d;">void</span> loop() {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      q <span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span>;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      <span style="color:#a71d5d;">if</span>(q<span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span><span style="color:#0099cc;">5</span>){</div><div style="padding:0 6px;white-space:pre;line-height:130%;">        q <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">0</span>;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">        i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span> n;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">        <span style="color:#999999;">// 밝기가 0에서 255 범위를 벗어나면 방향 전환</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">        <span style="color:#a71d5d;">if</span> (i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">|</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">|</span> i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">255</span>) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">            n <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">-</span>n;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">            c <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> c <span style="color:#ff3399;"></span><span style="color:#a71d5d;">+</span> x;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">            <span style="color:#a71d5d;">if</span> (c <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">|</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">|</span> c <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&gt;</span><span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">255</span>) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">                x <span style="color:#ff3399;"></span><span style="color:#a71d5d;">=</span> <span style="color:#ff3399;"></span><span style="color:#a71d5d;">-</span>x;</div><div style="padding:0 6px;white-space:pre;line-height:130%;">            }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">        }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      }</div><div style="padding:0 6px;white-space:pre;line-height:130%;"> </div><div style="padding:0 6px;white-space:pre;line-height:130%;">      <span style="color:#999999;">//digitalWrite(ledPin, !digitalRead(ledPin));</span></div><div style="padding:0 6px;white-space:pre;line-height:130%;">      <span style="color:#a71d5d;">if</span> (i <span style="color:#ff3399;"></span><span style="color:#a71d5d;">&lt;</span> c) {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">          digitalWrite(ledPin, HIGH);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      } <span style="color:#a71d5d;">else</span> {</div><div style="padding:0 6px;white-space:pre;line-height:130%;">          digitalWrite(ledPin, LOW);</div><div style="padding:0 6px;white-space:pre;line-height:130%;">      }</div><div style="padding:0 6px;white-space:pre;line-height:130%;">  }</div></td>

</tr></tbody></table><br /><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"> </div></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">코드비전이나 아두이노 차이가 없는 것 같지만 정말 아두이노는 정말 코디비전에 비하면 신사다.</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);"><br /></span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);font-size:0.9375em;">20년 전만해도 어셈블러로 코딩하고 했었는데...</span> </p></div></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">함수, 모듈 개념이 부족했던 시절이라 어떻게 코딩을 했는지 이제는 그 시절이 기억이 안난다....ㅠ.ㅠ</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">​</span></p><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);"><span style="color:rgb(34,34,37);">다음엔 NFC RFID 리더기를 ATmega328P와 연결해서 시리얼 통신을 해볼까 합니다.</span></p></div></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><blockquote style="font-size:15pt;line-height:23pt;color:rgb(51,51,51);letter-spacing:0px;margin:20px auto 0px;padding:34px 0px 0px;border:0px none;text-align:center;background:url(&quot;https://t1.daumcdn.net/keditor/dist/0.4.9/image/blockquote-style1.svg&quot;) no-repeat 50% 0px;"><div style="margin:0px;padding:0px;"><p style="font-size:0.9375em;line-height:2;color:rgb(85,85,85);letter-spacing:0px;"><b>RFID PN532 모듈</b></p></div></blockquote></div></div></div><div style="margin:0px;padding:0px;font-family:AppleSDGothicNeo, 'Noto Sans KR', sans-serif;font-size:16px;background-color:rgb(255,255,255);color:rgb(138,131,126);"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><div style="margin:0px;padding:0px;"><br /></div><div style="margin:0px;padding:0px;"><p style="margin-bottom:32px;font-size:0.9375em;line-height:2;color:rgb(85,85,85);text-align:center;"><img src="../../../data/editor/2407/a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603306_0283.jpg" title="a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603306_0283.jpg" style="color:rgb(138,131,126);font-size:16px;" alt="a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603306_0283.jpg" /><b>아두이노용 SPI, I2C, UART RFID 무선 모듈, PN532, 13.56MHz V3</b></p></div></div></div></div><div></div>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2024-07-10T18:24:40+09:00</dc:date>
</item>


<item>
<title>WS2811, WS2812B DataSheet</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=7</link>
<description><![CDATA[<div></div><p><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405708_1727.png" title="4f768bae80b84557c66d90c2703aea44_1663405708_1727.png" alt="4f768bae80b84557c66d90c2703aea44_1663405708_1727.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405708_5788.png" title="4f768bae80b84557c66d90c2703aea44_1663405708_5788.png" alt="4f768bae80b84557c66d90c2703aea44_1663405708_5788.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405709_0957.png" title="4f768bae80b84557c66d90c2703aea44_1663405709_0957.png" alt="4f768bae80b84557c66d90c2703aea44_1663405709_0957.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405709_6575.png" title="4f768bae80b84557c66d90c2703aea44_1663405709_6575.png" alt="4f768bae80b84557c66d90c2703aea44_1663405709_6575.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405710_2023.png" title="4f768bae80b84557c66d90c2703aea44_1663405710_2023.png" alt="4f768bae80b84557c66d90c2703aea44_1663405710_2023.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405710_8621.png" title="4f768bae80b84557c66d90c2703aea44_1663405710_8621.png" alt="4f768bae80b84557c66d90c2703aea44_1663405710_8621.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405711_446.png" title="4f768bae80b84557c66d90c2703aea44_1663405711_446.png" alt="4f768bae80b84557c66d90c2703aea44_1663405711_446.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405712_0303.png" title="4f768bae80b84557c66d90c2703aea44_1663405712_0303.png" alt="4f768bae80b84557c66d90c2703aea44_1663405712_0303.png" /><br style="clear:both;" /> </p><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405788_4879.png" title="4f768bae80b84557c66d90c2703aea44_1663405788_4879.png" alt="4f768bae80b84557c66d90c2703aea44_1663405788_4879.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405788_6065.png" title="4f768bae80b84557c66d90c2703aea44_1663405788_6065.png" alt="4f768bae80b84557c66d90c2703aea44_1663405788_6065.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405788_7419.png" title="4f768bae80b84557c66d90c2703aea44_1663405788_7419.png" alt="4f768bae80b84557c66d90c2703aea44_1663405788_7419.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405788_8767.png" title="4f768bae80b84557c66d90c2703aea44_1663405788_8767.png" alt="4f768bae80b84557c66d90c2703aea44_1663405788_8767.png" /><br style="clear:both;" /><img src="../../../data/editor/2209/4f768bae80b84557c66d90c2703aea44_1663405789_001.png" title="4f768bae80b84557c66d90c2703aea44_1663405789_001.png" alt="4f768bae80b84557c66d90c2703aea44_1663405789_001.png" /><br style="clear:both;" /><div></div>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2022-09-17T18:10:06+09:00</dc:date>
</item>


<item>
<title>NEXT-RS232 2P USB to 2Port Serial 케이블 드라이버입니다.</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=6</link>
<description><![CDATA[<div></div><p style="color:rgb(88,88,88);font-family:'돋움', '돋움체', Arial;"><span style="padding:0px;margin:0px;font-size:9pt;">안녕하세요..IT HUB입니다.</span></p><p style="color:rgb(88,88,88);font-family:'돋움', '돋움체', Arial;"><span style="padding:0px;margin:0px;font-size:9pt;">NEXT-RS232 2P 드라이버입니다.</span></p><p style="color:rgb(88,88,88);font-family:'돋움', '돋움체', Arial;"><span style="padding:0px;margin:0px;font-size:9pt;">아래의 버튼을 클릭하시면 NEXT-RS232 2P의 드라이버를 받아 보실 수 있습니다.</span></p><table width="374" border="1" cellspacing="0" style="height:110px;padding:0px;margin:0px;font-family:'돋움', '돋움체', Arial;"><tbody style="padding:0px;margin:0px;"><tr style="padding:0px;margin:0px;"><td width="368" height="36" colspan="2" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="center"><b style="padding:0px;margin:0px;"><span style="padding:0px;margin:0px;font-size:10pt;">NEXT-RS232 2P 드라이버</span></b></p></td></tr><tr style="padding:0px;margin:0px;"><td width="217" height="46" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="left"><span style="padding:0px;margin:0px;font-size:9pt;">Vista_32/64bit용 드라이버,Windows 2000,XP_32/64bit용,Win7/8/10_32/64bit용 통합버전</span></p></td><td width="147" height="46" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="center"><a href="../bbs/download.php?bo_table=TB_10&amp;wr_id=6&amp;no=0" style="padding:0px;margin:0px;color:rgb(102,102,102);"><img src="../data/editor/2209/down.gif" border="0" style="padding:0px;margin:0px;border:0px none;" alt="down.gif" /></a></p></td></tr></tbody></table><p style="color:rgb(88,88,88);font-family:'돋움', '돋움체', Arial;"><br /></p><table width="374" border="1" cellspacing="0" style="height:110px;padding:0px;margin:0px;font-family:'돋움', '돋움체', Arial;"><tbody style="padding:0px;margin:0px;"><tr style="padding:0px;margin:0px;"><td width="368" height="36" colspan="2" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="center"><b style="padding:0px;margin:0px;"><span style="padding:0px;margin:0px;font-size:10pt;">NEXT-RS232 2P 드라이버(리눅스 버전)</span></b></p></td></tr><tr style="padding:0px;margin:0px;"><td width="217" height="46" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="left"><span style="padding:0px;margin:0px;">Linux 드라이버</span></p></td><td width="147" height="46" style="padding:0px;margin:0px;color:rgb(88,88,88);line-height:19.2px;"><p align="center"><a href="http://eznet.synology.me/download/NEXT-RS232%202P%20Linux%20Driver.zip" style="padding:0px;margin:0px;color:rgb(102,102,102);" rel="nofollow"><img src="../data/editor/2209/down.gif" border="0" style="padding:0px;margin:0px;border:0px none;" alt="down.gif" /></a></p></td></tr></tbody></table><p style="color:rgb(88,88,88);font-family:'돋움', '돋움체', Arial;"><span style="padding:0px;margin:0px;font-size:9pt;">감사합니다.</span></p><div></div>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2022-09-17T17:21:49+09:00</dc:date>
</item>


<item>
<title>NE555 PWM 모터 속도 조절회로(DC)</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=3</link>
<description><![CDATA[<p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;"><img src="http://program1472.com/data/editor/1912/abc1bb60d6e2db7b7510eeeae1d6b371_1576547930_8859.gif" title="abc1bb60d6e2db7b7510eeeae1d6b371_1576547930_8859.gif" alt="abc1bb60d6e2db7b7510eeeae1d6b371_1576547930_8859.gif" /><br style="clear:both;" /> </span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">Parts List:</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">R1 = 1K </span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">R2 = 47 ohm </span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">P1 = 50K potentiometer</span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">C1 = 0.001&amp;micro;F, (1nF) ceramic</span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">C2 = 0.1&amp;micro;F, (100nF), ceramic</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">C3 = 470&amp;micro;F, 25V, electrolytic </span></p><p align="left" style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">D1,D2 = 1N4148, general purpose signal diodes</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">D3 = MBR1645, NTE6081, or similar. 45V/16A Schottky Diode</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">Q1 = BUZ11, NTE2389, MosFET, High Speed Switch, N-channel, 30V/35A</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">IC1 = NE555, 8-pin Timer/Oscillator</span></p><p style="font-family:Dotum, AppleGothic, sans-serif;text-align:justify;line-height:1.8;"><span style="margin:0px;padding:0px;font-size:11pt;">Couple Notes:</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">This circuit is capable of regulating 12V motors and DC light bulbs. No coolrib required for Q1 or D3 if the current</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">does not exceed 2A. If it does, a sufficient coolrib for both the Schottky Diode (D3) and MosFET Q1 is required.</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">The regulation is obtained via PWM or Pulse Width Modulation. The output pin 3 of the 555 provides square-wave with an </span><span style="margin:0px;padding:0px;font-size:11pt;">adjustable duty-cycle. What that basically means is that the pulse width changes the speed of the motor. The output </span><span style="margin:0px;padding:0px;font-size:11pt;">from the 555 feeds the mosfet via current limiting resistor R2 of 47 ohms. Because the MosFET Q3 only "switches" and </span><span style="margin:0px;padding:0px;font-size:11pt;">is not behaving like a pot, its energy-waste level is negliable, and also provides the motor more coupling at low rpm.</span><br /><span style="margin:0px;padding:0px;font-size:11pt;">The maximum current Q1 can provide (safely) is about 10A. The replacement type mentioned in the parts list (NTE2389 can </span><span style="margin:0px;padding:0px;font-size:11pt;">provide up to 35A at 60V. I use a cpu-cooler-fan for additional cooling at high rpm.</span></p><p style="font-family:Dotum, AppleGothic, sans-serif;line-height:1.8;">펌) <a href="http://www.uoguelph.ca/~antoon/circ/pwm555.html" style="margin:0px;padding:0px;color:rgb(144,144,144);" rel="nofollow">http://www.uoguelph.ca/~antoon/circ/pwm555.html</a></p><p><span style="font-family:Dotum, AppleGothic, sans-serif;">출처: </span><a href="https://paulhwang.tistory.com/279" style="margin:0px;padding:0px;color:rgb(144,144,144);font-family:Dotum, AppleGothic, sans-serif;" rel="nofollow">https://paulhwang.tistory.com/279</a><span style="font-family:Dotum, AppleGothic, sans-serif;"> [살다보면...]</span> </p><p><span style="font-family:Dotum, AppleGothic, sans-serif;"><br /></span></p><p><span style="font-family:Dotum, AppleGothic, sans-serif;"><br /></span></p><p><span style="font-family:Dotum, AppleGothic, sans-serif;font-size:14.6667px;text-align:justify;">Couple Notes(번역):</span> </p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">이 회로는 12V 모터와 DC 전구를 조절할 수 있습니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">전류가 Q1 또는 D3 인 경우 coolrib가 필요하지 않습니다.


2A를 초과하지 않습니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">그렇다면 쇼트 키 다이오드 (D3)와 MosFET Q1에 충분한 쿨 리브가 필요합니다.


조정은 PWM 또는 펄스 폭 변조를 통해 이루어집니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">555의 출력 핀 3은 듀티 사이클을 조절할 수있는 구형파를 제공합니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">기본적으로 의미하는 것은 펄스 폭이 모터 속도를 변경한다는 것입니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">555의 출력은 47 옴의 전류 제한 저항 R2를 통해 MOSFET에 전원을 공급합니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">MosFET Q3는 단지 "전환"되고 냄비처럼 동작하지 않기 때문에 에너지 낭비 수준은 무시할 수 있으며 낮은 rpm에서 모터에 더 많은 커플 링을 제공합니다.</span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">Q1이 제공 할 수있는 최대 전류는 (안전하게) 약 10A입니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">부품 목록에 언급 된 교체 유형 (NTE2389는 60V에서 최대 35A를 제공 할 수 있습니다. </span></p><p><span style="color:rgb(233,125,129);font-family:'Apple SD Gothic Neo', arial, sans-serif;font-size:10pt;white-space:pre-wrap;background-color:rgb(248,249,250);">높은 rpm에서 추가 냉각을 위해 cpu-cooler-fan을 사용합니다.</span><span style="font-family:Dotum, AppleGothic, sans-serif;"> </span></p>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2019-12-17T11:03:28+09:00</dc:date>
</item>


<item>
<title>555 신호 및 핀아웃 (8 핀 DIP)</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=2</link>
<description><![CDATA[<h3 style="font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-weight:400;line-height:1.1;color:rgb(0,97,142);margin-top:18px;margin-bottom:9px;font-size:18px;background-color:rgb(255,255,255);"><span><a href="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial.html" rel="nofollow">555 신호 및 핀아웃 (8 핀 DIP)</a></span></h3><p><span>그림 1은 표준 8 핀 듀얼 인라인 패키지 (DIP) 주위에 배열 된 555 타이머의 입력 및 출력 신호를 보여줍니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><div class="row" style="margin-left:-15px;margin-right:-15px;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><div class="col-md-7" style="min-height:1px;padding-left:15px;padding-right:15px;float:left;width:511.875px;"><span style="font-weight:700;">핀 1-</span><span> 접지 (GND)이 핀은 회로 접지에 연결됩니다.</span><br /><br /><span style="font-weight:700;">핀 2-</span><span> 트리거 (TRI)</span><br /><span><span>트리거 입력에 순간적으로 적용되는 저전압 (공급 전압의 1/3 미만)으로 인해 출력 (핀 3)이 높아집니다. </span><span>임계 값 입력 (핀 6)에 고전압이 적용될 때까지 출력은 높은 상태를 유지합니다.</span></span><br /><br /><span style="font-weight:700;">핀 3</span><span> – 출력 (OUT)</span><br /><span><span>출력이 낮은 상태에서는 전압이 0V에 가깝습니다. </span><span>출력 하이 상태에서는 전압이 공급 전압보다 1.7V 낮아집니다. </span><span>예를 들어 공급 전압이 5V 인 경우 고전압은 3.3V가됩니다. </span><span>출력은 최대 200mA를 소싱 또는 싱크 할 수 있습니다 (최대는 공급 전압에 따라 다름).</span></span></div><div class="col-md-5" style="min-height:1px;padding-left:15px;padding-right:15px;float:left;width:365.625px;"><center><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig2.jpg" alt="555 타이머 핀아웃" title="555 타이머 핀아웃" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 1 : 555 신호 및 핀아웃</i></center></div></div><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">핀 4</span><span><span> – 리셋 (RES) 리셋 </span><span style="font-weight:700;">핀에</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>낮은 전압 (0.7V 미만)이 적용되면 출력 (핀 3)이 낮아집니다. </span><span>이 입력은 사용하지 않을 때 Vcc에 연결되어 있어야합니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">핀 5</span><span> – 제어 전압 (CON)</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>제어 입력 (내부 공급 전압의 2/3으로 설정 됨)을 통해 임계 값 전압 (핀 6)을 제어 할 수 있습니다. </span><span>공급 전압의 45 % ~ 90 %로 변경할 수 있습니다. </span><span>이를 통해 단 안정 모드에서 출력 펄스의 길이를 변경하거나 불안정 모드에서 출력 주파수를 변경할 수 있습니다. </span><span>사용하지 않을 때는이 입력을 0.01uF 커패시터를 통해 회로 접지에 연결하는 것이 좋습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">핀 6</span><span> – 임계 값 (TRE)</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>불안정 및 단 안정 모드에서 타이밍 커패시터의 전압은 임계 값 입력을 통해 모니터링됩니다. </span><span>이 입력의 전압이 임계 값을 초과하면 출력이 높음에서 낮음으로 바뀝니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">핀 7</span><span> –</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>타이밍 커패시터 양단의 전압이 임계 값을 초과 할 때 </span><span>방전 (DIS) </span><span>. </span><span>타이밍 커패시터는이 입력을 통해 방전됩니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">핀 8</span><span> – 공급 전압 (VCC)</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>이것은 양의 공급 전압 단자입니다. </span><span>공급 전압 범위는 일반적으로 + 5V ~ + 15V입니다. </span><span>RC 타이밍 간격은 불안정 또는 단 안정 모드에서 공급 전압 범위 (약 0.1 %)에서 크게 변하지 않습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><h3 style="font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-weight:400;line-height:1.1;color:rgb(0,97,142);margin-top:18px;margin-bottom:9px;font-size:18px;background-color:rgb(255,255,255);"><span>단 안정 회로</span></h3><p><span>그림 2는 기본 555 타이머 단 안정 회로를 보여줍니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig3.jpg" alt="555 타이머 핀아웃" title="555 타이머 핀아웃" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 2 : 기본 555 단 안정 멀티 바이브레이터 회로.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>그림 3의 타이밍 다이어그램을 참조하면 트리거 입력 (핀 2)에 적용된 저전압 펄스로 인해 핀 3의 출력 전압이 로우에서 하이로 상승합니다. </span><span>R1 및 C1의 값은 출력이 얼마나 오래 유지 될지를 결정합니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig4.jpg" alt="단 안정 모드에서 555의 타이밍 다이어그램" title="단 안정 모드에서 555의 타이밍 다이어그램" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 3 : 단 안정 모드에서 555의 타이밍 다이어그램.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>타이밍 간격 동안 트리거 입력의 상태는 출력에 영향을 미치지 않습니다. </span><span>그러나 그림 3에 표시된 것처럼 타이밍 간격의 끝에서 트리거 입력이 여전히 낮 으면 출력은 높게 유지됩니다. </span><span>트리거 펄스가 원하는 타이밍 간격보다 짧아야합니다. </span><span>그림 4의 회로는이를 전자적으로 수행하는 한 가지 방법을 보여줍니다. </span><span>S1이 닫힐 때 짧은 지속 시간의 낮은 진행 펄스를 생성합니다. </span><span>R1 및 C1은 타이밍 간격보다 훨씬 짧은 트리거 펄스를 생성하도록 선택됩니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig5.jpg" alt="에지 트리거링 회로" title="에지 트리거링 회로" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 4 : 에지 트리거링 회로</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>그림 5와 같이 타이밍 간격이 끝나기 전에 핀 4 (재설정)를 낮게 설정하면 타이머가 중지됩니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig6.jpg" alt="타이머 재설정" title="타이머 재설정" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 5 : 타이밍 간격이 끝나기 전에 타이머 재설정</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>다른 타이밍 간격이 트리거되기 전에 리셋이 하이로 돌아와야합니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">타이밍 간격</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>계산 단 안정 회로의 타이밍 간격을 계산하려면 다음 공식을 사용하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>T = 1.1 * R1 * C1</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>여기서 R1은 저항 (ohms), C1은 커패시턴스 (capacity), T는 시간 간격입니다. </span><span>예를 들어, 1 마이크로 패럿 (.000001 F) 커패시터와 함께 1M 저항을 사용하는 경우 타이밍 간격은 1 초입니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>T = 1.1 * 1000000 * 0.000001 = 1.1</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">단 안정 작동을위한 RC 구성 요소 선택</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>1. 먼저, C1의 가치.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>사용 가능한 커패시터 값 범위는 저항 값에 비해 작습니다. 주어진 커패시터에 대해 일치하는 저항 값을 찾는 것이 더 쉽습니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>2. 다음으로 C1과 함께 원하는 타이밍 간격을 생성하는 R1의 값을 계산하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;margin-bottom:7px;"><span>R1 =</span></td><td style="padding:0px;"><center><u><span>      T      </span></u><br /><span>1.1 * C1</span></center></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>전해 커패시터를 사용하지 마십시오. </span><span>실제 정전 용량 값은 정격 값과 크게 다를 수 있습니다. </span><span>또한 전하가 누출되어 타이밍 값이 부정확 할 수 있습니다. </span><span>대신 낮은 값의 커패시터와 높은 값의 저항을 사용하십시오.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>표준 555 타이머의 경우 1K 옴과 1M 옴 사이의 타이밍 저항 값을 사용하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">단 안정 회로 예</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>그림 6은 간단한 에지 트리거링을 갖춘 완전한 555 단 안정 멀티 바이브레이터 회로를 보여줍니다. </span><span>폐쇄 스위치 S1은 5 초 타이밍 간격을 시작하고 LED1을 켭니다. </span><span>타이밍 간격이 끝나면 LED1이 꺼집니다. </span><span>정상 작동 스위치 S2는 핀 4를 공급 전압에 연결합니다. </span><span>타이밍 간격이 끝나기 전에 타이머를 중지하려면 S2를 핀 4를 접지에 연결하는 "재설정"위치로 설정하십시오. </span><span>다른 타이밍 간격을 시작하기 전에 S2를 "타이머"위치로 되돌려 야합니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig7.jpg" alt="555 타이머 회로 리셋 스위치 완료" title="555 타이머 회로 리셋 스위치 완료" style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 6 : 완전한 555 타이머 회로 리셋 스위치.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span style="font-weight:700;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);">불안정 회로</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>그림 7은 기본 555 </span><span style="font-weight:700;">불안정 회로를</span><span> 보여줍니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig8.jpg" alt="기본 555 불안정한 멀티 바이브레이터 회로." title="기본 555 불안정한 멀티 바이브레이터 회로." style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 7 : 기본 555 불안정한 멀티 바이브레이터 회로.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>불안정 모드에서 커패시터 C1은 저항 R1 및 R2를 통해 충전됩니다. </span><span>커패시터가 충전되는 동안 출력이 높습니다. </span><span>C1 양단의 전압이 공급 전압 C1의 2/3에 도달하면 저항 R2를 통해 방전되고 출력이 낮아집니다. </span><span>C1의 전압이 공급 전압 C1의 1/3 아래로 떨어지면 충전이 다시 시작되고 출력이 다시 높아지고 사이클이 반복됩니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>그림 8의 타이밍 다이어그램은 불안정 모드에서의 555 타이머 출력을 보여줍니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig9.jpg" alt="불안정 모드에서 555 타이머." title="불안정 모드에서 555 타이머." style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 8 : 불안정 모드의 555 타이머.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>그림 8과 같이 리셋 핀 (4)을 접지하면 발진기가 정지되고 출력이 낮게 설정됩니다. </span><span>리셋 핀을 하이로 되 돌리면 오실레이터가 다시 시작됩니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>주기, 주파수 및 듀티 사이클 계산 그림 9는 555 개의 불안정한 회로에 의해 생성 된 구형파의 1 개의 완전한 사이클을 보여줍니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig10.jpg" alt="불안정한 구형파 하나의 완전한 사이클." title="불안정한 구형파 하나의 완전한 사이클." style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 9 : 불안정한 구형파 1 회 완료주기.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>구형파의주기 (1 사이클 완료 시간)는 출력 하이 (Th) 및 로우 (T1)의 합입니다. </span><span>즉,</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>T = Th + Tl</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>여기서 T는 초 단위의 기간입니다. </span><span>Th = 0.7 * (R1 + R2) * C1 </span><span>Tl = 0.7 * R2 * C1</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>공식을 사용하여 출력 높고 낮은 시간 (초)을 계산할 수 있습니다. </span><span>또는 아래 공식을 사용하여주기를 직접 계산할 수 있습니다. </span><span>T = 0.7 * (R1 + 2 * R2) * C1 </span><span>주파수를 찾으려면주기의 역수를 취하거나 다음 공식을 사용하십시오.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>f =  </span></td><td style="padding:0px;"><u><span>  1   </span></u><br /><center><span>티</span></center></td><td style="padding:0px;"><span>  =  </span></td><td style="padding:0px;"><u><span>          1.44           </span></u><br /><center><span>(R1 + 2 * R2) * C1</span></center></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>여기서 f는 초당 사이클 또는 헤르츠 (Hz)입니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>예를 들어, 그림 7의 불안정한 회로에서 R1이 68K 옴이고 R2가 680K 옴이고 C1이 1 마이크로 패럿이면 주파수는 약 1Hz입니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>=  </span></td><td style="padding:0px;"><u><span>                       1.44                          </span></u><br /><span> (68000 + 2 * 680000) * 0.000001 </span></td><td style="padding:0px;"><span>  = 1.00 Hz</span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>듀티 사이클은 하나의 완전한 사이클 동안 출력이 높은 시간의 백분율입니다. </span><span>예를 들어, 출력이 Th 초 동안 높고 Tl 초 동안 낮 으면 듀티 사이클 (D)은 다음과 같습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>D =  </span></td><td style="padding:0px;"><u><span>    Th     </span></u><br /><span> Th + Tl </span></td><td style="padding:0px;"><span>  * 100</span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>그러나 듀티 사이클을 계산하려면 R1 및 R2의 값을 알아야합니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>D =  </span></td><td style="padding:0px;"><u><span>    R1 + R2    </span></u><br /><span> R1 + 2 * R2 </span></td><td style="padding:0px;"><span>  * 100</span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>C1은 R1과 R2를 통해 충전되지만 R2 만 통해 방전되므로 듀티 사이클은 50 %보다 큽니다. </span><span>그러나 R1이 R2보다 훨씬 작도록 원하는 주파수에 대한 저항 조합을 선택하면 50 %에 가까운 듀티 사이클을 얻을 수 있습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>예를 들어 R1이 68,0000 옴이고 R2가 680,000 옴인 경우 듀티 사이클은 약 52 %입니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>D =  </span></td><td style="padding:0px;"><u><span>    68000 + 680000    </span></u><br /><span> 68000 + 2 * 680000 </span></td><td style="padding:0px;"><span>  * 100 = 52.38 %</span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>R1이 R2에 비해 작을수록 듀티 사이클이 50 %에 가까워집니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>듀티 사이클을 50 % 미만으로하려면 다이오드를 R2와 병렬로 연결하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>안정적인 작동을위한 RC 구성 요소 선택</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>1. 먼저 C1을 선택하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>2. 원하는 주파수를 생성 할 저항 조합 (R1 + 2 * R2)의 총값을 계산하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>(R1 + 2 * R2) =  </span></td><td style="padding:0px;"><u><span>  1.44  </span></u><br /><span> f * C1 </span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>3. R1 또는 R2의 값을 선택하고 다른 값을 계산하십시오. </span><span>예를 들어 (R1 + 2 * R2) = 50K라고 말하고 R1에 대해 10K 저항을 선택합니다. </span><span>그런 다음 R2는 20K 저항이어야합니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>듀티 사이클이 50 %에 가까우면 R1보다 훨씬 높은 R2 값을 선택하십시오. </span><span>R2가 R1에 비해 크면 처음에 계산에서 R1을 무시할 수 있습니다. </span><span>예를 들어, R2 값이 R1의 10 배라고 가정하십시오. </span><span>위 공식의 수정 된 버전을 사용하여 R2 값을 계산하십시오.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><table style="border-collapse:collapse;border-spacing:0px;background-color:rgb(255,255,255);max-width:100%;color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;"><tbody><tr><td style="padding:0px;"><span>R2 =  </span></td><td style="padding:0px;"><u><span>  0.7  </span></u><br /><span> f * C1 </span></td></tr></tbody></table><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>그런 다음 결과를 10 이상으로 나누어 R1의 값을 찾으십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>표준 555 타이머의 경우 1K 옴과 1M 옴 사이의 타이밍 저항 값을 사용하십시오.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><h3 style="font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-weight:400;line-height:1.1;color:rgb(0,97,142);margin-top:18px;margin-bottom:9px;font-size:18px;background-color:rgb(255,255,255);"><span>불안정한 회로 예</span></h3><p><span><span>그림 10은 주파수가 약 2Hz이고 듀티 사이클이 약 50 % 인 555 구형파 발진기를 보여줍니다. </span><span>SPDT 스위치 S1이 "시작"위치에 있으면 출력이 LED 1과 LED 2 사이에서 교대로 나타납니다. S1이 "중지"위치에 있으면 LED 1은 계속 켜져 있고 LED 2는 꺼져 있습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><center style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);"><img class="img-responsive" src="https://www.jameco.com/Jameco/workshop/TechTip/555-timer-tutorial-fig11.jpg" alt="시작 / 정지 스위치가있는 완전한 555 구형파 발진기 회로." title="시작 / 정지 스위치가있는 완전한 555 구형파 발진기 회로." style="border:0px;vertical-align:middle;height:auto;margin-bottom:10px;" /><i>그림 10 : 시작 / 정지 스위치가있는 완전한 555 구형파 발진기 회로.</i></center><p><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /></p><h3 style="font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-weight:400;line-height:1.1;color:rgb(0,97,142);margin-top:18px;margin-bottom:9px;font-size:18px;background-color:rgb(255,255,255);"><span>저전력 버전</span></h3><p><span><span>표준 555는 배터리 구동 회로에 바람직하지 않은 몇 가지 특성을 가지고 있습니다. </span><span>5V의 최소 작동 전압과 비교적 높은 대기 공급 전류가 필요합니다. </span><span>출력 전환 중에 최대 100mA의 전류 스파이크가 발생합니다. </span><span>또한 입력 바이어스 및 임계 전류 요구 사항은 최대 시간 간격과 불안정한 주파수를 제한하는 최대 타이밍 저항 값에 제한을가합니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span><span>7555, TLC555 및 프로그램 가능한 CSS555와 같은 555 타이머의 저전력 CMOS 버전은 특히 배터리 구동 응용 제품에서 향상된 성능을 제공하도록 개발되었습니다. </span><span>표준 장치와 핀 호환 가능하고 공급 전압 범위가 더 넓으며 (예 : TLC555의 경우 2V ~ 16V) 작동 전류가 훨씬 더 낮습니다. </span><span>또한 불안정 모드 (장치에 따라 1-2MHz)에서 더 높은 출력 주파수를 생성 할 수 있으며, 단 안정 모드에서 훨씬 더 긴 타이밍 간격을 생성 할 수 있습니다.</span></span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /><span>이 장치는 표준 555에 비해 출력 전류 용량이 낮습니다. 10 – 50mA보다 큰 부하 (장치에 따라 다름)의 경우 555 출력과 부하 사이에 전류 부스트 회로를 추가해야합니다.</span><br style="color:rgb(51,51,51);font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-size:13px;background-color:rgb(255,255,255);" /> </p><h3 style="font-family:'open sans', 'helvetica neue', Helvetica, Arial, sans-serif;font-weight:400;line-height:1.1;color:rgb(0,97,142);margin-top:18px;margin-bottom:9px;font-size:18px;background-color:rgb(255,255,255);"><span>자세한 내용은</span></h3><p><span><span>이것을 555 타이머에 대한 짧은 소개를 고려하십시오. </span><span>자세한 내용은 사용중인 특정 부품에 대한 제조업체 데이터 시트를 연구하십시오. </span><span>또한 빠른 Google 검색을 통해 웹에서이 IC에 대한 정보 및 프로젝트가 부족하지 않습니다. </span><span>예를 들어, 다음 웹 사이트는 표준 및 CMOS 버전의 555 타이머에 대한 자세한 정보를 제공합니다.</span></span> </p>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2019-12-10T12:28:16+09:00</dc:date>
</item>


<item>
<title>Graphic Equalizer</title>
<link>http://bbs.program1472.com/bbs/board.php?bo_table=TB_10&amp;amp;wr_id=1</link>
<description><![CDATA[<p><img src="http://program1472.com/data/editor/1910/268ef5b6e5d1b1afec286fa1b84e1169_1571647916_5146.png" title="268ef5b6e5d1b1afec286fa1b84e1169_1571647916_5146.png" alt="268ef5b6e5d1b1afec286fa1b84e1169_1571647916_5146.png" /><br style="clear:both;" /><img src="http://program1472.com/data/editor/1910/268ef5b6e5d1b1afec286fa1b84e1169_1571647916_6238.jpg" title="268ef5b6e5d1b1afec286fa1b84e1169_1571647916_6238.jpg" alt="268ef5b6e5d1b1afec286fa1b84e1169_1571647916_6238.jpg" /></p><p><br /></p><h1><span lang="en" xml:lang="en">MSGEQ7 Interfacing with AVR</span></h1><p></p><p><span lang="en" xml:lang="en"></span></p>The


MSGEQ7 is a 7 band graphic equalizer. What it does is detect the amplitudes of


certain frequencies and gives an DC voltage output. The frequencies in question


are 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz and 16kHz. Now going through the


datasheet of MSGEQ7 we find that it will work with 3.3V or 5V, which is good as


our ATMEGA8A is a 5V device. Next we need to build the schematic for the MSGEQ7


IC.<p></p>





<h1><span lang="en" xml:lang="en">Hardware for MSGEQ7</span></h1><p></p>





<p><span lang="en" xml:lang="en">We only


need a few parts to get MSGEQ7 working. We need a 200KΩ resistor and a 33pF ceramic


capacitor at pin number 8. These two will set the clocking frequency for the


MSGEQ7. A 0.1uF capacitor from pin 6 to ground and another from pin 1 to ground


for noise protection. A pair of 22KΩ resistors one for each channel in series


with a 0.01uF capacitor tied to the input pin number 5.</span></p><p></p>





<p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"></span></p><span lang="en" xml:lang="en">Fig 1. MSGEQ7 Connection Diagram</span><p></p>





<h1><span lang="en" xml:lang="en">Protocol for MSGEQ7</span></h1><p></p>





<p><span lang="en" xml:lang="en">The


MSGEQ7 has two control pins RESET and STROBE. After every RESET pulse the


multiplexer inside the IC is reset and after every STROBE pulse MSGEQ7 will


send the DC voltage corresponding to the frequency on the DC OUT pin. For the


First STROBE pulse after RESET the DC OUTPUT voltage will correspond to the


first frequency i.e. 63Hz. The next STROBE will correspond with the next


frequency i.e. 160Hz and so on. After the 7th STROBE pulse the multiplexer will


come back to 63Hz.</span></p><p></p>





<p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"></span></p><span lang="en" xml:lang="en">Fig 2. Timing Diagram</span><p></p>





<h1><span lang="en" xml:lang="en">Schematic</span></h1><p></p>





<p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"></span></p><span lang="en" xml:lang="en">Fig 3. Atmega8 Interfacing With MSGEQ7</span><p></p>





<h1><span lang="en" xml:lang="en">Software</span></h1><p></p>





<p><span lang="en" xml:lang="en">main.c</span></p><p></p>





<table border="0" cellspacing="0" cellpadding="0" style="font-size:10pt;font-family:'맑은 고딕';"><tbody><tr><td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">1</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">2</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">3</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">4</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">5</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">6</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">7</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">8</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">9</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">10</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">11</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">12</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">13</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">14</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">15</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">16</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">17</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">18</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">19</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">20</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">21</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">22</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">23</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">24</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">25</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">26</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">27</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">28</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">29</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">30</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">31</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">32</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">33</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">34</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">35</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">36</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">37</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">38</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">39</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">40</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">41</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">42</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">43</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">44</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">45</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">46</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">47</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">48</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">49</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">50</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">51</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">52</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">53</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">54</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">55</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">56</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">57</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">58</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">59</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">60</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">61</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">62</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">63</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">64</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">65</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">66</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">67</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">68</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">69</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">70</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">71</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">72</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">73</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">74</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">75</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">76</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">77</span></p>


  </td>


  <td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#include &lt;avr/io.h&gt;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#include "msgeq7.h"</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//Three LEDSs connected to PWM


  Outputs</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define SET_LED1_BRIGHTNESS(x)


  (OCR2=x)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define SET_LED2_BRIGHTNESS(x)


  (OCR1BL=x)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define SET_LED3_BRIGHTNESS(x)


  (OCR1AL=x)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">IO_init(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">TIMER_init(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">ADC_init(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">ReadAnalog(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">int</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">main(void)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">{</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">result[7];</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">IO_init();</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">TIMER_init();</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">ADC_init();</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">/* Replace with your application


  code */</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">msgeq7_reset();</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">while</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">(1)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">{</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">msgeq7_getValues((char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">*)&amp;result);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">SET_LED1_BRIGHTNESS(result[0]);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">SET_LED2_BRIGHTNESS(result[3]);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">SET_LED3_BRIGHTNESS(result[6]);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">IO_init(void){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//PORTB as output</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">DDRB=0XFF;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//PORTB as current source</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">PORTB=0XFF;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//PORTD pins D7 and D4 as output</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">DDRD|=(1&lt;&lt;DDRD7)|(1&lt;&lt;DDRD4);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">TIMER_init(void){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//timer2 in fast PWM mode and


  inverting output on OCR2</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">TCCR2|=(1&lt;&lt;COM21)|(1&lt;&lt;COM20)|(1&lt;&lt;WGM21)|(1&lt;&lt;WGM20)|(1&lt;&lt;CS20);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//tiemr1 in fast PWM mode and


  inverting output on OCR1A and OCR1B</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">TCCR1A|=((1&lt;&lt;COM1A0)|(1&lt;&lt;COM1A1)|(1&lt;&lt;WGM10)|(1&lt;&lt;COM1B0)|(1&lt;&lt;COM1B1));</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">TCCR1B|=(1&lt;&lt;WGM12)|(1&lt;&lt;CS10);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">ADC_init(){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//Select internal referance and


  Channel 0</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">ADMUX|=(1&lt;&lt;REFS0)|(1&lt;&lt;REFS1);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//Enable ADC and ADC


  frequency=clock frequency/4</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">ADCSRA|=(1&lt;&lt;ADEN)|(1&lt;&lt;ADPS1);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">ReadAnalog(void){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//interger to store 10-bit ADC


  value</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned int</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">result=0;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//start conversion</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">ADCSRA|=(1&lt;&lt;ADSC);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//wait till converion is done</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">while(ADCSRA&amp;(1&lt;&lt;ADSC));</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//read result</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">result=ADCW;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">//return 10-bit value mapped to


  8-bit value i.e 1024/4=256</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">return</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">(unsigned char)(result/4);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  </td>


 </tr></tbody></table><p><span lang="en" xml:lang="en">msgeq7.h</span></p><p></p>





<table border="0" cellspacing="0" cellpadding="0" style="font-size:10pt;font-family:'맑은 고딕';"><tbody><tr><td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">1</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">2</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">3</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">4</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">5</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">6</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">7</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">8</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">9</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">10</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">11</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">12</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">13</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">14</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">15</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">16</span></p>


  </td>


  <td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#ifndef INCFILE1_H_</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define INCFILE1_H_</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define STROBE_PORT PORTD</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define STROBE_PIN PORTD4</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define RESET_PORT PORTD</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define RESET_PIN PORTD7</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">msgeq7_reset(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">msgeq7_getValues(char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">* const);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#endif /* INCFILE1_H_ */</span></code></p>


  </td>


 </tr></tbody></table><p><span lang="en" xml:lang="en">msgeq7.c</span></p><p></p>





<table border="0" cellspacing="0" cellpadding="0" style="font-size:10pt;font-family:'맑은 고딕';"><tbody><tr><td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">1</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">2</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">3</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">4</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">5</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">6</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">7</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">8</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">9</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">10</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">11</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">12</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">13</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">14</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">15</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">16</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">17</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">18</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">19</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">20</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">21</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">22</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">23</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">24</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">25</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">26</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">27</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">28</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">29</span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us">30</span></p>


  </td>


  <td style="padding:0cm 0cm 0cm 0cm;">


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#define F_CPU 16000000</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#include &lt;avr/io.h&gt;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#include &lt;util/delay.h&gt;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">#include "msgeq7.h"</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">ReadAnalog(void);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">msgeq7_reset(){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">STROBE_PORT|=(1 &lt;&lt;


  STROBE_PIN); //make sure that STORBE pin is high before RESET</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">_delay_us(100);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">RESET_PORT|=(1 &lt;&lt; RESET_PIN);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">_delay_us(100);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">RESET_PORT &amp;= ~(1 &lt;&lt;


  RESET_PIN);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">_delay_us(100);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">void</span></code><span lang="en-us" xml:lang="en-us">


  </span><code><span lang="en-us" xml:lang="en-us">msgeq7_getValues(char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">* const</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">result){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">unsigned char</span></code><span lang="en-us" xml:lang="en-us"> </span><code><span lang="en-us" xml:lang="en-us">i=0;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">for(i=0;i&lt;7;i++){</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">STROBE_PORT&amp;= ~(1 &lt;&lt;


  STROBE_PIN);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">_delay_us(100);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">result[i]=ReadAnalog();</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">if(result[i]&lt;60)</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">result[i]=0;</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">STROBE_PORT|=(1 &lt;&lt;


  STROBE_PIN);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">_delay_us(100);</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  <p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><code><span lang="en-us" xml:lang="en-us">}</span></code></p>


  </td>


 </tr></tbody></table><p style="margin:0cm 0cm 0.0001pt;font-size:12pt;font-family:'굴림';"><span lang="en-us" xml:lang="en-us"> </span></p><p>





<br /></p>]]></description>
<dc:creator>하나를하더라도최선을</dc:creator>
<dc:date>2019-10-21T17:52:45+09:00</dc:date>
</item>

</channel>
</rss>
