色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Arduino藍牙手套第二部分—集成所有部件

康大爭 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-01 17:58 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

點擊此處閱讀本文第一部分 >

poYBAGPzEo2AEFdiAAeOoAC-5Qk697.png

在本文中,我們將繼續進行Arduino藍牙手套的開發。我們將建立一個機械系統來獲取手指的彎曲信息。同時,我們將會來了解如何整合IMU數據,無線封裝和發送數據,使用Kinect以及如何在實際生活中使用Arduino藍牙手套。我們強烈建議您先閱讀Arduino藍牙手套第一部分—基礎來了解有關本項目的基礎知識。

硬件

Arduino UNO R3 x 2

IMU 傳感器 x 2

電線

電位計 0-10kOhm x 10

電阻 10 kOhm x 10

Xbee USB 適配器

Bluetooth Bee V2 x 2

9V 電池 x 2

9V 電池連接器 x 2

Kinect

手套 x 2

扣件 x 20

軟件

Arduino IDE

Autodesk Inventor

LabVIEW

LabVIEW Robotics Module

Microsoft Kinect的 Kinesthesia工具包

Kinect SDK 1.5

Github

工具

PLA 塑料

螺母 M3 x 40

自鎖螺母 M3 x 40

烙鐵

焊料

膠水

手指彎曲測量

首先,為了測量手指的彎曲(手指彎折)信息,我們必須將手指彎曲程度轉換為電位計的旋轉度。我們可以通過簡單的機械系統來實現這一目的,如下圖所示:

pYYBAGPzEo-AFJT1AAE7hS_F0gk061.png

圖1:用于測量手指彎曲程度的機械系統示意圖

為了在現實生活中進行應用,我們需要先在實體建模編輯器(如Autodesk Inventor)中進行建模。

pYYBAGPzEpGAEKqFAAEqOjw0F4o817.png

圖2:用于測量手指彎曲程度的機械系統模型

接下來,我們需要將模型用3D打印技術制造出來。STL文件是所有3D打印機中常見的3D模型類型。只需要將所有模型分別導出成STL文件,并發送到3D打印機即可。

poYBAGPzEpWAYOLZAAVjNT0wre8434.png

圖3:手指機械系統的3D打印部件

取用電位計(不帶黑色旋鈕/手柄)、螺絲、螺母以及3D打印部件,然后如圖4所示進行組裝。

pYYBAGPzEpiAAIjXAAFVJLqnZuM669.png

圖4:手指基本單元組裝

如圖5所示擰入關節。然后,我們將黑色手柄與擰入的手指關節粘合在一起。

poYBAGPzEpqAfoC-AAE0ZBSOVcI457.png

圖5:手指關節組裝細節

pYYBAGPzEp-APO99AATvoHOvO6I274.png

圖6:帶有扣件的基本手指單元

將關節擰緊后,我們要將組裝好的手指粘合到手套上。粘合使用的是超強力的多用途膠水。粘合前,表面必須保持清潔和干燥。然后在兩個表面涂一層薄薄的膠水,等待10到15分鐘后,將表面用力按壓幾秒鐘。如有必要,您可以在每個單元周圍也散布一些膠水。建議您將其晾干約24小時。

* 黏貼時請切勿將手指伸入手套,使用紙板或其他材料。

poYBAGPzEqKAQV8oAAfENoNEZYA814.png

圖7:將基本單元粘合到近端指骨上(在每根手指的底部)

現在我們開始粘合手指關節。去除關節部分和兩一個粘性扣件,然后將他們黏貼在手指的指甲上方(圖8&9)。

pYYBAGPzEqWAbJhjAAa-mx_g3pY735.png

圖8:粘合手指關節

pYYBAGPzEqiASgGYAAaYJMXRnn8826.png

圖9:手指關節組裝(粘合完成)

將黑色手柄插入電位計孔中,以連接兩個組裝好的部件。

耐心對每根手指再重復9次相同的操作。

整個模塊的接線圖如下所示。

pYYBAGPzEqqAd1a_AABnFLLRrRs084.png

圖10:Arduino手套電路圖

現在,我們來對手指進行連線吧!

準備紅色和黑色的電線,以及三根分別帶有白色、黃色和黑色標記的電線。此處強烈建議將顏色編碼,以避免混淆。

如圖11所示,將黑色標記和黃色標記的電線焊接到電位計上。

pYYBAGPzEq2AXc-mAAXF5zVba0Q845.png

圖11:焊接電位計

用塑料扎線帶捆扎電線,以避免其受任何機械外力破壞。

pYYBAGPzErGAf2KbAAlRuxacPZ0493.png

圖12:用扎線帶束緊電線

接下來,您需要將黑色標記的電線與黑色電線以及黃色和白色標記的電線焊接到電阻上。紅色電線必須焊接到電阻的另一端,白色標記的電線連接至Arduino模擬輸入端。

poYBAGPzErSALreqAAkkSN6cWTw250.png

圖13:焊接一個手指單元

pYYBAGPzEriACyezAAh7YSeoJpY432.png

圖14:將黑色和紅色標記的電線整合

焊接完所有單元后,我們將用熱縮管對電線進行收縮,并用束線帶將電線整合。

poYBAGPzEryAIX9sAAh45kBIkTw478.png

圖15:手指與主體連接

poYBAGPzEsCAfD1xAAhKJX9lc5Q510.png

圖16:將組裝好的手指與Arduino連接

pYYBAGPzEsOAGlzwAAiAm8XHogo372.png

圖17:處理器主體(Arduino)

pYYBAGPzEseAUnliAAkyTOEbtTw667.png

圖18:IMU傳感器連接

pYYBAGPzEsuAI7dUAAjU2qwlrrs561.png

圖19:組裝好的Arduino手套

組裝完成!我們繼續進行編程部分。

安裝新版本的 IMU Library。請參考 第一部分了解如何安裝該庫。

打開bending.ino 并將其上傳到Arduino Uno。

#include "glove.h"

TFinger Finger1 = TFinger(A0);
TFinger Finger2 = TFinger(A1);
TFinger Finger3 = TFinger(A2);
TFinger Finger4 = TFinger(A3);
TFinger Finger5 = TFinger(A4);

void setup()
{
  Serial.begin (9600); // Open the serial port
  Serial.println ("Be ready to set min, in 3...");
  delay(1000);
  Serial.println ("2...");
  delay(1000);
  Serial.println ("1...");
  delay(1000);
  Finger1.setmin();
  Finger2.setmin();
  Finger3.setmin();
  Finger4.setmin();
  Finger5.setmin();
  Serial.println ("Minimum is set");
  Serial.println ("Be ready to set max, in 3...");
  delay(1000);
  Serial.println ("2...");
  delay(1000);
  Serial.println ("1...");
  delay(1000);
  Finger1.setmax();
  Finger2.setmax();
  Finger3.setmax();
  Finger4.setmax();
  Finger5.setmax();
  Serial.println ("Maximum is set");
  Finger1.calibrate();
  Finger2.calibrate();
  Finger3.calibrate();
  Finger4.calibrate();
  Finger5.calibrate();
  Serial.println ("Calibrated");
}

void loop()
{
  Serial.print ( Finger1.read() );
  Serial.print ("t");
  Serial.print (Finger2.read());
  Serial.print ("t");
  Serial.print (Finger3.read());
  Serial.print ("t");
  Serial.print (Finger4.read());
  Serial.print ("t");
  Serial.print (Finger5.read());
  Serial.println ("t");
  delay(300);
//  
}

您將會看到如圖20所示的運行結果:

poYBAGPzEs2AQL7FAAIw14NZqIM693.png

圖20:手指彎折讀取結果

請注意,必須遵循校準程序才能夠對數據進行準確測量。

IMU數據融合

在 Arduino藍牙手套第一部分 – 基礎 中,我們介紹了IMU傳感器的基礎知識?,F在,我們將來學習如何整合陀螺儀和加速度計的數據。

首先,我們返回并查看之前的測量結果。

poYBAGPzEs-AeUFmAAN2LBy4dpM495.png

圖21:IMU傳感器讀數

例如,陀螺儀返回12492數字值:

如果將陀螺儀配置為“測量范圍 ±250 dps”,則該值將乘以0.00875 dps/數位,計算得到109.30 dps角速度。(109.30 dps表示具有該角速度的物體繞測量軸旋轉一周大約需要四秒鐘)。

如果將陀螺儀配置為“測量范圍 ±2000 dps”,則該值將乘以0.07 dps/數位,計算得到874.44 dps的角速度。(874.44 dps表示具有該角速度的物體繞測量軸旋轉一周大約需要2.5秒鐘)。

傳感器的靈敏度表示的是該傳感器可檢測到的最小變化值。請注意,范圍約大,您從陀螺儀獲得的靈敏度越低。

角速度是通過陀螺儀測量的值。因此,陀螺儀能夠估計人體繞某個軸旋轉的速度。在實際應用中,需要確定我們手套的位置。我們可以通過整合所有角速度值,然后除以時間變化,來估算當前角位置。

因為角速度的測量不是連續的,而是離散的,所以我們會得到一個叫做漂移的誤差。之所以稱為“漂移”,是因為即使身體處于靜止狀態,這些角位置變化的總和也會發生浮動。

我們一起看下面的陀螺儀漂移示例:

#include  // Library for I2C
#include  // Library for working with IMU modules

Gyroscope gyro; // Create an object to work with Gyroscope

// Time Variables
unsigned long starttime;
unsigned long endtime;
float dt;
int ticker = 0;
bool firstcall=true; // Indicator of a first iteration
// Angle Variables
float gyro_rateX, gyro_rateY, gyro_rateZ;
float Pitch=0;
float Roll=0;
float Yaw=0;

void setup ()
{
Serial.begin (9600); // Open the serial port
Serial.println ("Begin init ..."); // Display a message on the beginning of the initialization
gyro.begin (); // Initialize the gyroscope at 100Hz Output Data Rate
gyro.setRange(RANGE_2000); // set the gyroscope at 2000 dps range sensitivity
Serial.println ("Init completed"); // Display a message about the successful initialization
Serial.println ("Gyroscope");
}

void loop ()
{
endtime = micros(); // End time for the current Measurement
if (firstcall)
  {
  firstcall=false;
  }
else
  {
  dt = (float)(endtime - starttime)/1000000; // Get time beetween measurements
  gyro_rateX=gyro.readX_DegPerSec(); // Current Angle rate around the X-axis
  gyro_rateY=gyro.readY_DegPerSec(); // Current Angle rate around the Y-axis
  gyro_rateZ=gyro.readZ_DegPerSec(); // Current Angle rate around the Z-axis
  Pitch += 1 * gyro_rateX * dt; // Current Angle around the X-axis
  Roll += 1 * gyro_rateY * dt; // Current Angle around the Y-axis
  Yaw += 1 * gyro_rateZ * dt; // Current Angle around the Z-axis
  delay (10);
  }
starttime = micros(); // Start time for the next Measurement

if (ticker > 30) // Print Message every 300 ms
  {
	ticker=0;
	Serial.print (Roll); // Output angular velocity around the axis X
	Serial.print ("t");
	Serial.print (Pitch); // Output of the angular velocity around the Y axis
	Serial.print ("t");
	Serial.print (Yaw); // Output of the angular velocity about the Z axis
	Serial.print ("t");
	Serial.println ("");
  }
  else {ticker++;}

}

如果讓IMU傳感器保持不動,您將會看到漂移現象(圖22)。

poYBAGPzEtGAcSUDAAKtHVe45x8201.png

圖22:陀螺儀漂移演示

如上所述,由于有漂移的趨勢,總和將會隨著時間的增加產生誤差。但我們可以通過計算和利用零速率電平來緩解漂移帶來的影響。

有關零速率電平的定義在陀螺儀數據表的“2.6.2 零速率電平”一節中有詳細描述。有這一現象的主要原因是在IMU上施加的機械應力,例如,在印刷電路板上焊接之后殘留的應力。當有了機械應力之后,零速率電平會隨溫度略有改變,所以這一變化也許就可以被忽略了。

pYYBAGPzEtOAKS-fAAOb86ULJYE730.png

圖23:基于零速率電平的陀螺儀測量

您可以點擊此處查看在新版本IMU庫中的執行細節。

經過這些強化后,我們就可以使用陀螺儀數據了,但是只能短期使用。

我們仍需要在長時間內能夠保持穩定的信息。加速度計是一種測量加速度的設備。通過使用加速度計,我們可以根據計算獲得的重力矢量來確定傳感器工作平面的角度。但是,使用智能手套時,傳感器將測量所有其他加速度,包括手臂的運動,這可能會破壞所測量的重力矢量。

低通濾波器可用于從隨機加速度中過濾掉重力矢量。加速度計的測量值只適用于長期使用。

將傳感器數據融合的最常見方法之一是使用功能強大的Kalman濾波器(很難理解,也很難在Arduino上實現)。

