<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>즐거운 코딩 생활 ( funyphp ) &amp;gt; community &amp;gt; arduino</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino</link>
<language>ko</language>
<description>arduino (2021-01-26 14:54:35)</description>

<item>
<title>[ arduino ] 압력센서( Sensor - 아날로그 )</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=26</link>
<description><![CDATA[<p>압력센서( Sensor - 아날로그 )</p>
<p> - Force Sensitive Resistor</p>
<p>센서를 이용해서 LED 불이 밝이가 달라지게 켜기</p>
<p>LED는 11번에서 + 선으로 연결</p>
<p>LED 저항값을 - 와 연결( 저항은 주 붉 )</p>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210126145246_9d2312a14d88ad507b3597d5f9f774d2_drfw.png" alt="KakaoTalk_20210126_142707949.png" /></p>
<p> </p>
<p> </p>
<p>void setup() {</p>
<p>  Serial.begin(9600);</p>
<p>  pinMode(A0, INPUT);</p>
<p>  pinMode(11, OUTPUT);</p>
<p>}</p>
<p><br /></p>
<p>void loop() {</p>
<p>  int a = analogRead(A0);</p>
<p>  //int m = map(a, 0, 1023, 0,255);</p>
<p>  //Serial.println(a);</p>
<p><br /></p>
<p>  Serial.println(a);</p>
<p>  int m = map(a, 0, 990, 0, 255);</p>
<p>  analogWrite(11, m);</p>
<p>}</p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-26T14:54:35+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 키패드를 사용해서 비밀번호 확인하기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=25</link>
<description><![CDATA[<p>비밀번호가 맞으면 시리얼 모니터에 OK가 뜨고 </p>
<p>비밀번호가 맞지 않으면 시리얼 모니터에 NO가 뜨게하는 프로그램</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>#include &lt;Keypad.h&gt;</p>
   <p><br /></p>
   <p>const byte ROWS = 4; //four rows</p>
   <p>const byte COLS = 3; //three columns</p>
   <p>char keys[ROWS][COLS] = {</p>
   <p>  {'1', '2', '3'},</p>
   <p>  {'4', '5', '6'},</p>
   <p>  {'7', '8', '9'},</p>
   <p>  {'*', '0', '#'}</p>
   <p>};</p>
   <p>byte rowPins[ROWS] = {7, 2, 3, 5}; //connect to the row pinouts of the keypad</p>
   <p>byte colPins[COLS] = {6, 8, 4}; //connect to the column pinouts of the keypad</p>
   <p><br /></p>
   <p>Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>  pinMode(11, OUTPUT);</p>
   <p>  pinMode(12, OUTPUT);</p>
   <p>  pinMode(13, OUTPUT);</p>
   <p>}</p>
   <p>String a = "3333";</p>
   <p>String b = "";</p>
   <p>boolean state = false;</p>
   <p>void loop() {</p>
   <p>  char key = keypad.getKey();</p>
   <p><br /></p>
   <p>  if (key) {</p>
   <p>    Serial.print(key);</p>
   <p><br /></p>
   <p>    if (key == '*') {</p>
   <p>      if (b == a) {</p>
   <p>        //Serial.print(b);</p>
   <p>        Serial.println("OK");</p>
   <p>        digitalWrite(11, HIGH);</p>
   <p>        digitalWrite(12, HIGH);</p>
   <p>        digitalWrite(13, HIGH);</p>
   <p>        b = "";</p>
   <p>      } else {</p>
   <p>        //Serial.print(b);</p>
   <p>        Serial.println("NO");</p>
   <p>        b = "";</p>
   <p>      }</p>
   <p>    } else {</p>
   <p>      b += key;</p>
   <p>    }</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210126145556_9d2312a14d88ad507b3597d5f9f774d2_5kcn.png" alt="KakaoTalk_20210126_114919198.png" /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-26T12:48:03+09:00</dc:date>
</item>


<item>
<title>[ arduino ] keypad 다운로드 / 사용 / 제어하기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=24</link>
<description><![CDATA[<p> </p>
<p>keypad 다운로드 / 사용 / 제어하기</p>
<p>키패드의 숫자 및 특수문자를 클릭했을 때 </p>
<p>1을 누르면 3,2</p>
<p>5를 누르면 1,7</p>
<p>#을 누르면 5,4 </p>
<p>값들이 들어온다.</p>
<p> </p>
<table class="tg" style="width:50%;" border="1"><colgroup><col width="10%" /><col width="10%" /><col width="10%" /><col width="10%" /></colgroup>
   <thead>
      <tr>
         <th class="tg-0lax" bgcolor="#ccffff">3</th>
         <th class="tg-0lax" bgcolor="#ccffff">1</th>
         <th class="tg-0lax" bgcolor="#ccffff">5</th>
         <th class="tg-0lax" bgcolor="#66ffcc"></th>
         </tr>
      </thead>
   <tbody>
      <tr>
         <td class="tg-0lax">1</td>
         <td class="tg-0lax">2</td>
         <td class="tg-0lax">3</td>
         <td class="tg-0lax" bgcolor="#ccffff">2</td>
         </tr>
      <tr>
         <td class="tg-0lax">4</td>
         <td class="tg-0lax">5</td>
         <td class="tg-0lax">6</td>
         <td class="tg-0lax" bgcolor="#ccffff">7</td>
         </tr>
      <tr>
         <td class="tg-0lax">7</td>
         <td class="tg-0lax">8</td>
         <td class="tg-0lax">9</td>
         <td class="tg-0lax" bgcolor="#ccffff">6</td>
         </tr>
      <tr>
         <td class="tg-0lax">*</td>
         <td class="tg-0lax">0</td>
         <td class="tg-0lax">#</td>
         <td class="tg-0lax" bgcolor="#ccffff">4</td>
         </tr>
      </tbody>
   </table>
<p>키패드 사용하기</p>
<p> - 키패드의 핀이 9개짜리면 1과 9번을 사용하지 않음.</p>
<p> - 키패드의 핀이 7개면 모두 사용하면 된다.</p>
<p> - 핀 배열은 앞에서부터 차례대로 8, 7, 6, 5, 4, 3, 2 로 연결을 해주는게 배선도가 편해진다.</p>
<p>키패드 라이브러리</p>
<p>http://playground.arduino.cc/Code/Keypad#Download</p>
<p>zip파일 다운로드</p>
<p>스케치 &gt; 라이브러리 포함하기 &gt; .zip 라이브러리 추가 &gt; 다운로드 받은 파일 추가</p>
<p>파일 &gt; 예제 &gt; keypad &gt; HelloKeypad 클릭</p>
<p>배선돌르 편하게 하기위해서 아래처럼 수정해준다.</p>
<p>아래의 숫자들은 배선의 핀번호이다.</p>
<p>기본으로 적혀있는 핀번호(우노보드의 핀번호)</p>
<p>byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad</p>
<p>byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad</p>
<p><br /></p>
<p>변경해서 사용할 핀번호(우노보드의 핀번호)</p>
<p>byte rowPins[ROWS] = {7, 2, 4, 5};</p>
<p>byte colPins[COLS] = {6, 8, 4};</p>
<p> </p>
<p>keypad.getKey() ===&gt; 값이 없으면 빈을 반환</p>
<p>값이 있을 때만 출력하기 위해 if문을 사용해 값이 있을 때만 출력</p>
<p>if(key) {</p>
<p>    Serial.println(key);</p>
<p>}</p>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-26T11:13:59+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 버튼을 눌러서 릴레이 모듈(스위치) 켜고 끄기( 1번 누르면 켜지고 다시 누르면 꺼지고 )</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=23</link>
<description><![CDATA[<p>릴레이 모듈( Actuator )</p>
<p> - 낮은 전압 / 전류를 이용하여 더 높은 전압 / 전류를 제어</p>
<p> - on, off가 있는 일종의 스위치</p>
<p><br /></p>
<p>NC(Normally Close)</p>
<p> - 릴레이 OFF -&gt; 전기가 통함</p>
<p> - 릴레이 ON -&gt; 전기가 통하지 않음</p>
<p><br /></p>
<p>버튼을 눌러서 릴레이 모듈(스위치) 켜고 끄기( 1번 누르면 켜지고 다시 누르면 꺼지고 )</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>void setup() {</p>
   <p>  pinMode(11, INPUT);</p>
   <p>  pinMode(12, OUTPUT);</p>
   <p>  Serial.begin(9600);</p>
   <p>}</p>
   <p><br /></p>
   <p>boolean btnState = true;</p>
   <p>int cnt = 0;</p>
   <p>void loop() {</p>
   <p>  int btn11 = digitalRead(11);</p>
   <p>  if(btn11 == 1) {</p>
   <p>    if(btnState) {</p>
   <p>      cnt++;</p>
   <p>      btnState = false;</p>
   <p>      if(cnt == 1) {</p>
   <p>        //digitalWrite(12, HIGH);</p>
   <p>      } else if(cnt == 2){</p>
   <p>        //digitalWrite(12, LOW);</p>
   <p>        cnt = 0;</p>
   <p>      }</p>
   <p>    }</p>
   <p>  } else if (btn11 == 0) {</p>
   <p>    btnState = true;</p>
   <p>  }</p>
   <p>  Serial.println(cnt);</p>
   <p>  digitalWrite(12, cnt);</p>
   <p>}</p>
   </div>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-26T10:32:01+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 문자가 들어올 때 간단하게 처리 하는 방법</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=22</link>
<description><![CDATA[<p>문자가 들어올 때 간단하게 처리 하는 방법</p>
<p>아두이노에서 문자열은 한글자씩 읽어 들여서 저장을 해줘야 한다.</p>
<p>한번 read()로 읽어들인 문자는 저장이 되지 않아도 날아가 버린다.</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>boolean type = false;</p>
   <p>String str = "";</p>
   <p>while (esp.available()) {</p>
   <p>    char c = esp.read(); //문자를 일단 넣어준다.</p>
   <p>    </p>
   <p>    if(c == '/') {</p>
   <p>        //ture, false 를 반대 상황에 맞게 넣어주는 방법</p>
   <p>        // '/'를 처음 만나게 되면 true가 되면 true인 상태에서 문자열을 저장하고</p>
   <p>        // '/'를 두번째 만나게 되면 false가 되면서 더이상의 문자열은 저장하지 않는다.</p>
   <p>        type = !type;</p>
   <p>    } else if(type) { // type가 true면</p>
   <p>        str += c;</p>
   <p>    }</p>
   <p>}</p>
   <p>Serial.print(str);</p>
   </div>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-26T09:13:24+09:00</dc:date>
</item>


<item>
<title>[ arduino ] wifi모듈(ESP8266) 연결 및 펌웨어 업데이트(9600port 사용)</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=20</link>
<description><![CDATA[<p>wifi모듈(ESP8266) 연결 및 펌웨어 업데이트( - 9600port 사용을 위해서 업데이트가 필요함)</p>
<p> </p>
<p>스케치에서 업로드를 하는데 0 / 1( Rx / Tx )을 빼고 업로드 빈파일을 업로드해서 활성화 </p>
<p>활성화시 툴 &gt; 시리얼포트를 선택해준다.</p>
<p>활성화 후 0 / 1 을 다시 꼽아준다.</p>
<p> </p>
<p>파일/폴더의 경로는 한글이 있으면 안된다.</p>
<p> </p>
<p>ESP8266_flasher_V00170901_00_Cloud Update Ready &gt; esp8266_flasher.exe 실행</p>
<p>bin 클릭해서 : ai-thinker-0.9.5.2-9600.bin &gt; download 클릭 </p>
<p>정상적으로 읽어지면 되고 안되면 3.3v를 뺏다가 꼽아준다.</p>
<p>download가 99% 까지 되면 , Leaving.... 이 뜸</p>
<p>스케치에서 시리얼 모니터를 클릭 &gt;&gt; 하단 Both NL &amp; CR 로 수정후</p>
<p>창에 AT를 클릭해서 OK가 뜨는 지 확인</p>
<p>다시 창에 </p>
<p>AT+CWMODE?</p>
<p>:: +CWMODE:2 라고 ok뜨면 정상</p>
<p> </p>
<p>AT+CWMODE=1<br /></p>
<p>OK</p>
<p> </p>
<p>AT+CWJAP :: 와이파이 신호가 잡힌다.</p>
<p>다음</p>
<p>AT+CWJAP="SSID", "PASSWORD"</p>
<p>SSID와 PASSWORD를 채워서 wifi 접속을 할 수 있게 해준다.</p>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210125115021_61d1d1d53031c0b67b884dc78082f6cc_sq9t.png" alt="KakaoTalk_20210125_094708050.png" /></p>
<p><br /></p>
<p>  </p>
<p>코드를 스케치에 넣어준다.</p>
<p>ssid password server_ip port등변경하고</p>
<p>전송하고 싶은 데이터 부분도 변경</p>
<p>아두이노의 시리얼모니터 &gt; </p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>#include &lt;SoftwareSerial.h&gt;</p>
   <p><br /></p>
   <p>// 모바일 HostSpot의 ID와 패스워드 (변경할 부분)</p>
   <p>const String SSID = "hodoo";</p>
   <p>const String PASSWORD = "12345678";</p>
   <p>// 서버주소와 포트 (변경할 부분)</p>
   <p>const String SERVER_IP = "wik.iptime.org";</p>
   <p>const String SERVER_PORT = "8090";</p>
   <p><br /></p>
   <p>// AT 명령 저장</p>
   <p>String cmd = "";</p>
   <p>// 전송 데이터 저장</p>
   <p>String sendData = "";</p>
   <p>// WiFi 접속 실패 여부</p>
   <p>boolean FAIL_8266 = false;</p>
   <p><br /></p>
   <p>// TX, RX</p>
   <p>SoftwareSerial esp(3, 2);</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  Serial.println("Start module connection");</p>
   <p>  do {</p>
   <p>    Serial.begin(9600);</p>
   <p>    esp.begin(9600);</p>
   <p>    // ESP8266 모듈 재시작</p>
   <p>    esp.println("AT+RST");</p>
   <p>    delay(1000);</p>
   <p>    // 만약 재시작되었다면</p>
   <p>    if (esp.find("ready")) {</p>
   <p>      Serial.println("Module ready");</p>
   <p>      // ESP8266 모듈의 모드를 듀얼모드로 설정 (클라이언트)</p>
   <p>      esp.println("AT+CWMODE=1");</p>
   <p>      delay(2000);</p>
   <p>      // AP에 접속되면</p>
   <p>      if (cwJoinAP()) {</p>
   <p>        Serial.println("AP successful");</p>
   <p>        FAIL_8266 = false;</p>
   <p>        delay(5000);</p>
   <p>        Serial.println("Start buffer initialization");</p>
   <p>        while (esp.available() &gt; 0) {</p>
   <p>          char a = esp.read();</p>
   <p>          Serial.write(a);</p>
   <p>        }</p>
   <p>        Serial.println();</p>
   <p>        Serial.println("Buffer initialization terminated");</p>
   <p>      } else {</p>
   <p>        Serial.println("AP connection failure");</p>
   <p>        delay(500);</p>
   <p>        FAIL_8266 = true;</p>
   <p>      }</p>
   <p>    } else {</p>
   <p>      Serial.println("Module connection failure");</p>
   <p>      delay(500);</p>
   <p>      FAIL_8266 = true;</p>
   <p>    }</p>
   <p>  } while (FAIL_8266);</p>
   <p>  Serial.println("Module connection complete");</p>
   <p>}</p>
   <p><br /></p>
   <p>boolean a = true;</p>
   <p>String message = "";</p>
   <p><br /></p>
   <p>void loop() {</p>
   <p>  message = "responsedata";</p>
   <p>  if (a) {</p>
   <p>    sendDataToServer(message);</p>
   <p>  }</p>
   <p>}</p>
   <p><br /></p>
   <p><br /></p>
   <p>void sendDataToServer(String data) {</p>
   <p>  Serial.println("Start the data transfer part");</p>
   <p>  cmd = "AT+CIPSTART=\"TCP\",\"" + SERVER_IP + "\"," + SERVER_PORT + "\r\n";</p>
   <p>  Serial.println("Attempt to connect to server");</p>
   <p>  esp.println(cmd);</p>
   <p>  // 웹 서버에 접속되면</p>
   <p>  if (esp.find("OK")) {</p>
   <p>    Serial.println("Server connection successful");</p>
   <p>  } else {</p>
   <p>    Serial.println("Server connection failed");</p>
   <p>  }</p>
   <p><br /></p>
   <p>  // 서버로 GET 메시지 전송</p>
   <p>  cmd = "GET /iot/pi01/power/";</p>
   <p>  cmd += data;</p>
   <p>  cmd += "\r\nConnection: close\r\n\r\n";</p>
   <p><br /></p>
   <p>  Serial.println(cmd);</p>
   <p>  esp.print("AT+CIPSEND=");</p>
   <p>  esp.println(cmd.length());</p>
   <p>  if (esp.find("OK")) {</p>
   <p>    Serial.println("Ready to send to server");</p>
   <p>  } else {</p>
   <p>    Serial.println("Failed to prepare to send to server");</p>
   <p>  }</p>
   <p>  esp.println(cmd);</p>
   <p>  </p>
   <p>  //데이터 전송이 완료되면</p>
   <p>  if (esp.find("OK")) {</p>
   <p>    Serial.println("Data transfer successful");</p>
   <p>    Serial.println();</p>
   <p>    delay(5000);</p>
   <p>    Serial.println("Attempt to receive data");</p>
   <p>    while (esp.available()) {</p>
   <p>      Serial.write(esp.read());</p>
   <p>    }</p>
   <p>    Serial.println();</p>
   <p>    Serial.println("End Receiving Data");</p>
   <p>  } else {</p>
   <p>    Serial.println("Data transfer failed");</p>
   <p>    sendDataToServer(data);</p>
   <p>  }</p>
   <p>  delay(10000);</p>
   <p>}</p>
   <p><br /></p>
   <p>boolean cwJoinAP() {</p>
   <p>  String cmd = "AT+CWJAP=\"" + SSID + "\",\"" + PASSWORD + "\"";</p>
   <p>  esp.println(cmd);</p>
   <p>  if (esp.find("OK")) {</p>
   <p>    return true;</p>
   <p>  } else {</p>
   <p>    return false;</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>
<p>eclipse 를 이용해서 서버를 만들준다.</p>
<p>Dynamic Web Project를 만들어서 톰켓 연결</p>
<p>jsp 파일을 하나 만들고, body에 아래 코드 입력</p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>&lt;%</p>
   <p>String a = request.getParameter("a");</p>
   <p>System.out.println(a);</p>
   <p>%&gt;</p>
   </div>
<p><br /></p>
<p>크롬에서 http://localhost:8081/프로젝트 폴더/jsp파일?a=123 으로 웹페이지 콘솔창에 찍히는지 확인</p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-25T09:58:25+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 블루투스 와 스마트폰을 이용해서 LED 켜고 끄기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=19</link>
<description><![CDATA[<p>블루투스 와 스마트폰을 이용해서 LED 켜고 끄기</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>#include &lt;SoftwareSerial.h&gt;</p>
   <p>SoftwareSerial mySerial(10, 11); // RX, TX</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>  mySerial.begin(9600);</p>
   <p><br /></p>
   <p>  pinMode(7, OUTPUT);</p>
   <p>}</p>
   <p><br /></p>
   <p>void loop() { // run over and over</p>
   <p>  char c = '0';</p>
   <p>  if (mySerial.available()) {</p>
   <p>    c = mySerial.read();</p>
   <p>  } else if (Serial.available()) {</p>
   <p>    c = Serial.read();</p>
   <p>  }</p>
   <p>  </p>
   <p>  if (c == '1') {</p>
   <p>    digitalWrite(7, HIGH);</p>
   <p>  } else  if (c == '2') {</p>
   <p>    digitalWrite(7, LOW);</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210125092426_61d1d1d53031c0b67b884dc78082f6cc_tmw1.png" alt="20210125_1.png" /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T17:43:38+09:00</dc:date>
</item>


<item>
<title>[ arduino ] Serial 시리얼 함수</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=18</link>
<description><![CDATA[<p>시리얼 모니터</p>
<p>Serial.begin(통신속도 -보드레이트)</p>
<p>Serial.print()</p>
<p>Serial.println()</p>
<p>Serial.available() - 읽어올 수 있는 문자(바이트) 수 반환</p>
<p>Serial.read() - 버퍼안에 있는 문자를 불러오는 함수</p>
<p>                      입력된 serial 데이터를 읽은 후 더이상 읽을 값이 없을 시 -1반환</p>
<p>Serial.parseInt() - 입력문자를 숫자로 인식하게 해줌(약간 느려짐)</p>
<p>Serial.write() - 숫자를 문자로 변환해서 보여주고 아스키코드값이 넘어가면 오류가 발생</p>
<p><br /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T17:02:13+09:00</dc:date>
</item>


<item>
<title>[ arduino ] Serial 블루투스 통신 - HC-06</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=17</link>
<description><![CDATA[<p>HC-06 모듈 ( 블루투스 모듈 )  - 배선연결</p>
<p> rx - 수신</p>
<p> tx  - 송신</p>
<p> vcc - 5v</p>
<p> gnd - gnd</p>
<p><br /></p>
<p>구글앱스토어 &gt; arduino bluetooth controller 설치</p>
<p>설치후 블루투스를 연결 &gt;&gt; 연결후 다운받은 앱실행 &gt;&gt; 터미널모드 선택</p>
<p> </p>
<p>SoftwareSerial mySerial(rx, tx); ( 핀이 2개만 존재하므로 반대로 받아야 한다 )</p>
<p>rx 핀번호가 11번이고, tx 핀번호가 10번이지만</p>
<p>rx쪽에 10 tx 쪽에 11을 입력해야 정보를 받아 올 수 있다.</p>
<p>SoftwareSerial mySerial(10, 11); </p>
<p>line ending 부분은 새줄로 해야 글이 스마트폰으로 전송이 가능하다</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>#include &lt;SoftwareSerial.h&gt;</p>
   <p>SoftwareSerial mySerial(10, 11); // RX, TX</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>  mySerial.begin(9600);</p>
   <p>}</p>
   <p><br /></p>
   <p>void loop() { // run over and over</p>
   <p>  if (mySerial.available()) {</p>
   <p>    Serial.write(mySerial.read());</p>
   <p>  }</p>
   <p>  if (Serial.available()) {</p>
   <p>    mySerial.write(Serial.read());</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T16:55:00+09:00</dc:date>
</item>


<item>
<title>[ arduino ] serial 을 이용해서 더하기 연산을 합시다.</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=16</link>
<description><![CDATA[<p>serial 을 이용해서 더하기 연산을 합시다.</p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>}</p>
   <p><br /></p>
   <p>int sum = 0;</p>
   <p>void loop() {</p>
   <p>  if(Serial.available()) {</p>
   <p>    int num = Serial.parseInt();</p>
   <p><br /></p>
   <p>    Serial.print(sum);</p>
   <p>    Serial.print("+");</p>
   <p>    Serial.print(num);</p>
   <p>    Serial.print("=");</p>
   <p>    Serial.println(sum+=num);</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>
<p><br /></p>
<p><img src="https://funyphp.com/data/editor/2101/20210122155412_cd6b7046922f4b217ddb0dc9db529483_66b1.png" alt="연산.png" /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T15:54:35+09:00</dc:date>
</item>


<item>
<title>[ arduino ] Serial 출력시 뒤에 나오는 10이나 1등의 숫자가 나오는 부분을 제거 할 때는 &gt;&gt; line ending</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=15</link>
<description><![CDATA[<p>Serial 출력시 뒤에 나오는 10이나 1등의 숫자가 나오는 부분을 제거 할 때는 &gt;&gt; line ending</p>
<p>10, 1 등은 개행문자를 아스키코드로 나오는 부분이다.</p>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210122153402_cd6b7046922f4b217ddb0dc9db529483_if6y.png" alt="line_ending.png" /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T15:34:16+09:00</dc:date>
</item>


<item>
<title>[ arduino ] Serial port를 이용해서 LED 켜기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=14</link>
<description><![CDATA[<p>Serial port를 이용해서 LED 켜기</p>
<p> 1번을 누르면 첫번째 LED</p>
<p> 2번을 누르면 두번째 LED</p>
<p> 3번을 누르면 세번째 LED</p>
<p> 4번을 누르면 LED 모두 점등</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>  for (int i = 9; i &lt;= 11; i++) {</p>
   <p>    pinMode(i, OUTPUT);</p>
   <p>  }</p>
   <p>}</p>
   <p><br /></p>
   <p>void loop() {</p>
   <p>  if (Serial.available()) {</p>
   <p>    char c = Serial.read();</p>
   <p>    Serial.print(c);</p>
   <p><br /></p>
   <p>    if(c == '1') {</p>
   <p>      digitalWrite(9, HIGH);</p>
   <p>    } else if(c == '2') {</p>
   <p>      digitalWrite(10, HIGH);</p>
   <p>    } else if(c == '3') {</p>
   <p>      digitalWrite(11, HIGH);</p>
   <p>    } else if(c == '4') {</p>
   <p>      digitalWrite(9, LOW);</p>
   <p>      digitalWrite(10, LOW);</p>
   <p>      digitalWrite(11, LOW);</p>
   <p>    }</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T15:28:39+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 초음파 센서 사용하기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=13</link>
<description><![CDATA[<p>vcc - 5v</p>
<p>gnd - gnd</p>
<p>trig -  디지털 2번 - 신호를 보냄(OUTPUT)</p>
<p>echo -  디지털 3번 - 신호를 받음(INPUT)</p>
<p><br /></p>
<p>echo 에 high를 넣으면 low~high의 시간을 가져온다.</p>
<p><br /></p>
<p> </p>
<p> </p>
<p>int trig = 2;</p>
<p>int echo = 3;</p>
<p><br /></p>
<p>void setup() {</p>
<p>  pinMode(trig, OUTPUT);</p>
<p>  pinMode(echo, INPUT);</p>
<p><br /></p>
<p>  Serial.begin(9600);</p>
<p>}</p>
<p><br /></p>
<p>void loop() {</p>
<p>  digitalWrite(trig, HIGH);</p>
<p>  delay(1);</p>
<p>  digitalWrite(trig, LOW);</p>
<p><br /></p>
<p>  int duration = pulseIn(echo, HIGH);</p>
<p>  int distance = duration/2/29;</p>
<p>  Serial.println(distance);</p>
<p>}</p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T11:49:56+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 버튼을 눌러서 차단기 작동시키기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=12</link>
<description><![CDATA[<p>버튼을 눌러서 차단기 작동시키기</p>
<p> - 버튼을 누르면 차단기가 닫힌다.</p>
<p> - 5개의 led를 1초에 한개씩 켠다</p>
<p> - 5초가 모두 지나면 차단기를 올린다.</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p> #include&lt;Servo.h&gt;</p>
   <p>Servo myservo;</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  Serial.begin(9600);</p>
   <p>  myservo.attach(8);</p>
   <p><br /></p>
   <p>  pinMode(7, INPUT);</p>
   <p><br /></p>
   <p>  for (int i = 9; i &lt;= 13; i++) {</p>
   <p>    pinMode(i, OUTPUT);</p>
   <p>  }</p>
   <p>}</p>
   <p><br /></p>
   <p>void loop() {</p>
   <p>  int btn7 = digitalRead(7);</p>
   <p>  Serial.println(btn7);</p>
   <p><br /></p>
   <p>  if (btn7 == 1) {</p>
   <p>    myservo.write(0);</p>
   <p>    for (int i = 9; i &lt;= 13; i++) {</p>
   <p>      digitalWrite(i, HIGH);</p>
   <p>      delay(1000);</p>
   <p>    }</p>
   <p>    myservo.write(90);</p>
   <p><br /></p>
   <p>    for (int i = 9; i &lt;= 13; i++) {</p>
   <p>      digitalWrite(i, LOW);</p>
   <p>    }</p>
   <p>  }</p>
   <p>}</p>
   </div>
<p> </p>
<p><img src="https://funyphp.com/data/editor/2101/20210122105851_cd6b7046922f4b217ddb0dc9db529483_cyfj.png" alt="KakaoTalk_20210122_095600189.png" /></p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-22T10:59:11+09:00</dc:date>
</item>


<item>
<title>[ arduino ] 모터 제어하기</title>
<link>https://www.funyphp.com/bbs/board.php?bo_table=arduino&amp;amp;wr_id=11</link>
<description><![CDATA[<p>모터 제어하기</p>
<p> </p>
<div style="padding:10px 10px 10px 18px;border-width:1px 1px 1px 4px;border-style:solid;border-color:#f42857;font-size:13px;line-height:19px;font-family:'courier 10 pitch', Courier, monospace;vertical-align:baseline;background-color:#051e30;color:#ffffff;">
   <p>#include&lt;Servo.h&gt;</p>
   <p>Servo myservo;</p>
   <p><br /></p>
   <p>void setup() {</p>
   <p>  myservo.attach(8);  </p>
   <p>}</p>
   <p><br /></p>
   <p>void loop() {</p>
   <p>  myservo.write(0);</p>
   <p>  delay(1000);</p>
   <p>  myservo.write(179);</p>
   <p>  delay(1000);</p>
   <p>}</p>
   </div>
<p> </p>
<p> </p>]]></description>
<dc:creator>웹지기</dc:creator>
<dc:date>2021-01-21T17:51:26+09:00</dc:date>
</item>

</channel>
</rss>
