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

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

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

3天內不再提示

如何使用Arduino構建激光炮塔

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2020-01-31 17:30 ? 次閱讀

您無聊嗎?還可以建造一個激光炮塔。您知道嗎?一個會 pew pew 發射,向許多不同方向發射紅光的光束,甚至可能會扔進煙霧機嗎?是的,其中之一。

您需要什么

Arduino

2個伺服器

激光模塊,例如該傳感器套件

壓電蜂鳴器或其他小型輸出設備

用于固定

長母-公跳線以及常規跳線的金屬電纜扎帶

可選地,需要一臺煙霧機–激光的功率非常低,因此即使在黑暗的房間中也無法看到無煙的光束。

如何使用Arduino構建激光炮塔

構建計劃

轉塔的基本思想是將激光模塊放在一個伺服器的頂部以提供水平旋轉。然后將該封裝安裝到另一個呈90度角放置的伺服器上,以提供垂直移動。我們有一個壓電揚聲器來提供 pew pew 聲音效果,我正在扔煙機以達到良好的效果。

伺服測試

視您的伺服器而定,導線的顏色可能會有所不同,但是通常:

紅色是正極線,在我的兩個伺服器上,它都是三芯線的中心-連接到+ 5v

棕色或黑色是負極,要連接到Arduino的GND。

白色或橙色是信號線,要連接到具有PWM功能的數字I/O針(在下面的演示中為9和10)。

連接好兩個伺服器后,請上傳以下示例代碼。我已經命名了一個伺服“ hori”來控制水平運動,另一個命名為“ vert”。每個人都應執行全方位的運動掃描(在我的情況下約為60度)。

#include

Servo vert,hori; // create servo object to control a servo

// a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

void setup()

{

hori.attach(9);

vert.attach(10); // attaches the servo on pin 9,10 to the servo objects

vert.write(0);

hori.write(0);

}

void loop()

{

for(pos = 0; pos 《 180; pos += 10) // goes from 0 degrees to 180 degrees

{ // in steps of 10 degrees

vert.write(pos);

hori.write(pos); // tell servo to go to position in variable ‘pos’

delay(100); // waits 100ms for the servo to reach the position

}

for(pos = 180; pos》=1; pos-=10) // goes back from 180 degrees to 0 degrees

{

vert.write(pos); // tell servo to go to position in variable ‘pos’

hori.write(pos);

delay(100); // waits 100ms for the servo to reach the position

}

}

一切都好嗎?然后繼續前進。

測試激光和 Pew Pew 聲音

激光模塊就像一個LED,但是模塊中內置了一個電阻器。因此我們可以將其直接連接到數字I/O-非常簡單。如果您使用的激光模塊與我相同,則“ – ”將進入 GND , S 將進入引腳12。上面的示例代碼使第12針成為輸出:

int laser = 12;

pinMode(laser,OUTPUT);

然后使用標準的 digitalWrite()方法在每個循環中使該引腳閃爍,每次循環閃爍。

我們將僅使用PWM以舒適的聲音水平驅動壓電蜂鳴器-如果需要,您可以嘗試使用音調庫,但是我只需要一個簡單的噪音即可。將黑線接地,將紅線連接到引腳11。在相關引腳上定義您的蜂鳴器,設置為輸出模式,然后使用 analogWrite(buzzer,100)進行激活(或您想要的最多254個數字);和 analogWrite(buzzer,0)(關閉模擬音頻)。

完整的示例代碼已修改為掃描兩個伺服,激活激光并播放令人討厭的聲音。

您的所有組件都應該正常工作-現在我們需要將所有組件綁在一起。

創建轉塔

使用電纜扎帶,將一個伺服器連接到另一個;哪一個都沒關系,只需確保其中一個在水平方向上移動而另一個在垂直方向上移動即可。如果角度不正確,您可以在測試期間拔下轉子葉片并重新安裝。

使用一些堅固的造型線來固定激光器

最后,我將整個設備連接到帶有更多電纜扎帶的桌腿上一點廢木頭。

對炮塔編程

我不認識你,但是我的想法是激光炮塔來自無數的科幻電影和《星際迷航》劇集。總是有人會飛越炮塔,而 pew-pew 的小射門會以掃掠的模式飛出,總是太慢了幾毫秒,所以我們的主角實際上并沒有受到打擊。這就是我要復制的內容,盡管可以隨意調整主例程以適合您對轉塔應該做什么的想法。

這是我最終在主循環中使用的偽代碼:

隨機化脈沖之間的時間,以及每次射擊之間的時間。

