在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個由Arduino驅動的數字時鐘詳解

科技觀察員 ? 來源:LAGSILVA ? 作者:LAGSILVA ? 2022-04-06 16:20 ? 次閱讀

本文要介紹的是一個由Arduino驅動的數字時鐘,同時也是一個非常有趣的四沖程發動機模擬器,通過小時和分鐘處的數字模擬汽車發動機的活塞運動。

介紹

由Arduino驅動的“四沖程數字時鐘”是一個有趣的數字時鐘內燃機模擬器。小時和分鐘數字代表活塞移動并具有精確的RPM控制(100到800),RPM由顯示屏中心的兩列顯示。

另一個有趣的視覺信息是氣缸的點火順序“1-3-4-2”。當活塞在壓縮循環中位于氣缸頂部時,火花開始。該項目可以作為學習管理點陣像素和引入簡單動畫功能的一個很好的練習。

四沖程內燃機

該項目中使用的發動機型號是四沖程循環的I4(直列四缸)。四沖程內燃機分為四個步驟(進氣-壓縮-燃燒-排氣),其中一步如下圖所示:

pYYBAGJNTReADJn6AAIFQKyzCBo542.png

注意:更多內燃機的基本信息可以在維基百科上找到。

時鐘

在這個項目中,小時和分鐘的數字模擬了活塞的運動,并且所有氣缸的火花在正確的時間突出顯示。

精確計算旋轉以表示實際速度,并通過旋轉電位計在100至800RPM(每分鐘轉數)之間調整該值。

pYYBAGJNTRSAYJ1oAAVN59aNJ4Q668.png

材料清單

ArduinoUNOR3

LED點陣與MAX7219

