본문 바로가기

HW 프로그래밍/아두이노57

아두이노끼리 시리얼 통신(tx,rx) Serial.write() 아두이노의 Serial.write() 함수는 Serial 포트에 하나의 바이트 또는 그 이상의 바이트를 전송하는데 사용합니다. 주로 데이터 통신을 구현할 때 사용되며 Serial.print() 함수와 구분되어 사용합니다. Serial.write() 함수는 숫자를 전송할 때 숫자 있는 그대로 전송합니다. 이는 숫자를 ASCII 코드로 변환하여 전송하는 Serial.print() 함수와 구분되며 일부 매개변수 입력에도 차이가 있습니다. Serial.write() Serial.write(val); Serial.write(str); Serial.write(buf, len); 매개변수(Parameters) val : 1 바이트 데이터(0x00 ~ 0xFF) str : 문자열(ex ‘A’, “Hello”) buf .. 2020. 3. 20.
아두이노 이더넷 쉴드(28J60)를 이용한 NTP 동기화 아두이노에 이더넷 쉴드를 사용하면 다양한 응용이 가능한데 제일 먼저 필요한것중 하나가 시간에 대한 것이다. 센서 측정이든,다른 기능이든 기준이 되는 시간 값을 가지고 오는 것은 데이터 신뢰 측면에서 중요하다. 28J60 칩을 사용한 아두이노 나노용 이더넷쉴드를 이용하여 NTP 서버와 1일 1번 동기화 하는 기능을 구현하였다. 준비물 : 1. 아두이노 나노(CH340을 사용하는 중국산 제품을 사용하였다.) 2. 아두이노 나노용 이더넷쉴드(가치정보기술에서 파는 제품을 구매했는데 문자가 있어서 자가수리를 했다) 알리에서 구하는게 더 좋을듯 하다. #include //https://github.com/jcw/ethercard #include byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, .. 2020. 3. 4.
DK ectronics 아두이노 나노용 이더넷쉴드 수리 아두이노 나노 이더넷 쉴드다. ENC28J60칩을 사용하는데 이걸로 유선을 연결하려고 했는데 아무리 해도 작동이 안됐다. 무려 13,960 원이나 하는 제품인데... 제작사는 DK ectronics라고 하는데 원래 작동안돼는 제품이었다. 독일에 있는 사이트(https://www.mikrocontroller.net/topic/477142#5899322)에 따르면 D12번 핀이 AMS1117칩과 쇼트가 나도록 제작되었다는 것이다. 해결하기 위해서는 뒷면의 PCB를 글어내면 된다. D12, D11 사이에 있는 비아(관통하여 뒷면과 연결해주는)홀이 연결되어 있기 때문이며, 비아홀과 연결을 자르되 기존 연결은 유지하는 신공(?)을 발휘해야 한다. 잘못해서 기존 연결된 선까지 잘라버리면 큰 수리를 하거나 버려야 한.. 2020. 3. 3.
5V to 3.3V 저항구성 5V 출력신호를 3.3V 정치로 보내거나 변환해야하는 경우가 있다. 계산하면 다음과 같다. A voltage divider is a simple circuit which reduces a large voltage into a smaller one. Using 2 resistors and an input voltage, we can create an output voltage that is a fraction of the input. Below you can see the formula that you need to use to calculate the resistors that you need in your circuit: Solving the formula above with Vin=5V, R1=100.. 2020. 2. 24.
esp8266 시리얼 WiFi 모듈ESP-01 (DIP) [SZH-EK051] 사용법 인터넷에 있는 여러 방법으로 해도 안되는 것을 해결하였다. 사용한 esp8266 시리얼 WiFi 모듈 : ESP-01 (DIP) [SZH-EK051] 디바이스마트 제품번호 1279338 제품 외형(AI-Cloud inside라고 마킹되어 있다.) 1. 펌웨어 업데이트 esp8266의 기본 펌웨어는 보드레이트가 115000으로 설정되어있지만 아두이노의 소프트웨어 시리얼의 보드레이트는 9600이기 때문에 원활한 시리얼 통신을 위해선 9600으로 설정된 펌웨어가 필요하다. 아두이노 우노의 기본 전압은 5V라서 3.3V인 esp8266에 아두이노를 바로 달면 esp8266이 저세상으로 갑니다, 따라서 5v가 아닌 3.3v 구멍으로 esp8266을 연결해야된다. 연결도입니다. 위 그림과 같이 연결 후, 아래 파일.. 2019. 8. 12.
[펌]아두이노의 아날로그 핀을 디지털 핀으로 사용하기 출처 : http://studymake.blogspot.com/2015/05/blog-post_58.html 아두이노의 아날로그 핀을 디지털 핀으로 사용하기 대부분의 아두이노에서 사용되는 ATmega 계열의 마이크로콘트롤러는 아날로그 입력을 받을 수 있는 A/D변환 핀이 있는데 A0, A1, A2, .. 와 같이 이름이 붙어 있다. 이 핀들은 일반적인 디지털 핀으로도 사용할 수 있다. 따라서 아두이노에서 사용자가 디지털 핀의 수가 부족해서 더 필요하다면 아날로그 핀을 디지털 핀으로 사용할 수 있다, 아래 그림에서 보듯이 아두이노 우노의 경우 A0 부터 A5 까지 6개의 아날로그핀이 있다 [그림 1] 아두이노의 아날로그 핀들 만약 A0핀을 디지털 출력핀으로 사용하고 싶다면 다음과 같이 A0 상수를 이용하여.. 2019. 2. 9.