隨機化每個伺服,垂直和水平方向的開始和結束位置。

隨機化拍攝數量。

計算出每次拍攝后的變化程度,以開始和結束位置之間的差除以拍攝數量。

將伺服器移至開始位置,并稍等一會兒到達目的地(100毫秒)

循環,直到拍攝完所有鏡頭為止,每次按先前計算的方式稍微移動伺服器;

重復。

我還添加了一個單獨的 fire()方法來稍微構建代碼更好。調整所有 random()函數的范圍,以加快或減慢每個參數;或增加鏡頭數量以增加舞蹈俱樂部的氛圍。向下滾動以查看操作中的代碼的視頻

#include

Servo vert,hori; // create servo object to control a servo

int pos = 0; // variable to store the servo position

int laser = 12;

int buzzer = 11;

void setup()

{

hori.attach(9);

vert.attach(10); // attaches the servo on pin 9 to the servo object

pinMode(laser,OUTPUT);

pinMode(buzzer,OUTPUT);

}

void loop()

{

int timeBetweenBursts = random(200,1000);

int timeBetweenShots = random(50,200);

int vertStart = random(1,180);

int vertEnd = random(1,180);

int horiStart = random(1,180);

int horiEnd = random(1,180);

int numShots = random(5,20);

int vertChange = (vertEnd - vertStart) / numShots; //how much to move vertical axis by each shot

int horiChange = (horiEnd - horiStart) / numShots;

vert.write(vertStart);//let it get to start position first, wait a little

hori.write(horiStart);

delay(100);

for(int shot = 0; shot vert.write(vertStart);

hori.write(horiStart);

vertStart += vertChange;//increment the vert value for next time

horiStart += horiChange;

fire();

delay(timeBetweenShots); //add a bit of variety to the speed of shots

}

delay(timeBetweenBursts);

}

void fire(){

digitalWrite(laser,HIGH);

analogWrite(buzzer,100);

delay(20);//adjust this to change length of turret shot

digitalWrite(laser,LOW);

analogWrite(buzzer, 0);

}

操作中

我認為這個小玩具沒有實際用途,但這確實很有趣,而且您可以調整很多變量以獲得理想的效果。也許對于自制樂高電影會派上用場嗎?
責任編輯:wv

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

    關注

    19

    文章

    3282

    瀏覽量

    64978
  • Arduino
    +關注

    關注

    188

    文章

    6478

    瀏覽量

    188139