DS1307RTC(實時時鐘

旋轉電位器-10KOhms

面包板

打印模板

跳線

poYBAGJNTQ-ADzezAAP_mL1ZK5U694.png

3D打印文件:

poYBAGJNTQuAXJgWAAFZOhWj7nU764.png

示意圖:

pYYBAGJNTQaAChu5AAH4xe_RKzk064.png

本文所用到代碼:

#include // LED 矩陣庫 - MAX72XX
#include // DS1307RTC 庫 - Arduino UNO 的引腳:A4 (SDA), A5 (SCL)
#include // 實時時鐘庫
#include // 時間庫
#include

// 全局變量
字節 hh, mm ; // 小時,分鐘
字節uH,uM,dH,dM ; // 單位小時,單位分鐘,青少年小時,青少年分鐘
字節p = 0 ; // 繪圖模式(數字位置:上/下)
int RPM = 0 , lastRPM = 0 , pinRPM = 0 ; // RPM,RPM 的最后值,RPM 的模擬引腳
字節序列 = 1 ; // 開始火序列

/*
用于連接 MAX72XX的 Arduino 引腳號(帶 MAX72XX 控制器的 LED 陣列)
引腳5連接到 DataIn ( DIN )
引腳6連接到負載( CS )
引腳7連接到 CLK ( CLK )
*/

LedControl lc = LedControl ( 5 , 7 , 6 , 2 ) ; // LedControl ( int DIN, int CLK, int CS, int numDevices )


// 數字數組 - ( 0到9 ) - 大小 5x3

字節數[ 10 ] [ 3 ] = {

{ 0xF8, 0x88, 0xF8 } , // 0
{ 0x00, 0xF8, 0x40 } , // 1
{ 0xE8, 0xA8, 0xB8 } , // 2
{ 0xF8, 0xA8, 0x88 } , // 3
{ 0x78, 0x20, 0xE0 } , // 4
{ 0xB8, 0xA8, 0xE8 } , // 5
{ 0xB8, 0xA8, 0xF8 } , // 6
{ 0xC0, 0xB8, 0x80 } , // 7
{ 0xF8, 0xA8, 0xF8 } , // 8
{ 0xF8, 0xA0, 0xE0 } , // 9

};


無效設置() {

setSyncProvider(RTC.get); // Function to read RTC (Real Time Clock)
setSyncInterval(60); // Set the number of seconds between re-sync
//setTime(8, 19, 30, 10, 02, 2018); // Set the Time and Date (hour, minute, second, day, month, year)
//RTC.set(now()); // Set the RTC time

// Setup of Display "0"
lc.shutdown(0, false); // Wakeup Display "0"
lc.setIntensity(0, 4); // Set the Brightness of Display (0 to 15)
lc.clearDisplay(0); // Clear Display "0"

// Setup of Display "1"
lc.shutdown(1, false); // Wakeup Display "1"
lc.setIntensity(1, 4); // Set the Brightness of Display (0 to 15)
lc.clearDisplay(1); // Clear Display "1"

}


void loop() {

hh = hour();
mm = minute();

uH = hh % 10;
dH = hh / 10;

uM = mm % 10;
dM = mm / 10;


// Plot Hours

for (byte k = 0; k < 3; k++) {

lc.setRow(0, k + 5, num[dH][k] >> (p + 2));
lc.setRow(0, k + 1, num[uH][k] >> (3 - p));

}


// Plot Minutes

for (byte k = 0; k < 3; k++) {

lc.setRow(1, k + 4, num[dM][k] >> (3 - p));
lc.setRow(1, k , num[uM][k] >> (p + 2));

}


// Plot Fire Sequence: 1-3-4-2 (4 cyl: 1-3-4-2 or 1-2-4-3 or 1-4-3-2)

if (seq == 1) { // Fire Cyl #1
lc.setLed(0, 6, 0, true);
}

if (seq == 2) { // Fire Cyl #3
lc.setLed(1, 5, 0, true);
}

if (seq == 3) { // Fire Cyl #4
lc.setLed(1, 1, 0, true);
}

if (seq == 4) { // Fire Cyl #2
lc.setLed(0, 2, 0, true);
}

seq = seq % 4 + 1;


// RPM reading

RPM = analogRead(pinRPM); // Potentiometer reading

RPM = map(RPM, 0, 1023, 1, 9);

if (RPM <= 8) {
lc.setLed(1, 7, 8 - RPM, true);
lc.setLed(0, 0, 8 - RPM, true);
delay(300 / RPM); // Speed setup by potentiometer (100 - 800 RPM)

if (lastRPM != RPM) {
lc.setRow(0, 0, 0);
lc.setRow ( 1 , 7 , 0 ) ;
最后轉數 =轉數;
}

}

p = !p ; // 切換數字位置(上 x 下)


}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模擬器
    +關注

    關注

    2

    文章

    875

    瀏覽量

    43224
  • 數字時鐘
    +關注

    關注

    2

    文章

    150

    瀏覽量

    20345
  • Arduino
    +關注

    關注

    188

    文章

    6469

    瀏覽量

    187091
收藏 人收藏

    評論

    相關推薦

    Arduino CNC電機擴展板詳解

    -cnc-shield/Arduino CNC電機擴展板詳解(A4988驅動42步進電機)概述電機步進模式設置外接直流電源用于控制電機的Arduino引腳
    發表于 06-29 09:17

    怎么實現基于Arduino的多功能數字時鐘的設計?

    怎么實現基于Arduino的多功能數字時鐘的設計?
    發表于 11-02 06:16

    如何使用Arduino和步進電機制作3D打印裝飾時鐘

    組成。該設計部分組成。主要部分之是身體。減速齒輪只需滑入即可設置,在車身部分使用斜軸導軌。微小的驅動齒輪步進電機的軸保持。微小的
    發表于 06-29 07:36

    基于FPGA的數字集成時鐘電路設計方案詳解

    在當前的數字集成電路設計中,同步電路占了絕大部分。所謂同步電路,即電路中的所有寄存器為數不多的幾個全局時鐘驅動,被相同時鐘信號
    發表于 07-12 09:02 ?5927次閱讀
    基于FPGA的<b class='flag-5'>數字</b>集成<b class='flag-5'>時鐘</b>電路設計方案<b class='flag-5'>詳解</b>

    如何利用Arduino UNO設計無RTC模塊簡單時鐘

    它只是Arduino控制的簡單數字時鐘,無需使用任何RTC模塊(實時
    的頭像 發表于 05-14 15:16 ?4353次閱讀
    如何利用<b class='flag-5'>Arduino</b> UNO設計無RTC模塊簡單<b class='flag-5'>時鐘</b>

    Arduino語法詳解含示例詳解

    Arduino語法詳解_含示例詳解
    發表于 07-19 14:09 ?6次下載

    arduino數字LED時鐘

    電子發燒友網站提供《arduino數字LED時鐘.zip》資料免費下載
    發表于 10-20 14:55 ?2次下載
    <b class='flag-5'>arduino</b><b class='flag-5'>數字</b>LED<b class='flag-5'>時鐘</b>

    如何使用Arduino和LCD制作數字時鐘

    電子發燒友網站提供《如何使用Arduino和LCD制作數字時鐘.zip》資料免費下載
    發表于 10-28 10:23 ?5次下載
    如何使用<b class='flag-5'>Arduino</b>和LCD制作<b class='flag-5'>數字</b><b class='flag-5'>時鐘</b>

    Arduino便宜的最小零件數字時鐘

    電子發燒友網站提供《Arduino便宜的最小零件數字時鐘.zip》資料免費下載
    發表于 10-31 10:15 ?1次下載
    <b class='flag-5'>Arduino</b>便宜的最小零件<b class='flag-5'>數字</b><b class='flag-5'>時鐘</b>

    DIY 3D打印單數字Arduino時鐘

    電子發燒友網站提供《DIY 3D打印單數字Arduino時鐘.zip》資料免費下載
    發表于 11-02 11:02 ?2次下載
    DIY 3D打印單<b class='flag-5'>數字</b><b class='flag-5'>Arduino</b><b class='flag-5'>時鐘</b>

    使用Arduino Nano R3進行紅外遙控的數字時鐘

    電子發燒友網站提供《使用Arduino Nano R3進行紅外遙控的數字時鐘.zip》資料免費下載
    發表于 11-03 11:30 ?1次下載
    使用<b class='flag-5'>Arduino</b> Nano R3進行紅外遙控的<b class='flag-5'>數字</b><b class='flag-5'>時鐘</b>

    基于Arduino UNO的史上最簡單數字時鐘

    有史以來最簡單的 Arduino LCD 時鐘。只需要 Arduino UNO、
    發表于 12-21 11:29 ?3次下載

    基于3D打印的Arduino模擬數字時鐘

    方案介紹本項目是真正意義上的「機械時鐘」, 3D 打印部件、25 Arduino Na
    發表于 12-27 16:00 ?0次下載

    Arduino自制只有表針的時鐘

    我們來起看看如何用Arduino自制只有表針,沒有表盤的“空心時鐘”。
    的頭像 發表于 03-09 13:33 ?1438次閱讀

    使用Arduino制作簡單的數字時鐘

    電子發燒友網站提供《使用Arduino制作簡單的數字時鐘.zip》資料免費下載
    發表于 06-26 10:48 ?5次下載
    使用<b class='flag-5'>Arduino</b>制作簡單的<b class='flag-5'>數字</b><b class='flag-5'>時鐘</b>
    主站蜘蛛池模板: 中文字幕天天干| 簧片视频在线观看| 日本xxxxxxxxx18| 中日韩黄色大片| 嫩草影院网站入口| 天天操天天玩| 老师办公室高h文小说| 女人被狂躁视频网站免费| 午夜看片在线| 亚色视频在线| 欧美一区二区三区成人看不卡| 午夜免费剧场| 亚洲第一区视频| 免费在线观看a| 欧美日操| 伊人久久大香线蕉综合bd高清| 久久奈| 久久精品午夜视频| 在线观看www日本免费网站| 国产网站免费看| 26uuu欧美日本| 色倩网站| 天天干天| 在线激情网| 成人亚洲欧美| 一区二区网站| 女人张开腿给男人桶爽免费| 免费午夜在线视频| 亚洲欧洲国产精品你懂的| 成人午夜性a一级毛片美女| 丁香婷婷开心激情深爱五月| 日本a级影院| 免费人成网站永久| 五月天婷婷在线视频| 4虎影院在线观看| 美女被免费网站在线视频九色| 开心激情婷婷| 91精品久久久久含羞草| 日本一线a视频免费观看| 人人免费操| 天天噜噜色|