資料介紹
描述
該項目使用兩個 Arduino UNO,每個都有自己的計算機,以摩爾斯電碼交換消息。激光二極管以莫爾斯電碼發送脈沖,光敏電阻接收它們。這兩個“尋呼機”使用同一組代碼,都可以發送和接收消息,就像發短信一樣。與類似的項目不同,這個項目允許使用更少的代碼實現所有可見的 ASCII 字符。
?
?
?
?
1 / 2 ?我用電線將所有東西拴在面包板上,使它們保持一體。這使得更容易對準激光器和光敏電阻。
?
代碼分解:
- 摩爾斯時間值:摩爾斯點長 30 毫秒,破折號為 60,下劃線為 90。用于分隔摩爾斯元素的元素空間為 30。字符空間,用于分隔表示 ASCII 字符的元素組合, 是 30。用于分隔背靠背消息的消息空間是 60??梢愿倪@些值而不會干擾代碼的其余部分。
- ASCII 字符數組:ASCII 中有 96 個可見字符,以空格 (32) 開頭。Morse 字符數組包含 96 個由 . - _ 按照它們的排列順序,例如。".", "-", "_", "..", ".-", "._", "-.", "--", "-_"
- Intro loop:Serial 為用戶打印說明,激光打開,以便與其他尋呼機的光敏電阻對齊。它要求輸入用戶名,稍后將其發送給其他用戶。輸入用戶名后,它會被添加到一個字符串中,該字符串會去除前導和尾隨空格并打印出來。激光關閉,循環無法再次運行。
- 發送器循環:當 Serial 讀取消息時,while 循環開始打印“Me:”并檢查它是否是發送的第一條消息。如果是,則將用戶名添加到帶有冒號的文本開頭。發送文本通過一個 for 循環,從每個字符的 ASCII 值中減去 32。這個數字是 ASCII 數組中一個字符的索引,該字符中的摩爾斯元素被添加到一個字符串中,后面有一個空格。這將循環文本中的字符數。for 循環檢查莫爾斯弦中的每個元素,如果它是點、破折號或下劃線則打開激光并延遲它們各自的時間,或者如果它是空格則讓激光關閉一個字符空間延遲。然后,如果 String 結束,它會延遲一個元素空間和一個消息空間。
- 接收器循環:當光敏電阻檢測到高于激光閾值的光時,會開始一個 while 循環,在延遲點長度加上 5 毫秒的緩沖時間后檢查光水平是否低于閾值。如果是,則在莫爾斯弦中添加一個點。如果否,它會在另一個 30 毫秒延遲后再次檢查。如果是,則添加破折號。如果否,則添加下劃線,并發生另一個延遲以填充下劃線長度。如果光敏電阻在元素空間延遲后再次檢測到激光亮度,則會發生點延遲并且循環重新開始。如果否,它會向 Morse String 添加一個空格,并在字符和元素空格延遲后再次檢查。如果是,它會添加一個點延遲并重新開始循環。如果仍然沒有,則循環結束并且 for 循環計算莫爾斯字符串中的空格數。聲明一個長度為空格數的數組,另一個 for 循環使其值按順序成為每個空格的索引。另一個 for 循環將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環一直運行,直到達到莫爾斯弦中的空格數。接收到的文本 String 會去除前導和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。另一個 for 循環將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環一直運行,直到達到莫爾斯弦中的空格數。接收到的文本 String 會去除前導和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。另一個 for 循環將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環一直運行,直到達到莫爾斯弦中的空格數。接收到的文本 String 會去除前導和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。此 for 循環一直運行,直到達到莫爾斯弦中的空格數。接收到的文本 String 會去除前導和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。此 for 循環一直運行,直到達到莫爾斯弦中的空格數。接收到的文本 String 會去除前導和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 莫爾斯電碼開源分享
- 創建Bolt IoT支持的文本/語音到莫爾斯編碼器
- Morsibug:莫爾斯機器
- 莫爾斯電碼編碼器
- 摩爾斯電碼開源分享
- 直鍵莫爾斯電碼振蕩器開源分享
- 莫爾斯電碼翻譯器開源分享
- 如何使用單片機制作多功能莫爾斯碼電路? 12次下載
- PIC單片機莫爾斯電碼器的資料和程序資料免費下載 33次下載
- 莫爾斯電碼練習器原理圖 51次下載
- Lakey莫爾斯碼聲音生成可做鈴聲 1次下載
- 莫爾斯電碼(國際通用) 0次下載
- 一種手工莫爾斯電報質量評估系統設計
- 用單片機制作多功能莫爾斯碼電路
- FLEX高速尋呼機專用芯片
- 汽車CAN收發器的作用、原理及構成 2091次閱讀
- 收發器的主要作用與種類詳解 2428次閱讀
- 收發器保護電路原理圖 747次閱讀
- 光纖收發器故障維修案例 2107次閱讀
- NXP CAN收發器的特點及應用 3367次閱讀
- CWvox:一種將語音轉換為莫爾斯電碼的簡單設備 858次閱讀
- 多模光纖收發器怎么用 3918次閱讀
- 光纖收發器的作用和使用方法 2.5w次閱讀
- PoE光纖收發器如何工作,PoE光纖收發器的應用 5256次閱讀
- 光纖收發器a與b怎么放 3w次閱讀
- 光纖收發器的效果原理 4232次閱讀
- 深入探析CAN收發器各項參數 1.4w次閱讀
- 關于RS485自動收發型收發器的問題解決 1.9w次閱讀
- 光纖模塊與光纖收發器使用方法_光纖模塊與光纖收發器的區別 2.5w次閱讀
- 有關光纖收發器的基本常識解析 1987次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多