許彧嘉
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    --- tags: 開發 --- # 生活科技_高三上_機電整合專案_"智慧遙控車" https://hackmd.io/@87DDB8mLTxuij-166W3TaA/ryKliqeQp/edit ## 實作 ### 材料 1. 3D列印 2. 伺服馬達 3. 超音波感測器 4. TT馬達 5. L298N擴展版 6. Arduino版 7. 紅外線遙控器 8. 紅外線接收器 9. 電池 10. 電池盒 ### 資料 <https://crazymaker.com.tw/arduino-how-to-use-millis-instead-of-delay/> <https://emmanuel-studios.blogspot.com/2020/02/l298n-rototics-by-sam-arduino-20200205.html> <https://blog.jmaker.com.tw/irremoterecv/> ### Code #### 零件code ##### 紅外線遙控 ```arduino= #include <IRremote.h> #define IR_RECEIVE_PIN 9 void setup() { Serial.begin(9600); Serial.println("open"); IrReceiver.begin(IR_RECEIVE_PIN); } void loop() { if (IrReceiver.decode()) { IrReceiver.resume(); Serial.println(IrReceiver.decodedIRData.command); } } ``` #### 總code ```arduino= ///函式庫和腳位宣告 #include <IRremote.h> #define IR_RECEIVE_PIN 9 #include <Servo.h> #define pin 6 int b=0; Servo servo6; void setup() { Serial.begin(9600); servo6.attach(pin); Serial.println("open"); IrReceiver.begin(IR_RECEIVE_PIN); pinMode(3, OUTPUT); pinMode(4, OUTPUT); servo6.write(90); // 旋轉到0度 } void loop() { int x=IrReceiver.decodedIRData.command; //輸出遙控器讀取值 if (IrReceiver.decode()) { IrReceiver.resume(); Serial.println(x); } //遙控器判斷執行動作 //前進 if (x==70) { Serial.println("Front"); digitalWrite(3, HIGH); digitalWrite(4,LOW); } //後退 if (x==21) { Serial.println("Back"); digitalWrite(4, HIGH); digitalWrite(3,LOW); } //右轉 if (x==67) { Serial.println("Right"); servo6.write(0); // 旋轉到0度 } //左轉 if (x==68) { Serial.println("Left"); servo6.write(180); // 旋轉到0度 } //停止 if (x==64) { Serial.println("Stop"); servo6.write(90); // 旋轉到0度 digitalWrite(3,LOW); digitalWrite(4,LOW); } if (x==66) { int a=random(0,1800); a=a%180; servo6.write(a); delay(100); } if (x==74) { if(b==180) { b=0; } b++; servo6.write(b); delay(100); } } ``` ## 小論文-零散 <https://docs.google.com/document/d/1-AGE7l7uBa7K0gmSrqNNvjHY4e_gfvTt82dlHFHrPEM/edit?usp=sharing> ### 標題: 阿克曼轉向機構的研究與實作_自走車實作 ### 動機: 近來短影片盛行,網路上的Maker陸陸續續把自己的實作作品發佈到網路上,跟各位創客界的大家庭交流。觀看了許多影片,發現運用Arduino的載具基本上都是使用兩輪驅動,用最簡單的方式實作「轉方向」這個動作,但是在車水馬龍的大馬路上跑的卻不是「兩輪車」;因此我開始思考為何我在小時候玩的玩具車的轉向方式。經過搜尋後發現小時候的遙控車的轉向方式幾乎都是使用「阿克曼轉向結構」來達成轉彎的動做。所以我決定著手研究「阿克曼轉向結構」並在最後做出一台自走車。 ### 程式碼解說: 在本次專案中我們使用的是Arduino IDE來編輯程式碼,並整合了L298N、TT馬達、伺服馬達、紅外線接收器、紅外線遙控器、Arduino擴展版等元件, ### BING 阿克曼轉向機構是一種用於汽車和其他車輛的轉向系統,它可以使前輪在不同的角度轉動,從而減少轉彎時的側向滑動。阿克曼轉向機構的原理是根據阿克曼理論,即在轉彎時,內外輪的圓心應該在同一條直線上,這條直線稱為阿克曼線。阿克曼轉向機構通常由一個連桿組成,它將方向盤與前輪的轉向節連接起來,並且使內外輪的轉向角度呈現一定的比例關係。 阿克曼轉向機構與其他轉向系統相比有什麼不同呢?一般來說,其他轉向系統都是使前輪保持相同的轉向角度,而不考慮阿克曼理論。這樣做的結果是,在轉彎時,內外輪的速度和半徑不同,會產生側向力,使車輛產生滑動或打滑。這不僅會降低車輛的轉彎性能,還會增加胎面的磨損和油耗。因此,阿克曼轉向機構是一種更符合物理原理和工程實際的轉向系統。 更詳細地解釋一下,阿克曼轉向機構是通過改變連桿的長度和角度來實現不同的轉向比例。連桿的一端連接方向盤,另一端分別連接左右前輪的轉向節。當方向盤旋轉時,連桿會推動或拉動左右前輪的轉向節,使其產生相對於方向盤旋轉角度的一定比例的偏移。這個比例就是阿克曼比例,它決定了內外輪的最佳轉向角度。當阿克曼比例等於1時,表示內外輪都完全符合阿克曼理論;當阿克曼比例大於1時,表示內外輪都過度轉向;當阿克曼比例小於1時,表示內外輪都不足轉向。 阿克曼轉向機構的優點是可以提高車輛的穩定性和操作性,減少胎面的磨損和油耗。阿克曼轉向機構的缺點是它需要精確的設計和調整,否則會產生過度轉向或不足轉向的現象,影響車輛的性能和安全性。 ------------------------ 阿克曼轉向機構是一種利用連桿傳動實現不同轉向比例的轉向系統,它可以有效地減少轉彎時的側向滑動,提高車輛的操控性和經濟性。阿克曼轉向機構的設計原理是基於阿克曼理論,該理論指出,在轉彎時,內外輪的圓心應該在同一條直線上,這條直線稱為阿克曼線。阿克曼轉向機構通常由一個連桿組成,它將方向盤與前輪的轉向節連接起來,並且使內外輪的轉向角度呈現一定的比例關係。 阿克曼轉向機構與其他轉向系統相比有什麼優勢和劣勢呢?一般來說,其他轉向系統都是使前輪保持相同的轉向角度,而不考慮阿克曼理論。這樣做的結果是,在轉彎時,內外輪的速度和半徑不同,會產生側向力,使車輛產生滑動或打滑。這不僅會降低車輛的轉彎性能,還會增加胎面的磨損和油耗。因此,阿克曼轉向機構是一種更符合物理原理和工程實際的轉向系統。 更詳細地分析一下,阿克曼轉向機構是通過改變連桿的長度和角度來實現不同的轉向比例。連桿的一端連接方向盤,另一端分別連接左右前輪的轉向節。當方向盤旋轉時,連桿會推動或拉動左右前輪的轉向節,使其產生相對於方向盤旋轉角度的一定比例的偏移。這個比例就是阿克曼比例,它決定了內外輪的最佳轉向角度。當阿克曼比例等於1時,表示內外輪都完全符合阿克曼理論;當阿克曼比例大於1時,表示內外輪都過度轉向;當阿克曼比例小於1時,表示內外輪都不足轉向。 阿克曼比例的計算公式如下: $$ \alpha_{\text{Ack}} = \frac{L}{R} = \frac{\tan \beta_{\text{out}} - \tan \beta_{\text{in}}}{W} $$ 其中, - $\alpha_{\text{Ack}}$ 是阿克曼比例; - $L$ 是車軸長; - $R$ 是後軸到阿克曼線的距離; - $\beta_{\text{out}}$ 和 $\beta_{\text{in}}$ 分別是外側和內側前輪的偏角; - $W$ 是前軸寬。 阿克曼轉向機構的優點是可以提高車輛的穩定性和操作性,減少胎面的磨損和油耗。阿克曼轉向機構的缺點是它需要精確的設計和調整,否則會產生過度轉向或不足轉向的現象,影響車輛的性能和安全性。 -------- 阿克曼轉向機構是一種讓車子轉彎時更順暢的裝置,它可以讓前面的輪子在不同的角度轉動,這樣就不會讓車子在轉彎時打滑或滑出去。阿克曼轉向機構是根據一個叫做阿克曼的人提出的理論來設計的,這個理論說,在轉彎時,最裡面的輪子和最外面的輪子的中心點應該在同一條直線上,這條直線叫做阿克曼線。阿克曼轉向機構通常是用一根棒子來做的,這根棒子一頭連接方向盤,另一頭分別連接左右前輪的轉動部分,並且讓左右前輪的轉動角度有一定的比例關係。 阿克曼轉向機構跟其他讓車子轉彎的裝置有什麼不一樣呢?一般來說,其他的裝置都是讓前面的輪子保持相同的轉動角度,而不管阿克曼的理論。這樣做的結果是,在轉彎時,最裡面的輪子和最外面的輪子的速度和半徑不一樣,會產生側向力,讓車子滑動或打滑。這不僅會讓車子轉彎不靈活,還會讓輪胎更容易磨損和耗油。因此,阿克曼轉向機構是一種更符合自然規律和實際需求的裝置。 再用更簡單更詳細的方式來說明一下,阿克曼轉向機構是通過改變棒子的長度和角度來讓左右前輪有不同的轉動比例。棒子的一頭連接方向盤,另一頭分別連接左右前輪的轉動部分。當方向盤旋轉時,棒子會推或拉左右前輪的轉動部分,讓它們跟方向盤旋轉角度有一定比例的偏移。這個比例就是阿克曼比例,它決定了最裡面和最外面的輪子要轉多少度才能符合阿克曼理論。當阿克曼比例等於1時,表示最裡面和最外面的輪子都完全符合阿克曼理論;當阿克曼比例大於1時,表示最裡面和最外面的輪子都轉得太多;當阿克曼比例小於1時,表示最裡面和最外面的輪子都轉得太少。 阿克曼比例可以用下面這個公式來計算: $$ \alpha_{\text{Ack}} = \frac{L}{R} = \frac{\tan \beta_{\text{out}} - \tan \beta_{\text{in}}}{W} $$ 其中, - $\alpha_{\text{Ack}}$ 是阿克曼比例; - $L$ 是車子的車軸長,就是前後輪之間的距離; - $R$ 是後輪到阿克曼線的距離; - $\beta_{\text{out}}$ 和 $\beta_{\text{in}}$ 分別是最外面和最裡面的前輪的偏角,就是它們跟車子的方向有多少差別; - $W$ 是前輪的寬度,就是左右輪之間的距離。 阿克曼轉向機構的好處是可以讓車子轉彎更順暢,減少輪胎的磨損和油耗。阿克曼轉向機構的壞處是它需要精確的設計和調整,否則會讓最裡面和最外面的輪子轉得不夠或太多,影響車子的性能和安全性。 ------------- 在本次專案中,我們的目標是製作一台可以遠端控制的小車,並且具有阿克曼轉向機構的特性。阿克曼轉向機構是一種讓車輪在轉彎時能夠保持不同角度的裝置,可以提高小車的靈活性和穩定性。為了實現這個目標,我們使用了以下的硬體和軟體元件: - Arduino IDE:這是一個開源的整合開發環境,可以讓我們編寫和上傳程式碼到Arduino板子上。Arduino IDE支援多種語言和函式庫,方便我們使用各種感測器和驅動器。 - Arduino擴展版:這是一個可以讓我們將Arduino板子和其他元件連接起來的板子,有多個數位和類比輸入輸出埠,以及電源埠和地線埠。我們使用了兩塊擴展版,一塊連接L298N和TT馬達,另一塊連接伺服馬達和紅外線接收器。 - L298N:這是一個雙H橋驅動模組,可以讓我們控制兩組直流電機的轉向和速度。我們使用了兩個L298N模組,分別控制前後兩組TT馬達。 - TT馬達:這是一種常見的直流減速電機,可以提供足夠的扭力和速度給小車。我們使用了四個TT馬達,分別安裝在前後兩組輪子上。 - 伺服馬達:這是一種可以精確控制角度的電機,我們使用了一個伺服馬達,安裝在前方的轉向桿上,用來控制前輪的轉向角度。 - 紅外線接收器:這是一個可以接收紅外線訊號的元件,我們使用了一個紅外線接收器,連接到Arduino擴展版上,用來接收紅外線遙控器的指令。 - 紅外線遙控器:這是一個可以發送紅外線訊號的裝置,我們使用了一個紅外線遙控器,用來遠端控制小車的行進方向和速度。 在硬體連接完成後,我們就可以開始編寫程式碼了。我們使用了Arduino IDE來編輯程式碼,並且引用了IRremote.h和Servo.h兩個函式庫,分別用來處理紅外線訊號和伺服馬達訊號。程式碼的主要邏輯如下: - 首先,我們定義了各種變數和常數,例如紅外線接收器、伺服馬達、L298N、TT馬達等的引腳號、紅外線遙控器按鍵對應的十六進位碼、阿克曼轉向機構的參數等。 - 然後,我們在setup()函式中初始化各種元件,例如設定引腳模式、啟動紅外線接收器、設定伺服馬達的初始角度等。 - 接著,我們在loop()函式中不斷讀取紅外線接收器的訊號,並根據不同的按鍵指令,控制小車的行進方向和速度。我們使用了switch-case語句來判斷按鍵指令,並使用了if-else語句來判斷阿克曼轉向機構的條件。 - 最後,我們在每次執行完一個指令後,都將小車停止,以避免出現意外情況。 這就是我們在本次專案中使用的是Arduino IDE來編輯程式碼,並整合了L298N、TT馬達、伺服馬達、紅外線接收器、紅外線遙控器、Arduino擴展版等元件,並運用阿克曼轉向機構做出一台遙控車的過程和結果。希望這篇文章能夠對你有所幫助和啟發,如果你有任何問題或建議,歡迎在下方留言或聯繫我們。感謝你的閱讀! ## 小論文-標準格式 --- ### 壹、前言 #### 一、研究動機 近來短影片盛行,網路上的Maker陸陸續續把自己的實作作品發佈到網路上,跟各位創客界的大家庭交流。觀看了許多影片,發現運用Arduino的載具基本上都是使用兩輪驅動,用最簡單的方式實作「轉方向」這個動作,但是在車水馬龍的大馬路上跑的卻不是「兩輪車」;因此我開始思考為何我在小時候玩的玩具車的轉向方式。經過搜尋後發現小時候的遙控車的轉向方式幾乎都是使用「阿克曼轉向結構」來達成轉彎的動做。所以我決定著手研究「阿克曼轉向結構」並在最後做出一台自走車。 #### 二、研究目的 本研究旨在深入探究阿克曼轉向機構的原理,並藉由實作一套完整的自走車系統,從機構設計、控制演算法到實際運行測試,全面了解阿克曼轉向機構在自走車運動中的行為特性並在linkage、thinkercad上練習模擬,並測試其可行性。透過詳盡的實驗和數據分析,我們將瞭解不同參數設定對自走車性能的影響,並提出優化建議,以推進自走車技術的發展。並在最後做出一台有阿克曼轉向機構的自走車 #### 三、研究方法 本研究旨在理解並實作出阿克曼轉向機構其步驟可以分為以下幾點: 1. 了解阿克曼轉轉向機構 2. 透過Linkage、Thinkercad模擬阿克曼轉向機構 3. 探討不同車長對阿克曼轉向機構的影響 4. 實做出一台自走車 --- ### 貳、正文 #### 一、實驗設備及器材 ##### (一)實驗儀器及材料 - 電腦 - 手機 - 3D列印機 - 電動螺絲起子 - 螺絲 - 伺服馬達 - Arduino UNO- Arduino UNO擴展版 - 迷你麵包版 - 紅外線接收器 - 紅外線遙控器 - 杜邦線 - TT馬達 ##### (二)應用程式及軟體 - Linkage - Thinkercad - Fusion360 - GeoGebra #### 二、實驗步驟 ##### (一) 實驗前置處理 了解阿克曼轉轉向機構 阿克曼轉向機構是一種讓車子轉彎時更順暢的裝置,它可以讓前面的輪子在不同的角度轉動,這樣就不會讓車子在轉彎時打滑或滑出去。阿克曼轉向機構是根據一個叫做阿克曼的人提出的理論來設計的,這個理論說,在轉彎時,最裡面的輪子和最外面的輪子的中心點應該在同一條直線上,這條直線叫做阿克曼線。阿克曼轉向機構通常是用一根棒子來做的,這根棒子一頭連接方向盤,另一頭分別連接左右前輪的轉動部分,並且讓左右前輪的轉動角度有一定的比例關係。 阿克曼轉向機構跟其他讓車子轉彎的裝置有什麼不一樣呢?一般來說,其他的裝置都是讓前面的輪子保持相同的轉動角度,而不管阿克曼的理論。這樣做的結果是,在轉彎時,最裡面的輪子和最外面的輪子的速度和半徑不一樣,會產生側向力,讓車子滑動或打滑。這不僅會讓車子轉彎不靈活,還會讓輪胎更容易磨損和耗油。因此,阿克曼轉向機構是一種更符合自然規律和實際需求的裝置。 再用更簡單更詳細的方式來說明一下,阿克曼轉向機構是通過改變棒子的長度和角度來讓左右前輪有不同的轉動比例。棒子的一頭連接方向盤,另一頭分別連接左右前輪的轉動部分。當方向盤旋轉時,棒子會推或拉左右前輪的轉動部分,讓它們跟方向盤旋轉角度有一定比例的偏移。這個比例就是阿克曼比例,它決定了最裡面和最外面的輪子要轉多少度才能符合阿克曼理論。當阿克曼比例等於1時,表示最裡面和最外面的輪子都完全符合阿克曼理論;當阿克曼比例大於1時,表示最裡面和最外面的輪子都轉得太多;當阿克曼比例小於1時,表示最裡面和最外面的輪子都轉得太少。 阿克曼比例可以用下面這個公式來計算: $$ \alpha_{\text{Ack}} = \frac{L}{R} = \frac{\tan \beta_{\text{out}} - \tan \beta_{\text{in}}}{W} $$ 其中, - $\alpha_{\text{Ack}}$ 是阿克曼比例; - $L$ 是車子的車軸長,就是前後輪之間的距離; - $R$ 是後輪到阿克曼線的距離; - $\beta_{\text{out}}$ 和 $\beta_{\text{in}}$ 分別是最外面和最裡面的前輪的偏角,就是它們跟車子的方向有多少差別; - $W$ 是前輪的寬度,就是左右輪之間的距離。 阿克曼轉向機構的好處是可以讓車子轉彎更順暢,減少輪胎的磨損和油耗。阿克曼轉向機構的壞處是它需要精確的設計和調整,否則會讓最裡面和最外面的輪子轉得不夠或太多,影響車子的性能和安全性。 ##### (二) 操作步驟 #### 三、實驗結果 探討不同車長對阿克曼轉向機構的影響 ![image.png](https://hackmd.io/_uploads/SyZ9D5lmT.png) <https://docs.google.com/spreadsheets/d/1lh2m7i7ktemDYjnG29oc3kJ9QidGZaYXOIyfughjqeg/edit?usp=sharing> #### 四、討論 ### 參、結論 ### 肆、引註資料

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully