精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(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)>電子資料下載>電子資料>InqSpeedRacer用于HotWheels基于網(wǎng)絡(luò)的電子測速儀

InqSpeedRacer用于HotWheels基于網(wǎng)絡(luò)的電子測速儀

2022-10-27 | zip | 0.06 MB | 次下載 | 免費

資料介紹

描述

InqSpeedRacer是用于 HotWheels? 的基于網(wǎng)絡(luò)電子測速儀。該項目是為學(xué)習(xí)運動物理主題的 8 年級科學(xué)課創(chuàng)建的。它也是創(chuàng)建InqPortal服務(wù)器的演示者,該服務(wù)器不僅服務(wù)于多個客戶端,而且客戶端可以連接到多個服務(wù)器。這可以很容易地用作家庭自動化的模板。創(chuàng)建多種InqPortal “服務(wù)器”,使用傳感器、繼電器和/或執(zhí)行器來感知和控制環(huán)境。可以創(chuàng)建客戶端儀表板以連接到所有服務(wù)器并監(jiān)視和控制所有服務(wù)器。作為基于瀏覽器的應(yīng)用程序的客戶端可以在 Windows、Chromebook、AndroidLinux 和 Apple 設(shè)備上運行。

硬件模塊設(shè)計

這是一個相對較快的刻錄項目。我們想為學(xué)生制作六個,并且我們想為后代保留一個……說實話……以防我們不得不支持修復(fù)錯誤。我們不得不訂購零件。由于電子產(chǎn)品不是我們天生的強項之一,所以用“ Arduino photo diode ”這個短語搜索了大約三十分鐘” 想出一個可行的電路。30 分鐘后,我們?yōu)?10 個 ESP8266 WeMos 板、電阻紅外 LED 和紅外光電二極管訂購了足夠的零件。最后一個我不確定有多少帖子發(fā)誓他們是光電晶體管,另一半說是二極管。我決定讓我的狗再打一場。我所知道的是它們與 LED 的尺寸相同(5 毫米),并且它們有兩根電線,電路顯示使用兩根電線工作。我們試圖在硬件方面牢記 KISS 原則。大約三天后他們出現(xiàn)了,我們把它放在面包板上,原型軟件在大約三十分鐘后運行。這是我們每個單位使用的零件。

  • 1 WeMos ESP8266 D1 Mini – 我更喜歡這些尺寸和防彈 USB 和 3.3v 穩(wěn)壓器。它們甚至可以由最古老、最便宜的 USB 微型交流適配器供電。即使是 250 mW 的功率也足夠了。實際上,如果我們必須購買交流適配器,它的成本將超過InqSpeedRacer的其余部分。
  • 2 個紅外 LED——我想我燒掉了其中的一些以獲得正確的限流電阻,因為賣家沒有提供或提供任何信息
  • 2 個紅外光電二極管 – 同上燃燒
  • 3 個電阻器 – (1) 100 Ω 和 (2) 180 Ω

總支出——每臺 InqSpeedRacerServer 不到 4 美元

poYBAGNYsQuAUtcPAB5Bbt3saJ4396.jpg
InqSpeedRacer 部分組裝在 3D 打印外殼內(nèi)
?

3D打印房屋

pYYBAGNYsQ6AFjMOAAFZZIkxUe0870.png
InqSpeedRacer 服務(wù)器的 3D 打印機模型
?

原型是用透明的 ABS 制作的,但它傾向于打印半透明的,你看不到里面的零件。但它的內(nèi)置藍(lán)色 LED 閃爍,拍出了令人驚嘆的畫面!其他設(shè)計特點包括

  • 低調(diào)
  • 有支架可以滑入軌道底部,以防止它被撞到。
  • 重量輕(< 19 克)– 足夠輕,即使在沒有支撐的下坡上,它也可以安裝,不會顯著改變軌道曲率。
pYYBAGNYsRaAHJJkAAs5SHsTLkg711.jpg
?

使用 InqPortal 的服務(wù)器軟件