我們使用互補濾波器作為整合IMU數據的解決方案,這種濾波器非常易于理解,且容易在Arduino上實現?;パa濾波器基本原理如下:

pYYBAGPzEtSAZS56AAASUQ-G4gI073.png

其中,Roll_i – 上一次迭代中計算出的橫滾角

gyroRoll_i+1 –基于最近一次陀螺儀數據進行的最近一次測量所得到的角度變化

accelRoll_i+1 –基于最近一次的加速度計數據計算出的橫滾角

Roll_i+1 –最新計算得到的帶有互補濾波器的橫滾角

該濾波器可以在短期內利用陀螺儀的動態特性,并通過加速度計數據在長期內消除誤差。您可以自己進行測試,只需在Arduino IDE中打開imu_2.ino并將其上傳到您的Arduino IDE即可。

更新信息發送端

當我們獲取測量數據時,必須使用無線藍牙連接來將數據傳送到PC。

首先,檢查Bluetooth Bee是否已正確配置。將Bluetooth Bee安裝在Xbee USB適配器上,將Bluetooth Bee換為AT模式,然后使用“AT+UART?”指令檢查UART配置。Bluetooth Bee應返回“115200,0,0”(波特率115200位/秒,一個停止位,無奇偶校驗位)。如果不是,請發送“AT+ UART=115200,0,0”指令來配置Bluetooth Bee,然后再次檢查UART配置。檢查后不要忘記關閉AT模式!

另外需要注意的是位于無線SD擴展板上的“串行選擇”開關,該開關將指定將無線連接所讀取的數據發送到何處。

poYBAGPzEtaAXvhMAAHfuByjgQ0435.png

圖24:位于無線擴展板上的串行選擇開關/ ?Arduino LLC

將其切換到MICRO位置。當處于MICRO位置時,藍牙模塊會連接到Arduino。請注意,Arduino仍連接到USB串口轉換器。如果您從Arduino將數據寫入串行端口,數據將會以兩種方式發送:USB傳送和無線傳送。

將messaging.ino上傳到Arduino。請注意,每次打開或重置Arduino時,它都會通過三個步驟進行校準:

陀螺儀零速率電平計算;

測量手指位置最小值;

測量手指位置最大值。

在計算陀螺儀零速率電平之前,請保持IMU靜止不動。在測量手指位置最小值之前,請戴上Arduino手套并握緊拳頭。在測量手指最大位置之前,請戴上Arduino手套并松開拳頭。

在Arduino IDE中打開messaging.ino并將其上傳到您的Arduino UNO中。

關閉Arduino電源,然后將Bluetooth Bee放置在無線擴展板上。請確保Bluetooth Bee不在AT模式下,并且將無線擴展板串行選擇開關切換到MICRO位置。

用9V電池為Arduino Uno供電,并使用“1234”作為密碼與您的Bluetooth Bee配對。確認配對成功后,您可以在設備管理器中找到您的無線藍牙連接作為虛擬COM端口。

poYBAGPzEtiATrHIAAFn3Zy7O0E319.png

圖25:與Bluetooth Bee配對

pYYBAGPzEtmAAsf4AAMjGWgJrRM812.png

圖26:設備管理器中的虛擬COM端口

從項目瀏覽器窗口中打開 Messaging.lvproj LabVIEW項目和 Messaging Test.vi。選擇相關COM端口并運行。

poYBAGPzEtyADtm7AAJEDc9EkKU939.png

圖27:LabVIEW PC應用程序中顯示的來自Arduino手套的信息

您將會看到Arduino Uno在串行端口中寫入的數據已通過藍牙傳輸,并從虛擬COM端口中讀取。

添加Kinect測量

表面上看,Kinect 是一款Xbox 360游戲設備控制器,可替代常見的游戲桿。實際上,它是一個功能強大的運動捕捉控制器,可獲取您的姿態信息,并使您可以用手或者身體來控制游戲過程。雖然這個設備是為了游戲而開發的,但也可以在實際生活中使用。

想要在LabVIEW環境中使用用于Xbox 360的Kinect,您需要安裝以下軟件:

Microsoft Kinect SDK 1.5 (適用于Windows SDK v1.5的Kinect)

Microsoft .NET 4.0 Framework (Microsoft .NET Framework 4 (獨立安裝程序))

適用于Microsoft Kinect的Kinesthesia LabVIEW工具包

從項目瀏覽器窗口中打開 Kinect.lvproj LabVIEW Project和 Kinect Test.vi ,然后運行。如果正確安裝了所有要求的軟件,您將看到類似以下內容的視頻和Kinect處理結果:

