電子發(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)>電子資料下載>電子資料>手勢控制NeoPixel LED游戲

手勢控制NeoPixel LED游戲

2023-06-19 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

描述

這基本上是一個非常簡單和互動的 LED 棋盤游戲。我使用了手勢傳感器和 neopixel LED 來制作這個項目。對于這個項目,我設(shè)計了一個定制的 PCB,其中包括 10 個 WS2812B 可尋址 RGB LED。PCB是三角形PCB。因此,如果我們并排連接其中的 6 個,我們將得到一個包含 60 個 LED 的六邊形 LED 板。為了控制 LED 和手勢傳感器,我使用了我的 PixyMaster,這是一個定制的 Pixel LED 控制器板,可以驅(qū)動這些類型的 LED。它還有一個 I2C 端口,您可以使用它來連接不同的傳感器,在這種情況下是手勢傳感器。這是一個非常有趣的項目,我希望你也會喜歡它。

細(xì)節(jié)

游戲如何運作:

這個游戲的工作原理很簡單。

  • ●通電后,您必須做出特定的手勢來點亮隨機的LED。
  • ●然后您必須記住 LED 的位置,并且您必須使用預(yù)定義的手勢將 LED 從開始位置移動到該位置。
  • ●到達那里后,您需要執(zhí)行另一個手勢,該手勢將告訴微控制器與前一個數(shù)據(jù)驗證該數(shù)據(jù),如果匹配則您獲勝。

PAJ7620 手勢傳感器:

現(xiàn)在這個項目的吸引力中心是這個PAJ7620手勢傳感器。該傳感器可以檢測多達 9 種不同的手勢。只需 2 美元的價格段,讓我們看看這個傳感器提供什么。

  • ●可檢測的手勢有

左、右、上、下、前、后、順時針、逆時針和揮動。

  • ●使用I2C協(xié)議與單片機通信。
  • ●檢測范圍為60°角5-15cm和30°角15-30cm

引腳連接:

NodeMCU 到手勢傳感器 -

VCC - 3.3V

地 - 地

SCL - D1 / GPIO5

SDA - D2 / GPIO4

NodeMCU 轉(zhuǎn) RGB LED 面板 -

VCC - 車輛識別號 / 5V

數(shù)據(jù) - D4 /GPIO2

地 - 地

所需圖書館:

現(xiàn)在,要使用這個傳感器,我們需要在您的 Arduino IDE 中安裝Seeed-Studio提供的Gesture_PAJ7620庫。您也可以在 IDE 的庫管理器中找到它。除此之外,您還需要Adafruit 為該項目提供? 的Adafruit_NeoPixel庫。

編程

#define LED_COUNT 60
#define LED_PIN 2

在這里,我們定義了 LED 的總數(shù)和連接到微控制器的 LED 引腳

randomSeed(analogRead(14));

此函數(shù)將生成一個具有相當(dāng)隨機輸入的偽隨機數(shù),例如未連接引腳上的模擬讀?。ǎ?。單擊此處了解更多信息。

switch (data)                   // When different gestures be detected, the variable 'data' will be set to different values by paj7620ReadReg(0x43, 1, &data).
    {
      case GES_RIGHT_FLAG:
        Serial.println("Right");
        right();
        delay(1000);
        break;
      case GES_LEFT_FLAG:
        Serial.println("Left");
        left();
        delay(1000);
        break;
      case GES_UP_FLAG:
        Serial.println("Up");
        up();
        delay(2000);
        break;
      case GES_DOWN_FLAG:
        Serial.println("Down");
        down();
        delay(1000);
        break;
      case GES_CLOCKWISE_FLAG:
        Serial.println("Clockwise");
        clockwise();
        delay(1000);
        break;
      case GES_COUNT_CLOCKWISE_FLAG:
        Serial.println("anti-clockwise");
        anticlockwise();
        delay(1000);
        break;
    }
  }

在這里,我們使用傳感器檢測手勢并調(diào)用相關(guān)函數(shù)。它將執(zhí)行為該特定手勢定義的命令。?

void left() {
  i = 0;
  j = 0;
  k = 9;
  for (int n = 0; n < 60; n++) {
    strip.setPixelColor(random(60), strip.Color(0, 100, 0));
    strip.show();
    delay(50);
    strip.clear();
    strip.show();
  }
  num = random(60);
  Serial.println(num);
  strip.setPixelColor(num, strip.Color(0, 100, 0));
  strip.show();
}

如果調(diào)用此函數(shù),控制器將開始閃爍隨機 LED,最后在任意 LED 處停止。該 LED 的編號將存儲在“num”變量中。稍后將需要它。

void up() {
  strip.clear();
  if (k < 9) k = k + 1;
  else k = 0;
  strip.setPixelColor(j * 10 + k, strip.Color(0,  0, 50));
  strip.show();
}

void down() {
  strip.clear();
  if (k > 0) k = k - 1;
  else k = 9;
  strip.setPixelColor(j * 10 + k, strip.Color(0,  0, 50));
  strip.show();
}

當(dāng)調(diào)用此函數(shù)時,活動 LED 的位置會增加 1。類似地,當(dāng)調(diào)用“void down()”函數(shù)時,活動 LED 的位置減一。這個數(shù)字將由兩個變量“j”和“k”設(shè)置。在這種情況下,“j”的值是固定的。如果“k”增加,LED 向前移動,如果“k”減少,LED 向后移動。

void clockwise() {
  strip.clear();
  if (j < 5) j = j + 1;
  else j = 0;
  for (i = 0; i < k+1; i++) {
 strip.setPixelColor(j...

?


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

評論

查看更多

下載排行

本周

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