首页游戏攻略若何造做罗盘时钟及罗盘时钟代码?

若何造做罗盘时钟及罗盘时钟代码?

misa2 04-19 4次浏览 0条评论
罗盘时钟

罗盘时钟是一种特殊的时钟,它不只能够显示时间,还能够显示指南针标的目的。造做罗盘时钟需要一个指南针传感器和一个时钟模块。指南针传感器能够检测地球磁场的变革,从而确定当前朝向。时钟模块则能够供给准确的时间信息。

造做罗盘时钟的步调如下:

1.毗连指南针传感器和时钟模块到Arduino板上。

2.编写法式,读取指南针传感器的数据,并将其转换为指南针标的目的。

3.将指南针标的目的和当前时间显示在OLED屏幕上。

4.造做外壳并安拆电路。

罗盘时钟的造做需要必然的电子手艺根底和编程才能。若是您是初学者,建议先从简单的Arduino项目起头进修。

罗盘时钟代码

下面是一个简单的罗盘时钟代码,它能够读取指南针传感器的数据,并将其转换为指南针标的目的。同时,它还能够显示当前时间和日期。

```

#include

#include

#include

#include

#include

Adafruit_HMC5883L compass;

Adafruit_SSD1306 display(128, 32, &Wire, -1);

void setup() {

Serial.begin(9600);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay();

display.setTextColor(SSD1306_WHITE);

display.setTextSize(1);

display.setCursor(0,0);

display.println("Compass Clock");

display.display();

compass.begin();

}

void loop() {

sensors_event_t event;

compass.getEvent(&event);

float heading = atan2(event.magnetic.y, event.magnetic.x);

if(heading < 0) heading += 2*PI;

if(heading > 2*PI) heading -= 2*PI;

int degrees = heading * 180/PI;

display.print("Heading: ");

display.println(degrees);

display.print("Time: ");

display.println(getTime());

display.print("Date: ");

display.println(getDate());

String getTime() {

String t = "";

t += String(hour());

t += ":";

t += String(minute());

t += String(second());

return t;

String getDate() {

String d = "";

d += String(month());

d += "/";

d += String(day());

d += String(year());

return d;

那段代码利用了Adafruit的HMC5883L库来读取指南针传感器的数据,并利用了Adafruit的SSD1306库来控造OLED屏幕。它还定义了两个函数getTime和getDate,别离用于获取当前时间和日期。

罗盘时钟指南针传感器时钟模块Arduino电子技术编程AdafruitHMC5883LSSD1306OLED屏幕.
小米阅读器制止拜候网站如何打消? 永久奇观是什么?
相关内容
发表评论

游客 回复需填写必要信息