電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>激光尋呼機/莫爾斯電碼收發(fā)器開源

激光尋呼機/莫爾斯電碼收發(fā)器開源

2023-01-31 | zip | 0.08 MB | 次下載 | 免費

資料介紹

描述

該項目使用兩個 Arduino UNO,每個都有自己的計算機,以摩爾斯電碼交換消息。激光二極管以莫爾斯電碼發(fā)送脈沖,光敏電阻接收它們。這兩個“尋呼機”使用同一組代碼,都可以發(fā)送和接收消息,就像發(fā)短信一樣。與類似的項目不同,這個項目允許使用更少的代碼實現(xiàn)所有可見的 ASCII 字符。

?
?
?
poYBAGPXLamAWiIsABQRKC1BUtQ492.jpg
?
1 / 2 ?我用電線將所有東西拴在面包板上,使它們保持一體。這使得更容易對準(zhǔn)激光器和光敏電阻。
?

代碼分解:

  • 摩爾斯時間值:摩爾斯點長 30 毫秒,破折號為 60,下劃線為 90。用于分隔摩爾斯元素的元素空間為 30。字符空間,用于分隔表示 ASCII 字符的元素組合, 是 30。用于分隔背靠背消息的消息空間是 60。可以更改這些值而不會干擾代碼的其余部分。
  • ASCII 字符數(shù)組:ASCII 中有 96 個可見字符,以空格 (32) 開頭。Morse 字符數(shù)組包含 96 個由 . - _ 按照它們的排列順序,例如。".", "-", "_", "..", ".-", "._", "-.", "--", "-_"
  • Intro loop:Serial 為用戶打印說明,激光打開,以便與其他尋呼機的光敏電阻對齊。它要求輸入用戶名,稍后將其發(fā)送給其他用戶。輸入用戶名后,它會被添加到一個字符串中,該字符串會去除前導(dǎo)和尾隨空格并打印出來。激光關(guān)閉,循環(huán)無法再次運行。
  • 發(fā)送器循環(huán):當(dāng) Serial 讀取消息時,while 循環(huán)開始打印“Me:”并檢查它是否是發(fā)送的第一條消息。如果是,則將用戶名添加到帶有冒號的文本開頭。發(fā)送文本通過一個 for 循環(huán),從每個字符的 ASCII 值中減去 32。這個數(shù)字是 ASCII 數(shù)組中一個字符的索引,該字符中的摩爾斯元素被添加到一個字符串中,后面有一個空格。這將循環(huán)文本中的字符數(shù)。for 循環(huán)檢查莫爾斯弦中的每個元素,如果它是點、破折號或下劃線則打開激光并延遲它們各自的時間,或者如果它是空格則讓激光關(guān)閉一個字符空間延遲。然后,如果 String 結(jié)束,它會延遲一個元素空間和一個消息空間。
  • 接收器循環(huán):當(dāng)光敏電阻檢測到高于激光閾值的光時,會開始一個 while 循環(huán),在延遲點長度加上 5 毫秒的緩沖時間后檢查光水平是否低于閾值。如果是,則在莫爾斯弦中添加一個點。如果否,它會在另一個 30 毫秒延遲后再次檢查。如果是,則添加破折號。如果否,則添加下劃線,并發(fā)生另一個延遲以填充下劃線長度。如果光敏電阻在元素空間延遲后再次檢測到激光亮度,則會發(fā)生點延遲并且循環(huán)重新開始。如果否,它會向 Morse String 添加一個空格,并在字符和元素空格延遲后再次檢查。如果是,它會添加一個點延遲并重新開始循環(huán)。如果仍然沒有,則循環(huán)結(jié)束并且 for 循環(huán)計算莫爾斯字符串中的空格數(shù)。聲明一個長度為空格數(shù)的數(shù)組,另一個 for 循環(huán)使其值按順序成為每個空格的索引。另一個 for 循環(huán)將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數(shù)組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環(huán)一直運行,直到達(dá)到莫爾斯弦中的空格數(shù)。接收到的文本 String 會去除前導(dǎo)和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。另一個 for 循環(huán)將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數(shù)組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環(huán)一直運行,直到達(dá)到莫爾斯弦中的空格數(shù)。接收到的文本 String 會去除前導(dǎo)和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。另一個 for 循環(huán)將每個空格之間的莫爾斯元素的子串添加到一個字符串中,并在莫爾斯字符數(shù)組中搜索它。char 的索引加上 32,一個 ASCII 字符,被添加到接收到的文本字符串中。此 for 循環(huán)一直運行,直到達(dá)到莫爾斯弦中的空格數(shù)。接收到的文本 String 會去除前導(dǎo)和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。此 for 循環(huán)一直運行,直到達(dá)到莫爾斯弦中的空格數(shù)。接收到的文本 String 會去除前導(dǎo)和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。此 for 循環(huán)一直運行,直到達(dá)到莫爾斯弦中的空格數(shù)。接收到的文本 String 會去除前導(dǎo)和尾隨空格,如果它是第一條接收到的消息,則將其打印到 Serial 并將從索引 0 到第一個冒號的子字符串添加到 String 作為其他用戶的名稱。如果它不是收到的第一條消息,它會打印用戶名字符串,然后打印消息。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費