双色球出号频率图|双色球基本走势图删除

神經反饋 EEG-SMT 硬件及軟件資料全開源

  • 神經反饋 EEG-SMT 硬件及軟件資料全開源
  • 神經反饋 EEG-SMT 硬件及軟件資料全開源
  • 神經反饋 EEG-SMT 硬件及軟件資料全開源

神經反饋 EEG-SMT 硬件及軟件資料全開源

神經反饋 EEG-SMT 硬件及軟件資料全開源

神經反饋 EEG-SMT 硬件及軟件資料全開源


EEG設備的作用是探討實驗者有意識地意識到大腦中的一般活動,同時,可以提高心智能力和探索意識方面的巨大潛力。原作者開源此項目神經反饋 EEG-SMT 硬件及軟件全部資料,目的在于希望更多的腦電圖業務愛好者能夠參與過來,當然,也歡迎從事神經反饋軟件領域的專用人士參與其中。該USB接口低成本EEG設備已經組裝完成,您只需要一根帶有B型連接器的USB電纜和5個電極即可以參與到該神經反饋的實驗過來。

神經反饋 EEG-SMT實物截圖:

電路 PCB截圖, 用eagle軟件打開,見附件下載:

固件源碼截圖:

有關項目的完整信息,請訪問openEEG網站:http://openeeg.sourceforge.net

電路相關文件

電路圖文件
神經反饋 EEG-SMT 硬件開源.zip
描述:原理圖和PCB,用eagle軟件打開
源代碼
教程
EEG-SMT.pdf
描述:EEG-SMT用戶手冊
其他文件
EEG-SMT_QUICKSTART.pdf
描述:EEG-SMT快速入門指南
分享到:
收藏 (4)
電子硬件助手小程序 電子硬件助手小程序

電路城電路折扣劵獲取途徑:

電路城7~10折折扣劵(全場通用):對本電路進行評分獲取;

電路城6折折扣劵(限購≤100元電路):申請成為賣家,上傳電路,審核成功后獲取。