收藏 人收藏

    評論

    相關推薦

    VirtualLab應用:Ince-Gaussian光束產生渦旋陣列激光束的觀測

    Fusion中建立系統 系統構建塊-光源 系統構建塊-組件和檢測器 渦旋陣列激光束產生的模擬 光源中使用不同模態階數生成渦旋陣列 橢圓度參數對渦流陣列方向圖的影響 小結-系統光路圖
    發表于 02-18 08:49

    如何使用Arduino實現CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業控制系統的串行通信協議,以其高可靠性和實時性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發表于 12-23 09:06 ?651次閱讀

    VirtualLab Fusion應用:Ince-Gaussian光束產生渦旋陣列激光束的觀測

    Fusion中建立系統 系統構建塊-光源 系統構建塊-組件和檢測器 渦旋陣列激光束產生的模擬 光源中使用不同模態階數生成渦旋陣列 橢圓度參數對渦流陣列方向圖的影響 小結-系統光路圖
    發表于 12-09 13:00

    AGV激光導航定位技術綜述與發展趨勢

    AGV是自動導引運輸車,激光導航AGV具有高可靠性和柔性,需存儲完整地圖信息。地圖構建重要,激光導航結合新導航方式可提高精度。未來激光導航AGV將多樣化、靈活,便于使用維護。
    的頭像 發表于 11-26 17:55 ?367次閱讀
    AGV<b class='flag-5'>激光</b>導航定位技術綜述與發展趨勢

    開源項目!基于 Arduino 的 MIDI 架子鼓

    MIDI 鼓的整個過程 - 從使用壓電傳感器到使用 3D 打印設計布局,再到使用 Arduino Leonardo 進行編碼。 此設置可與 GarageBand、Ableton 等程序無縫協作。和我一起
    發表于 11-25 12:00

    激光焊錫和激光焊接的原理區別

    激光錫焊跟激光焊接是一樣的嗎?為什么名字如此相似,它們是同一種激光工藝嗎?能夠通用嗎?當然不是的,激光錫焊和激光焊接只是名字相近,從工作原理
    的頭像 發表于 11-23 14:02 ?481次閱讀
    <b class='flag-5'>激光</b>焊錫和<b class='flag-5'>激光</b>焊接的原理區別

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino開發板,如Arduino Uno
    的頭像 發表于 11-22 09:24 ?932次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個經常被提及的名字。STM32是一系列由STMicroelectronics生產的高性能微控制器,而Arduino則是一個開源電子原型平臺,基于易于
    的頭像 發表于 11-19 15:45 ?1991次閱讀

    激光雷達在SLAM算法中的應用綜述

    一、文章概述 1.1 摘 要 即時定位與地圖構建(simultaneous localization and mapping,SLAM)是自主移動機器人和自動駕駛的關鍵 技術之一,而激光雷達則是支撐
    的頭像 發表于 11-12 10:30 ?1204次閱讀
    <b class='flag-5'>激光</b>雷達在SLAM算法中的應用綜述

    如何使用Arduino實現CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協議,廣泛應用于汽車電子、工業自動化等領域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino作為一個
    的頭像 發表于 11-12 10:09 ?1463次閱讀

    激光雷達的工作原理和分類

    激光雷達是一種以發射激光束來探測目標位置、速度等特征量的雷達系統。 這個系統也可以通過掃描發射和接收裝置來獲取目標物體的三維形狀,在不同角度發射和接收激光脈沖,可以構建出物體的完整三維
    的頭像 發表于 11-07 09:28 ?1189次閱讀
    <b class='flag-5'>激光</b>雷達的工作原理和分類

    AGV激光導航定位技術與構建地圖

    AGV是制造物流重要設備,激光導航AGV高可靠靈活,SLAM技術關鍵,激光SLAM成熟且落地豐富,無需人工標志物,復合式激光導航兼顧可靠性與靈活性,激光導航結合內部傳感器提升導航質量。
    的頭像 發表于 11-06 11:51 ?346次閱讀
    AGV<b class='flag-5'>激光</b>導航定位技術與<b class='flag-5'>構建</b>地圖

    激光焊接工藝有哪些?

    1、激光自熔焊 激光焊接是利用激光光束優異的方向性和高功率密度等特性進行工作,通過光學系統將激光束聚焦在很小的區域內,在極短的時間內使被焊處形成一個能量高度集中的熱源區,從而使被焊物熔
    發表于 10-12 08:37

    軒展科技 FCB-EV9520L攝像機模組:激光炮砍樹的智能視覺解決方案

    FCB-EV9520L作為一款高清機芯模組,在激光炮砍樹攝像機中的應用將帶來顯著的優勢。其高清成像能力、低光環境適應性、超級圖像防抖功能、寬動態范圍以及新三區域功能等特性將確保操作人員能夠清晰地監控砍樹過程,提高作業的安全性和效率。
    的頭像 發表于 07-25 10:10 ?439次閱讀
    軒展科技 FCB-EV9520L攝像機模組:<b class='flag-5'>激光炮</b>砍樹的智能視覺解決方案

    如何使用Arduino IDE構建的ELF映像?

    我有一個要求,我需要使用使用 Arduino IDE 構建的ELF映像,但 NonOS SDK 中提供了boot_v1.6.bin。我執行了以下步驟 背景: 1. Arduino 構建
    發表于 07-09 07:13
    主站蜘蛛池模板: 色综合88 | 日韩亚| 第四色播日韩第一页 | 日韩怡红院 | 一日本道加勒比高清一二三 | 婷婷丁香色综合狠狠色 | 99久久精品费精品国产一区二区 | 操操操综合网 | 天天看人体 | 99青草青草久热精品视频 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 伊人成伊人成综合网2222 | 亚洲综合久久久 | 日本xxxxx黄区免费看动漫 | 精品国产乱码久久久久久浪潮 | 五月六月婷婷 | 日本一区二区三区在线网 | 欧美日韩一区二区三区视频 | 国产午夜在线观看视频播放 | 女人张开腿让男人捅爽 | 国内精品久久久久久久久野战 | avbobo在线观看 | 黄色免费看网站 | 四虎comwww最新地址 | 久久最新精品 | 夜夜夜网| 一级大片视频 | 91视频污污版 | 狠狠色丁香婷婷综合久久片 | 张柏芝三级无删减在线观看 | 亚洲午夜久久久久久91 | 色丁香在线观看 | 欧美大黄| 五月天丁香色 | 亚洲一区二区中文字5566 | 夜夜操狠狠干 | 六月丁香激情网 | 国产乱淫a∨片免费视频 | 神马三级我不卡 | 亚洲免费黄色网 | 狠狠狠色丁香婷婷综合久久88 |