服務(wù)器端軟件使用可在 Arduino IDE 庫管理器中輕松找到的InqPortal庫。該服務(wù)器的設(shè)計目的是讓開發(fā)人員不必弄亂任何 WiFi、WebServer 邏輯。他們可以專注于手頭的工作——速度陷阱。以下是有關(guān)服務(wù)器的一些詳細(xì)信息。

  • 完全注釋、完全基于 WiFi 網(wǎng)絡(luò)的服務(wù)器 Sketch 的行數(shù)只有 140 行。 其中只有十行與 Web 服務(wù)器有關(guān)。剩下的就是監(jiān)控光電晶體管,執(zhí)行時序計算和注釋。
  • 一輛車通過并向客戶端報告速度后,它會自動重置并準(zhǔn)備下一輛車通過。
  • 與其他InqPortal示例不同,這個示例實際上在 loop() 方法中做了一些事情。它利用了完全運行時的環(huán)路頻率約為 100kHz。我用它來檢查光束是否被汽車擋住。我最初做了一個中斷版本,但代碼復(fù)雜性并沒有真正變得更好。這給出了 1/100, 000 秒的時間分辨率。這比我們向客戶報告的毫秒分辨率要好得多。

這是代碼,但請節(jié)省您的時間... InqSpeedRacer是您將InqPortal下載到您的 Arduino IDE 后包含的示例之一。這里只是為了讓您了解配置基于InqPortal的項目是多么容易。

#include 
// Works with InqPortal v5
// Can use NULL if you want to configure via InqPortal Admin 
// or hard code your router SSID and Password.
#define YOUR_SSID           NULL
#define YOUR_PW             NULL
#define DEFALUT_SSID        "InqSR"
#define VERSION             "3.0.0"
#define LED                 D4
#define PHOTO1              D1
#define PHOTO2              D2
#define LOG_LEVEL           1
#define CHK_FOR_RUN         50      // Check for a valid run (ms)
#define CHK_FOR_FAULT       1000    // Check to see if there is a fault (ms)
InqPortal svr;
// Published variables
float speed = 0;
u32 finish = 0;
// Working Variables (not published)
u32 tPhoto1Blocked, tPhoto1Unblocked, tPhoto2Blocked, tPhoto2Unblocked;
bool blockage = false; // To detect a continuous blockage and flash LED slowly.
void setup() 
{
   // Set up Interval callbacks
   svr.onInterval(checkForRun, CHK_FOR_RUN);
   svr.onInterval(checkForFault, PAUSE);
   // Publish runtime and persisted variables
   svr.publishRO("V", VERSION, sizeof(VERSION), "InqSpeedRacer Version");
   svr.publishRO("S", &speed, "Speed (m/s)");
   svr.publishRO("F", &finish, "Finish (ms)");
   svr.publishRO("T", NULL, "Server time (ms)", 
       []()->u32 { return millis(); });
   svr.autoSend(0);
   // Start the InqPortal server.
   svr.begin(DEFALUT_SSID, NULL, YOUR_SSID, YOUR_PW); 
   pinMode(LED, OUTPUT);
   pinMode(PHOTO1, INPUT_PULLUP);
   pinMode(PHOTO2, INPUT_PULLUP);  
   clear();
}
#define isBlocked(p) digitalRead(p)
#define LED_TOGGLE digitalWrite(LED, !digitalRead(LED))
#define LED_OFF digitalWrite(LED, true)
void loop() 
{
   // Sensor 1
   if (!tPhoto1Blocked)
   {
       if (isBlocked(PHOTO1))
       {
           tPhoto1Blocked = micros();
           set();
       }
   }
   else if (!tPhoto1Unblocked)
   {
       if (!isBlocked(PHOTO1))
           tPhoto1Unblocked = micros();
   }
   // Sensor 2
   if (!tPhoto2Blocked)
   {
       if (isBlocked(PHOTO2))
       {
           tPhoto2Blocked = micros();
           set();
       }
   }
   else if (!tPhoto2Unblocked)
   {
       if (!isBlocked(PHOTO2))
           tPhoto2Unblocked = micros();
   }
}
void set()
{
   svr.onInterval(checkForFault, CHK_FOR_FAULT);
   blockage = true;
   if (!finish)
       finish = millis();
   LED_OFF;
}
void clear()
{
   tPhoto1Blocked  = 0;
   tPhoto1Unblocked = 0;
   tPhoto2Blocked  = 0;
   tPhoto2Unblocked = 0;
   finish = 0;
   svr.onInterval(checkForFault, PAUSE);
   blockage = false;
}
void checkForRun(void*)
{
   if (!blockage)
       LED_TOGGLE;
   if (tPhoto1Blocked && tPhoto1Unblocked && 
       tPhoto2Blocked && tPhoto2Unblocked)
   {
       // WARNING - Don't mess with this.  Needed to handle wrapping
       // of the u32 coming from the micros()!!
       s32 t = (abs((s32)(tPhoto1Blocked - tPhoto2Blocked)) + 
                abs((s32)(tPhoto2Unblocked - tPhoto1Unblocked))) / 2;
       // This does the speed calculation based on the distance
       // between the two sensors of 19.7 mm and time in micro seconds.
       speed = 19700.0 / (float)t;   // m/s
       // Sends it out the the clients.
       svr.send("lflu", "S", speed, "F", finish);
       clear();
   }
}
void checkForFault(void*)
{
   // We added this in case we have false trigger.  After duration  
   // of CHK_FOR_FAULT (ms), it will clear out the times.
   // This checks if its still blocked... then we know something
   // is in the way.  We blink slowly.
   blockage = isBlocked(PHOTO1) | isBlocked(PHOTO2);     // Still blocked?
   if (blockage)
       LED_TOGGLE;
   else
   {
       svr.LOG(LOG_LEVEL, "Fault detected and cleared\n");
       clear();  
   }
}