poYBAGPzEt6AWByGAAL9ce3qzYI757.png

圖28:視頻與Kinect處理結果/ ?Kinesthesia

整合所有內容

現在,我們需要把所有內容整合到一個應用程序中。

打開 Arduino Gloves.lvproj LabVIEW Project。然后從項目瀏覽器窗口打開 Host Main.vi 。為左右手套藍牙連接選擇相應的COM端口。插入Kinect,并確??梢允褂?。

然后戴上Arduino藍牙手套并打開電源,為校準提供所需要的必要條件。

之后,運行 Host Main.vi ,您將會看到以下內容:

pYYBAGPzEuSAMqkWAAZsO4bRgss835.png

圖29:在一個應用程序中完成所有測量

請確認對每個手指的彎曲度進行了準確的測量,并且橫滾角、俯仰角和偏航角與您的手的實際姿勢相對應。

機器人控制

Arduino藍牙手套在現實生活中的機器人控制應用領域很有用。所有處理過的數據都可以通過UDP信息傳輸到任何第三方應用程序中。

pYYBAGPzEuWAdyyrAAAxVFaebNg882.png

圖30:傳送信息到第三方應用程序示意圖

我們選擇工業機器人手臂的模擬器—UDPPuma560 作為第三方應用程序的示例,同時添加了UDP接收器環路。 從項目瀏覽器窗口打開 Puma560 Simulator.lvproj, Host Main.vi 以及 Puma560 Simulator.vi

為左右手套藍牙連接選擇相應的COM端口。插入Kinect并確??梢允褂?。

然后戴上Arduino藍牙手套并打開電源,并為校準提供所需的必要條件。

運行完這兩個VI后,您將會得到以下結果:

poYBAGPzEuiAZEYAAAQe_JGGu2w145.png

圖31:將處理后的數據導出到Puma560模擬器

請注意,您必須對從智能手套獲取的數據進行正確的解譯,而不應該直接使用沒有經過任何處理的數據。例如,操作員的右手坐標不可能與機器人的手臂夾持器相同,所以您需要將測量數據從操作員的坐標系轉換為機器人的坐標系。