(版權歸https://www.olimex.com/所有)

版權聲明:電路城所有電路均源于網友上傳或網上搜集,供學習和研究使用,其版權歸原作者所有,對可以提供充分證據的侵權信息,本站將在確認后24小時內刪除。對本電路進行投訴建議,點擊投訴本電路反饋給電路城。

使用說明:直接使用附件資料或需要對資料PCB板進行打樣的買家,請先核對資料的完整性,如果出現問題,電路城不承擔任何經濟損失!

換一批 more>>

大家都在看:

繼續閱讀

  • 樹莓派擴展板散熱風扇

    RPI-HAT-CoolingFan 產品介紹產品特點使用步驟產品鏈接FAQ產品介紹這是是繆斯實驗室推出的針對樹莓派4解決其散熱問題的散熱風扇擴展板,數碼管顯示溫度及IP地址,風扇帶溫控,硬件/軟件開源。由于樹莓派4的使用定位為小型計算機,然而單板上并無任何散熱措施,一旦系統負載過大(如打開較多網頁、播放視頻等),樹莓派溫度則會立即上升至80度左右,由于CPU自帶溫度監控,一旦溫度過大,則會降頻運行,甚至直接卡住或者死機,嚴重影響可用性。一般可使用散熱片或者散熱風扇的形式進行降溫,使用散熱風扇進行主動降溫的效果是最好的,經過實測,使用散熱風扇擴展板在系統高負載時可降低溫度20-30度,可有效提升系統性能,改善使用體驗。產品特點 數碼管實時顯示溫度和IP地址溫度門限控制,超過門限則開啟散熱風扇硬件開源軟件開源,可根據自己需求修改參數使用步驟倉庫目錄下文件如下:<code>[email protected]:~/oss/RPI-HAT-CoolingFan $ ls coolingfan-daemon LICENSE main.c main.o Makefile README.md 只需將可執行文件coolingfan-daemon拷貝至系統啟動腳本中,即可實現開機自動運行。推薦加至如下位置:<code>/etc/xdg/lxsession/LXDE-pi/sshpwd.sh 舉例如下:#!/bin/bash export TEXTDOMAIN=pprompt . gettext.sh /home/pi/oss/RPI-HAT-CoolingFan/coolingfan-daemon if [ -e /run/sshwarn ] ; then zenity --warning --width=400 --text="$(gettext "SSH is enabled and the default password for the 'pi' user has not been changed.\n\nThis is a security risk - please login as the 'pi' user and run Raspberry Pi Configuration to set a new password.")" fi<br>資料鏈接所有資料包括硬件和軟件均開源,均可在github獲取,請點擊https://github.com/wuxx/RPI-HAT-CoolingFan獲取產品鏈接https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-21293878338.29.2c28773dLWvBjw&id=604376760205
    來自:DIY創意產品時間:2019-10-03 開源 樹莓派 風扇
  • 合泰HT32F1656 智能蜂箱系統電路

    用到了合泰HT32F1656以下外設/接口: ADCGPIOUART1-WireI2CTimerINIT硬件控制:以HT32F1656單片機及外圍電路(如電源管理、HX711AD重量采集電路、RTC時鐘電路、DS18B20溫度采集電路、液晶顯示模塊、步進電機驅動、繼電器電路、MOS放大電路、WIFI電路、電量采集電路等)搭建主控面板,安裝在各個蜂箱節點上。硬件模塊運用GPIO、定時器、外部中斷、UART、電量采集等功能來控制相應模塊和裝置,實現沖水、喂食、加熱等操作,并將日期、溫度、重量等信息通過串口顯示在串口屏上。1.HT32-1656最小系統原理圖2.外設驅動電路3.PCB-3D購買,贈送 原版程序(帶各個模塊封裝好的驅動以及初始化程序)
    來自:工業控制時間:2019-09-29 單片機 開源 ht32f1656
  • STM32L152C8T6_FM17550_LPCD_IWDT_STANDBY_低功耗讀AB卡_定時喚醒清看門狗_復旦讀卡_天線調校

    當前工程從酒店鎖應用中精簡而來,實現了低功耗讀TypeA_TypeB卡,可區分IC卡和CPU卡和身份證。而且實現STANDBY模式的低功耗休眠,定時喚醒清看門狗。程序本著模塊化編程理念,非常容易移植到各個平臺!!!當前RFID芯片 是復旦的FM175550,本程序可以應用在復旦同系列產品如FM17510,FM17520,FM17522;NXP系列的產品理論也是可以直接替換的(RC522,RC520......),因未曾驗證,請自行判斷。原理圖內的天線參數請根據PCB實際情況調整,如需要參數調校方面咨詢或服務,請主動聯系小編!小編做了很多門禁相關應用,如需要合作,工程文檔內有小編聯系方式,聯系時,請表明來意!感謝!!
    來自:安防與監控時間:2019-09-20 stm32 單片機 原理圖
  • Type-c接口的arduino MEGA2560_air

    arduino mega2560開發板 air版本。為學校的比賽特地設計。尺寸縮小,比信用卡還短一點。下載部分改為CH340方案。usb接口改為type-c。數據線插上即可使用。AD格式 pcb和原理圖,提供PDF版本原理圖。PCB:實物圖:文件包括:與以太網模塊連接:
    來自:DIY創意產品時間:2019-09-19 diy制作 arduino 開源
  • 樹莓派擴展板

    樹莓派擴展板,使用stm32f107作為擴展板主控芯片。擴展板和樹莓派通信可以通過USB通信和串口TTL通信。擴展板可以單獨使用部分功能,樹莓派也可以單獨使用部分功能。全部功能是需要stm32和樹莓派同時連接才能實現。擴展板STM32功能有:16路pwm輸出輸入;蜂鳴器;RGB LED;RTC時鐘;USB通信;USB轉TTL通信;12伏供電可以輸出5v、3.3v、12V電源;OLED接口;AIP1628數碼管驅動,按鍵功能擴展板樹莓派功能:RGB LED;OLED接口;AIP1628數碼管驅動;按鍵;蜂鳴器;風扇;SPI 、IIC擴展接口;40pin擴展接口。
    來自:其他開發板時間:2019-09-12 stm32 開源 raspberry pi 3
  • SDI高清視頻切換設備

    高清SDI切換器支持將三路包括3G-SDI, HD-SDI或標準SDI信號源輸入轉換為任意1路輸出,無縫切換,無損畫質。完美適用于多路SDI數字視頻信號的顯示切換,具備高性能低成本的優勢。采用廣播級品質技術,支持1080P高清傳輸
    來自:基礎電路時間:2019-07-18 開源
  • 穩定可靠的JLink v9.5,自動升級固件,已批量生產

    jlink v9工程文件含原理圖、 PCB、BOM、固件 親手打造,從打樣驗證,到批量生產,網上開源資料所有已知的,未知的問題均已修復,目前穩定可用。真正設計文件到手就能用,可以直接導生產文件。另外,有償提供技術支持,從0基礎到燒錄測試一條龍服務,歡迎交流。
    來自:其他時間:2019-07-14 stm32 單片機 diy制作 開源
  • UWB定位系統,已打板親測可用

    基于官方源碼修改的UWB定位系統,已打板親測可用板載072下載器 插上即可使用同時也有贈072可升級固件
    來自:無線手持設備時間:2019-07-11 stm32 開源 uwb定位
  • 支持手機APP控制的Arduino機械臂

    在本教程中,我們將學習如何制作一個Arduino機械臂,它可以使用自定構建的Android應用程序進行無線控制和編程。我將向您展示構建它的整個過程,從設計和3D打印機器人部件,連接電子組件和編程Arduino,到開發我們自己的Android應用程序來控制機械臂。 使用應用程序中的滑塊,我們可以手動控制機械臂的每個伺服或軸的運動。同樣使用“保存”按鈕,我們可以記錄每個位置或步驟,然后機械臂可以自動運行并重復這些步驟。使用相同的按鈕,我們可以暫停自動操作以及重置或刪除所有步驟,以便我們可以記錄新的步驟。 Arduino Robot Arm 3D模型 首先,我使用Solidworks 3D建模軟件設計了機械臂。手臂有5個自由度。 對于前3軸,腰部,肩部和肘部,我使用了MG996R伺服系統,而對于另外2軸,腕部滾動和腕部間距,以及夾具我使用了較小的SG90微型伺服系統。 您可以下載和下面的3D模型。3D打印機械臂 使用我的新3D打印機,Creality CR-10,我3D打印了Arduino機械臂的所有部件。為了完成組裝,我們只需使用一些螺栓和支架連接上部和下部框架,然后使用提供的電纜將電子組件與控制箱連接。 在嘗試之前,建議檢查滾輪是否足夠緊,如果沒有,可以簡單地使用偏心螺母將它們擰緊。就是這樣,在調平3D打印床之后,您就可以將3D創作變為現實。 我在幾個小時內準備好Arduino Robot Arm的所有部件。組裝機械臂 好的,我們準備組裝機械臂。我從基座開始,我使用其包裝中的螺絲連接了第一臺伺服電機。然后在伺服的輸出軸上我固定了一個圓角螺栓。在它的頂部,我放置上部并用兩個螺絲固定。 這里再次首先進入伺服,然后將圓形喇叭放到下一個部件上,然后使用輸出軸上的螺栓將它們固定在一起。 我們在這里可以注意到,在肩軸上最好包括某種彈簧,或者在我的情況下,我使用橡皮筋為伺服提供一些幫助,因為這種伺服也承載了其余部分的整個重量。作為有效載荷。 以類似的方式,我繼續組裝機械臂的其余部分。至于夾具機構,我使用了大約4毫米的螺栓和螺母來組裝它。 最后,我將夾具機構安裝到最后一個伺服機構上,完成了Arduino機械臂。Arduino機械臂電路圖 下一階段是連接電子產品。該項目的電路圖實際上非常簡單。我們只需要一個Arduino板和一個HC-05藍牙模塊與智能手機進行通信。六個伺服電機的控制引腳連接到Arduino板的六個數字引腳。 為了給伺服電機供電,我們需要5V,但這必須來自外部電源,因為Arduino無法處理所有電流都可以吸收的電流量。電源必須能夠處理至少2A的電流。因此,一旦我們將所有內容連接在一起,我們就可以繼續編寫Arduino并制作Android應用程序。Arduino機械臂代碼 由于代碼有點長,為了更好地理解,我將在每個部分的描述部分發布程序的源代碼。在本文的最后,我將發布完整的源代碼。 首先,我們需要包含SoftwareSerial庫,用于藍牙模塊和伺服庫的串行通信。這兩個庫都包含在Arduino IDE中,因此您無需在外部安裝它們。然后我們需要定義六個伺服器,HC-05藍牙模塊和一些用于存儲伺服器當前和先前位置的變量,以及用于存儲自動模式的位置或步驟的陣列。 #include <SoftwareSerial.h> #include <Servo.h> Servo servo01; Servo servo02; Servo servo03; Servo servo04; Servo servo05; Servo servo06; SoftwareSerial Bluetooth(3, 4); // Arduino(RX, TX) - HC-05 Bluetooth (TX, RX) int servo1Pos, servo2Pos, servo3Pos, servo4Pos, servo5Pos, servo6Pos; // current position int servo1PPos, servo2PPos, servo3PPos, servo4PPos, servo5PPos, servo6PPos; // previous position int servo01SP[50], servo02SP[50], servo03SP[50], servo04SP[50], servo05SP[50], servo06SP[50]; // for storing positions/steps int speedDelay = 20; int index = 0; String dataIn = ""; 在設置部分,我們需要初始化伺服器和藍牙模塊,并將機械臂移動到其初始位置。我們使用write()函數來做到這一點,它只是將伺服器移動到0到180度的任何位置。 void setup() { servo01.attach(5); servo02.attach(6); servo03.attach(7); servo04.attach(8); servo05.attach(9); servo06.attach(10); Bluetooth.begin(38400); // Default baud rate of the Bluetooth module Bluetooth.setTimeout(1); delay(20); // Robot arm initial position servo1PPos = 90; servo01.write(servo1PPos); servo2PPos = 150; servo02.write(servo2PPos); servo3PPos = 35; servo03.write(servo3PPos); servo4PPos = 140; servo04.write(servo4PPos); servo5PPos = 85; servo05.write(servo5PPos); servo6PPos = 80; servo06.write(servo6PPos); } 接下來,在循環部分,使用Bluetooth.available()函數,我們不斷檢查智能手機是否有任何傳入數據。如果為true,則使用readString()函數將數據讀取為字符串并將其存儲到dataIn變量中。根據到達的數據,我們將告訴機械臂該做什么。 // Check for incoming data if (Bluetooth.available() > 0) { dataIn = Bluetooth.readString(); // Read the data as string Arduino機械臂控制Android應用程序 我們現在來看看Android應用程序,看看它實際發送給Arduino的數據類型。 我使用MIT App Inventor在線應用程序制作了應用程序,以及它的工作原理。在頂部,我們有兩個按鈕,用于將智能手機連接到HC-05藍牙模塊。然后在左側我們有一個機械臂的圖像,在右側我們有六個用于控制伺服器的滑塊和一個用于速度控制的滑塊。 每個滑塊都有不同的初始值,最小值和最大值,適合機械臂關節。在應用程序的底部,我們有三個按鈕,SAVE,RUN和RESET,通過它我們可以編程機械臂自動運行。下面還有一個標簽,顯示我們保存的步驟數。然而,有關如何使用MIT App Inventor構建此類應用程序的更多詳細信息,您可以查看我的其他詳細教程。 好的,現在讓我們看看應用程序背后的程序或塊。首先,在左側,我們有用于將智能手機連接到藍牙模塊的模塊。 然后我們有用于伺服位置控制的滑塊和用于編程機械臂的按鈕塊。因此,如果我們使用藍牙功能.SendText更改滑塊的位置,我們會向Arduino發送文本。此文本包含一個前綴,指示哪個滑塊已更改,以及滑塊的當前值。 這是上述MIT App Inventor項目的下載文件,以及準備安裝在智能手機上的Android App: 因此,在Arduino中,使用startsWith()函數,我們檢查每個傳入數據的前綴,因此我們知道接下來要做什么。例如,如果前綴是“s1”,我們知道我們需要移動伺服編號1。使用substring()函數我們得到剩余的文本,或者是位置值,我們將其轉換為整數并使用該值將伺服移動到該位置。 // If "Waist" slider has changed value - Move Servo 1 to position if (dataIn.startsWith("s1")) { String dataInS = dataIn.substring(2, dataIn.length()); // Extract only the number. E.g. from "s1120" to "120" servo1Pos = dataInS.toInt(); // Convert the string into integer 在這里我們可以簡單地調用write()函數并且伺服將轉到該位置,但是以這種方式伺服將以其最大速度運行,這對于機械臂來說太快了。相反,我們需要控制伺服的速度,因此我使用了一些FOR循環,以便通過在每次迭代之間實現延遲時間來逐漸將伺服從前一個位置移動到當前位置。通過更改延遲時間,您可以更改伺服的速度。 // We use for loops so we can control the speed of the servo // If previous position is bigger then current position if (servo1PPos > servo1Pos) { for ( int j = servo1PPos; j >= servo1Pos; j--) { // Run servo down servo01.write(j); delay(20); // defines the speed at which the servo rotates } } // If previous position is smaller then current position if (servo1PPos < servo1Pos) { for ( int j = servo1PPos; j <= servo1Pos; j++) { // Run servo up servo01.write(j); delay(20); } } servo1PPos = servo1Pos; // set current position as previous position } 相同的方法用于驅動機器人臂的每個軸。 在它們下面是SAVE按鈕。如果我們按下SAVE按鈕,每個伺服電機的位置將存儲在一個陣列中。隨著每次按壓,索引增加,因此陣列逐步填充。 // If button "SAVE" is pressed if (dataIn.startsWith("SAVE")) { servo01SP[index] = servo1PPos; // save position into the array servo02SP[index] = servo2PPos; servo03SP[index] = servo3PPos; servo04SP[index] = servo4PPos; servo05SP[index] = servo5PPos; servo06SP[index] = servo6PPos; index++; // Increase the array index } 然后,如果我們按下RUN按鈕,我們調用runservo()自定義函數,該函數運行存儲的步驟。我們來看看這個功能。所以這里我們一遍又一遍地運行存儲的步驟,直到我們按下RESET按鈕。使用FOR循環,我們遍歷存儲在陣列中的所有位置,同時我們檢查是否有來自智能手機的任何傳入數據。此數據可以是RUN / PAUSE按鈕,用于暫停機器人,如果再次單擊則繼續自動運動。此外,如果我們改變速度滑塊位置,我們將使用該值來改變下面FOR循環中每次迭代之間的延遲時間,這將控制伺服電機的速度。 // Automatic mode custom function - run the saved steps void runservo() { while (dataIn != "RESET") { // Run the steps over and over again until "RESET" button is pressed for (int i = 0; i <= index - 2; i++) { // Run through all steps(index) if (Bluetooth.available() > 0) { // Check for incomding data dataIn = Bluetooth.readString(); if ( dataIn == "PAUSE") { // If button "PAUSE" is pressed while (dataIn != "RUN") { // Wait until "RUN" is pressed again if (Bluetooth.available() > 0) { dataIn = Bluetooth.readString(); if ( dataIn == "RESET") { break; } } } } // If SPEED slider is changed if (dataIn.startsWith("ss")) { String dataInS = dataIn.substring(2, dataIn.length()); speedDelay = dataInS.toInt(); // Change servo speed (delay time) } } // Servo 1 if (servo01SP[i] == servo01SP[i + 1]) { } if (servo01SP[i] > servo01SP[i + 1]) { for ( int j = servo01SP[i]; j >= servo01SP[i + 1]; j--) { servo01.write(j); delay(speedDelay); } } if (servo01SP[i] < servo01SP[i + 1]) { for ( int j = servo01SP[i]; j <= servo01SP[i + 1]; j++) { servo01.write(j); delay(speedDelay); } } 以前面用這些IF語句和FOR循環解釋的方式,我們將伺服器移動到下一個位置。最后,如果我們按下RESET按鈕,我們將清除陣列中的所有數據為零,并將索引重置為零,這樣我們就可以用新的動作重新編程機械臂。 // If button "RESET" is pressed if ( dataIn == "RESET") { memset(servo01SP, 0, sizeof(servo01SP)); // Clear the array data to 0 memset(servo02SP, 0, sizeof(servo02SP)); memset(servo03SP, 0, sizeof(servo03SP)); memset(servo04SP, 0, sizeof(servo04SP)); memset(servo05SP, 0, sizeof(servo05SP)); memset(servo06SP, 0, sizeof(servo06SP)); index = 0; // Index to 0 } 就是這樣,現在我們可以享受機械臂帶來的樂趣。
    來自:DIY創意產品時間:2019-06-29 diy制作 arduino 開源 藍牙 app
  • 基于51單片機的RGB三色LED燈點陣(8*8) (原理圖+pcb+庫文件+源程序+bom表+演示視頻)

    題目:基于51單片機的RGB三色LED燈點陣(8*8)要求:1、主控:必須是51單片機 2、RGB三色LED燈: 必須是三色的LED彩燈(即一個燈四個引腳,很重要!!!), 共陰共陽無所謂 3、驅動芯片:驅動三色LED點陣必須用專門的驅動芯片,不用鎖存器等,用 TLC5955 (TI 公司生產的) 4、點陣顯示:體現出三色LED燈,顯示數字等- - ~些簡單內容,能體現出燈的顏 色有變化,不是單一的顏色(具體顯示內容無要求)。 5、電路要求: 51最小系統、驅動電路、點陣(8*8 的三色LED點陣)、供電電 路(51的供電、驅動芯片的供電、三色LED燈點陣的一個上拉供電) 6、制板要求: PCB制板注:本人上傳的所有方案僅供發燒友參考,如若用于商業開發,請聯系本人,作進一步的溝通,合作!否則產生的一切后果由購買者自行承擔!
銷量
59
查看
1496
參數名 參數值
發布于 2018 年 07 月 12日
Moore8直播課堂

tracer ?? 双色球出号频率图 22选5幸运奖中奖规则 6个数字复式三中三有多少组 打字赚钱工作是真的吗 梭哈王官方下载 申请彩票投注站需要什么手续办理 福彩3d出号走势图彩吧网 卖微信粉丝赚钱吗 福彩七乐彩走势图2网 广东快乐10分最新开奖 百人牛牛透视 福建福彩快三开奖结果 福彩3d 基本走势图 手机什么app可以合买双色球 股票投资策略 彩票直通车网址 重庆快乐10分开奖结果一定牛