使用 JavaScript 和 InqPortal 的客戶端軟件

客戶端有兩個應(yīng)用程序(網(wǎng)頁),JavaScript 編碼實際上比服務(wù)器端編碼長,分別為 105 和 240 行。第一頁簡單地報告了所有汽車速度的運行記錄。它顯示實際速度和假設(shè) HotWheels 為 1:64 比例的比例速度。它還做了一些物理操作,并使用 KE = PE 估計掉落汽車的原始高度。單位可以從 mph 更改為 kph 和任何比例因子。

從開發(fā)人員的角度和家庭自動化的角度來看,第二頁在技術(shù)上更有趣。InqPortal有能力編寫一個可以與多個InqPortal服務(wù)器對話的客戶端。服務(wù)器不必是同一個項目。家庭自動化的優(yōu)勢很簡單……您可以擁有一個儀表板,連接所有各種設(shè)備,并從一個客戶端檢索和控制所有內(nèi)容……而且由于它是基于瀏覽器的,它可以在 Windows、Android、蘋果和 Linux。在此示例中,我們將其設(shè)置為連接到多個InqSpeedRacer服務(wù)器充當(dāng)終點線......就像松木德比。代碼有點復(fù)雜,不是因為多服務(wù)器訪問,而是因為客戶端必須標(biāo)準(zhǔn)化所有服務(wù)器時鐘,以便它可以比較汽車穿過各個服務(wù)器“終點線”的時間。

poYBAGNYsR2AVeYrAAFvgdpXXBk961.png
多服務(wù)器連接充當(dāng)終點線裁判
?

開始...

... 構(gòu)建您自己的InqSpeedRacer ,您首先需要在您的 Arduino IDE 庫管理器中下載InqPortal庫。它將包含示例中所有必要的服務(wù)器和客戶端文件的完整副本。有關(guān)該項目的更多詳細(xì)信息,請訪問InqSpeedRacer。 有關(guān)InqPortal庫的更多詳細(xì)信息,您可以查看我的其他 Project Hub 項目使用 3 行代碼制作 WebServer! 完整的交叉參考手冊和教程可以在InqOnThat.com/InqPortal/上找到


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

評論

查看更多

下載排行

本周

  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次下載  |  免費