審核編輯黃宇

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

    關注

    114

    文章

    5866

    瀏覽量

    171122
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187741
收藏 人收藏

    評論

    相關推薦

    I2C接口的DAC8571輸出不正常是什么原因?

    和SDATA如下圖: 首先是一次發送完整波形 然后是第一部分,包括地址與控制字節,是正確的 然后是第二部分,即高位字節 最后是低位字節 可以看到應該是正確的波形。 謝謝!
    發表于 01-17 08:34

    視覺AI之旅:一起探索 FiftyOne ——第二部分 入門指南

    /journey-into-visual-ai-exploring-fiftyone-together-part-ii-getting-started-14cca5adfcd3 ? ? 一,前言 上次我們介紹了《視覺AI之旅:一起探索 FiftyOne——第一部分丨簡介丨》,今天作為FiftyOne系列的
    的頭像 發表于 12-24 17:00 ?112次閱讀
    視覺AI之旅:一起探索 FiftyOne ——<b class='flag-5'>第二部分</b>  入門指南

    松下MPS媒體制作平臺第七篇:視頻混合器插件(第二部分)

    第七篇:視頻混合器插件(第二部分) 視頻混合器(Video Mixer)插件可以輕松進行主體鍵控,不受拍攝地點的局限,同時便于將多種視頻素材進行合成。 關于視頻混合器的操作介紹,我們一共制作了四部分
    的頭像 發表于 12-19 13:38 ?193次閱讀
    松下MPS媒體制作平臺第七篇:視頻混合器插件(<b class='flag-5'>第二部分</b>)

    Air780EP硬件設計原理解析(第二部分

    ? 接下來,我們繼續學習第二部分。 3.3 電源供電 ? 3.3.1 模塊電源工作特性 在模塊應用設計中,電源設計是很重要的一部分。由于LTE射頻工作時最大峰值電流高達1.5A,在最大發射功率時會
    的頭像 發表于 11-06 15:06 ?307次閱讀
    Air780EP硬件設計原理解析(<b class='flag-5'>第二部分</b>)

    條理清晰,淺顯易懂:Lua語法基礎知識(第二部分

    今天我們繼續學習Lua語法基礎教程,中篇。 五、變量 5.1 number變量 變量,可以看作是一個桶,在里面裝你想要裝的內容。這些內容可以是Lua包含的所有合法類型。 例如:我想要新建一個桶,名叫
    的頭像 發表于 10-29 13:40 ?172次閱讀

    0.4mm層疊封裝(PoP)封裝的PCB組裝指南,第二部分

    電子發燒友網站提供《0.4mm層疊封裝(PoP)封裝的PCB組裝指南,第二部分.pdf》資料免費下載
    發表于 10-15 11:33 ?0次下載
    0.4mm層疊封裝(PoP)封裝的PCB組裝指南,<b class='flag-5'>第二部分</b>

    求助,opa695的datesheet問題求解

    opa695的手冊上第14頁圖3 第一部分的電容是隔直作用。datesheet說第二部分的電容也是隔直作用。這里的直流是哪里來的?不是在第一部分就隔掉了嗎?我用TI的軟件tian90 仿真此圖
    發表于 09-13 07:00

    電源設計方法-第6部分

    電子發燒友網站提供《電源設計方法-第6部分.pdf》資料免費下載
    發表于 09-06 14:57 ?0次下載
    電源設計方法-第6<b class='flag-5'>部分</b>

    電源設計方法-第1部分

    電子發燒友網站提供《電源設計方法-第1部分.pdf》資料免費下載
    發表于 09-06 11:40 ?0次下載
    電源設計方法-第1<b class='flag-5'>部分</b>

    學習hypervisor嵌入式產品安全設計

    第一部分(第1~2章)介紹Hypervisor基礎,涵蓋虛擬化技術與實現、主流的嵌入式Hypervisor產品,以及基于分離內核的嵌入式Hypervisor等內容。第二部分(第3~12章)介紹嵌入式
    發表于 08-25 09:11

    世界第一款集成電路締造者?!| 第二部分

    行業芯事行業資訊
    acroview123
    發布于 :2024年08月20日 10:37:31

    挖過石油、得過“艾美獎”的神秘半導體行業巨頭是誰呢?| 第二部分

    行業芯事行業資訊
    acroview123
    發布于 :2024年08月20日 10:18:46

    使用rt_thread_mdelay函數后出現hardfault的原因?

    !! \\r\\n\"); } // 線程中第二部分使用的延時,進入while循環立馬報錯 hw_ethernet_write(send_buf, sizeof(send_buf)); while
    發表于 07-16 07:07

    美國商務部長呼吁推動第二部芯片法案,助力全球半導體主導地位

    雷蒙多在參加英特爾IFS Direct Connect 2024代工活動時呼吁稱,為了實現美國成為全球芯片強國有必要進行聯邦補助。她提出了制定第二部《CHIPS法案》的必要性,以便繼續對半導體行業的國內行動提供支持。
    的頭像 發表于 02-25 15:56 ?816次閱讀
    主站蜘蛛池模板: 国产精品久久久久影院 | 日韩成人性视频 | 免费视频精品38 | 久久亚洲精品AV成人无 | 亚洲色大成网站WWW永久麻豆 | 中文字幕人成乱码中国 | 亚洲中字慕日产2020 | 黑色丝袜在线观看 | 88.7在线收听 | 国产精品一区二区欧美视频 | 久久久久亚洲日日精品 | 日韩专区亚洲国产精品 | 亚洲日本激情 | 国产精品久久人妻无码蜜 | 欧美成人亚洲高清在线观看 | 久久涩视频 | 污污又黄又爽免费的网站 | 久久re热线视频精品99 | 国产一区二区三区乱码在线观看 | 亚洲精品天堂自在久久77 | 中文在线观看 | 嫩草影院久久国产精品 | WWW国产亚洲精品久久麻豆 | 伊人久久精品AV无码一区 | 综合亚洲桃色第一影院 | 国产精品2020观看久久 | 亚洲精品第五页中文字幕 | 亚洲欧美无码2017在线 | 性色欲情网站IWWW九文堂 | 国产成人综合网在线观看 | 永久免费的无码中文字幕 | 乐乐亚洲精品综合影院 | 国产嫩草影院精品免费网址 | 黄色直接观看 | 亚洲一区在线观看视频 | 久久久久久久尹人综合网亚洲 | 日本 稀土矿 | 久久久久久久国产精品视频 | 寂寞夜晚免费观看视频 | 超碰97免费人妻 | 90后美女乳沟 |