제조공정
<메인 클래스="사이트 메인" id="메인">
이 Arduino Tutorial에서는 DS3231 Real Time Clock Module을 사용하는 방법을 배웁니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다.
여기에 오는 첫 번째 질문은 Arduino 자체에 내장된 시간 측정기가 있는 경우 Arduino 프로젝트에 대해 실제로 별도의 RTC가 필요한 이유입니다. 요점은 RTC 모듈이 배터리로 실행되며 마이크로컨트롤러를 다시 프로그래밍하거나 주 전원을 분리하더라도 시간을 추적할 수 있다는 것입니다.
DS3231은 시, 분, 초는 물론 일, 월, 연도 정보를 유지할 수 있는 저가의 고정밀 실시간 시계입니다. 또한 윤년과 31일 미만의 달에 대한 자동 보상 기능이 있습니다.
<그림 클래스="aligncenter">이 모듈은 3.3V 또는 5V에서 작동할 수 있으므로 많은 개발 플랫폼 또는 마이크로컨트롤러에 적합합니다. 배터리 입력은 3V이며 일반적인 CR2032 3V 배터리는 모듈에 전원을 공급하고 1년 이상 정보를 유지할 수 있습니다.
이 모듈은 Arduino 보드에 매우 쉽게 연결할 수 있는 I2C 통신 프로토콜을 사용합니다.
다음은 회로도입니다.
<그림 클래스="aligncenter">따라서 우리에게 필요한 것은 4개의 와이어, 모듈에 전원을 공급하기 위한 VCC 및 GND 핀, 그리고 2개의 I2C 통신 핀 SDA 및 SCL뿐입니다.
아래 링크에서 이 Arduino 튜토리얼에 필요한 구성요소를 얻을 수 있습니다.
모듈을 연결하면 실시간 시계와 함께 작동하도록 Arduino 보드를 프로그래밍해야 합니다. 그러나 Arduino와 I2C 모듈 간의 통신을 프로그래밍할 때 코드는 그렇게 작고 쉽지 않습니다. 다행히 인터넷에서 찾을 수 있는 DS3231 RTC용 라이브러리가 이미 여러 개 있습니다.
이 튜토리얼에서는 Henning Karlsen이 만든 라이브러리를 사용하기로 선택했습니다. 이 라이브러리는 Henning Karlsen의 웹사이트(www.rinkydinkelectronics.com)에서 찾아 다운로드할 수 있습니다.
따라서 라이브러리를 다운로드하고 설치하면 첫 번째 데모 예제를 사용하여 처음에 RTC 모듈의 시계를 활성화할 수 있습니다. 데모 예제 코드의 설정 섹션에서 처음에 요일, 시간 및 데이터를 설정하기 위해 주석을 제거해야 하는 세 줄이 있음을 알 수 있습니다.
// Code from the Demo Example of the DS3231 Library
void setup()
{
// Setup Serial connection
Serial.begin(115200);
// Uncomment the next line if you are using an Arduino Leonardo
//while (!Serial) {}
// Initialize the rtc object
rtc.begin();
// The following lines can be uncommented to set the date and time
//rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(1, 1, 2014); // Set the date to January 1st, 2014
}
Code language: Arduino (arduino)
첫 번째 줄은 요일 설정, 두 번째 줄은 시, 분, 초 단위의 시간 설정, 세 번째 줄은 일, 월, 년 단위의 날짜 설정입니다.
이 코드를 업로드하면 세 줄을 다시 주석 처리하고 코드를 다시 업로드해야 합니다.
// Code from the Demo Example of the DS3231 Library
void loop()
{
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Send time
Serial.println(rtc.getTimeStr());
// Wait one second before repeating
delay (1000);
}
Code language: Arduino (arduino)
코드의 루프 섹션을 살펴보면 이제 세 가지 사용자 정의 기능을 사용하여 RTC에서 정보를 가져와 직렬 모니터에 인쇄한다는 것을 알 수 있습니다. 다음은 직렬 모니터에 나타나는 방식입니다.
<그림 클래스="aligncenter">이제 아두이노 전원을 뽑았다가 다시 연결하고 시리얼 모니터를 다시 실행해도 리셋되지 않고 시간이 계속 흐른다는 것을 알 수 있습니다.
이제 실시간 클럭이 실행되고 모든 Arduino 프로젝트에서 사용할 수 있습니다. 두 번째 예로 저는 LCD를 Arduino에 연결하고 그 위에 시간과 날짜를 인쇄했습니다.
<그림 클래스="aligncenter">이 예시의 소스 코드는 다음과 같습니다.
/*
* Arduino DS3231 Real Time Clock Module Tutorial
*
* Crated by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
* DS3231 Library made by Henning Karlsen which can be found and downloaded from his website, www.rinkydinkelectronics.com.
*
*/
#include <DS3231.h>
#include <LiquidCrystal.h> // includes the LiquidCrystal Library
DS3231 rtc(SDA, SCL);
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)
void setup() {
rtc.begin(); // Initialize the rtc object
lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display }
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Time: ");
lcd.print(rtc.getTimeStr());
lcd.setCursor(0,1);
lcd.print("Date: ");
lcd.print(rtc.getDateStr());
delay(1000);
}
Code language: Arduino (arduino)
이것이 이 Arduino 튜토리얼의 전부입니다. 아래의 댓글 섹션에서 언제든지 질문하세요.
제조공정
Arduino 자습서 시리즈의 두 번째 Arduino 자습서에 오신 것을 환영합니다. 이 튜토리얼에서는 디지털 입력 및 출력 핀이 작동하는 방식을 배우고 버튼과 LED를 사용하여 몇 가지 예를 만들 것입니다. 또한 PWM(Pulse Width Modulation)이 무엇인지 배우고 PWM을 사용하여 LED 밝기를 제어하는 예를 만듭니다. 이것은 따라하기 쉬운 단계별 비디오 자습서입니다. 또한 동영상 아래에서 이 튜토리얼에 필요한 부품과 동영상의 예제 소스 코드를 찾을 수 있습니다. 이 가이드에 필요한 구성요소 Ardui
이 프로젝트에서는 Arduino 터치 스크린 MP3 음악 플레이어와 알람 시계를 만드는 방법을 보여 드리겠습니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 홈 화면에는 큰 시계, 날짜 및 온도 정보, 뮤직 플레이어 및 알람 시계용 버튼 2개가 있습니다. 뮤직 플레이어에 들어가면 화면 중앙에 있는 큰 재생 버튼을 눌러 음악 재생을 시작할 수 있습니다. 바로 옆에는 이전 또는 다음 곡을 재생할 수 있는 두 개의 버튼이 더 있습니다. 이 버튼 위에는 노래 진행률 표시줄이 있고 화면 하단에는 볼