Šī projekta galvenā koncepcija ir tāda, ka ar dažādu smadzeņu viļņu palīdzību lietotājs varēs vadīt robotu, kursoru uz sava datora vai ieslēgt / izslēgt apgaismojumu savās mājās, bet mikrokontrollers (Daļiņu fotons) tiešsaistē izveido lietotāja smadzeņu viļņu analīzi. Tātad, jā, ar šo ierīci jūs patiešām varat izmantot Domas spēku ... Šī ierīce nav paredzēta tikai slinkiem vai faniem, tā tika izveidota, lai dotu cilvēkiem iespēju. kuri katru dienu cīnās ar savu invaliditāti. Robotsizstrādāts autora darbojas tāpat kā ratiņkrēslu sistēma mājās automatizācija palīdzēs lietotājam kontrolēt gaismu vai televizoru, pat ja viņš nevar pārvietoties. Personālā datora kontroliera režīms var būt noderīgs pat pilnīgi veseliem cilvēkiem.
Kā tas darbojas?
Lai atdzīvinātu šo projektu, tika izmantoti četri mikrokontrolleri: Arduino Mega, Arduino Leonardo, ANO un Daļiņu fotons. Mega ir projekta smadzenes, kas saņem signālus no austiņām, analizē un nosūta komandas citām ierīcēm. Visi dati tiek nodoti daļiņai Photon, kas izveido tīmekļa serveri. Leonardo kontrolē peli datorā, un Uno tiek izmantots IR (infrasarkano staru signālu) uztveršanai un robota vadīšanai. Ierīce spēj kontrolēt trīs dažādas ierīces (vai vairāk, ja vēlaties ieprogrammēt kaut ko citu). Turklāt šīs trīs dažādās ierīces sauks par kanāliem. Ierīce pārslēdzas starp šiem kanāliem, ja aizverat acis:
Aizveriet acis uz 1-2 sekundēm: pārslēdzieties uz mājas automatizācijas funkciju
Aizveriet acis uz 2–4 sekundēm: pārslēdzieties uz robotu kontroliera režīmu
Aizveriet acis uz 1-6 sekundēm: pārslēdzas uz peles kontroliera režīmu
Lai veiktu mājas automatizācijas funkciju, kurai var pievienot jebko: televizoru, spuldzes, rozetes, visu, ko vēlaties, relejus
Smadzeņu viļņu uztveršanai - Necomimi, kas var kustināt ausis atkarībā no smadzeņu viļņiem (uzmanība, meditācija). Nelielas mikroshēmas iekšpusē, kas nolasa smadzeņu viļņus, izfiltrē troksni un dod ļoti labu signālu. Tas darbojas ar UART (seriālo) saskarni, tāpēc ar nelielu uzlaušanu mēs varam izmantot Arduino, lai lasītu smadzeņu viļņus.Šo austiņu uzdevums ir bezvadu režīmā pārsūtīt smadzeņu viļņus uz centrālo serveri.
Ja jūs jau esat pazīstams ar iepriekšējais projektstad jūs varat izlaist Necomimi izjaukšanas un pārveidošanas posmu.
Iet uz leju, lai redzētu, kā izjaukt un kā no tā izgatavot bezvadu Bluetooth austiņas.
Mājas automatizācijas vadības sistēma
Ja pārslēdzaties uz mājas automatizācijas režīmu, paaugstiniet uzmanības līmeni virs 70, lai ieslēgtu pirmo releju, paaugstiniet meditācijas līmeni virs 70, lai ieslēgtu otro releju, un palieliniet abas vērtības virs 70, lai ieslēgtu trešo releju. Pēc zināma prāta apmācības tas ir nedaudz grūti, bet ne neiespējami. Ja relejs jau ir ieslēgts, izmantojiet to pašu komandu, lai to izslēgtu (ja tas ir ieslēgts, sasniedziet 70, lai to izslēgtu). Kad sistēma ir gatava, releja modulim var pievienot jebkuru augstsprieguma ierīci (gaismu, televizoru, datoru, ventilatoru, jebko).
Peles vadība
Kursoru kontrolē emocijas. Ja uzmanības līmenis ir mazāks par 25, tas pārvietojas pa kreisi, ja no 25 līdz 50 tas virzās pa labi, ja no 50 līdz 75 tas iet uz augšu un, ja no 75 līdz 100, tas pazeminās. Jūs varat izstarot peles pogas klikšķi, palielinot meditācijas līmeni. Protams, jums tas ir jāapmāca.
Robotu vadība
Robotam ir tikai trīs dažādas komandas: apstāties, pagriezties pa kreisi un virzīties uz priekšu. Kāpēc tikai divas kustības iespējas? Tā kā šie divi virzieni ir pietiekami, lai robotu pārvietotu jebkur. Izmantojiet savu meditācijas līmeni, lai pagrieztu ar robotu, un, kad esat sasniedzis virzienu, kurā vēlaties pārvietoties, apturiet robotu un pēc tam virzieties uz priekšu ar uzmanības līmeni. Tas ir labākais veids, kā kontrolēt robotu, un pat iesācēji, kuri tik labi nespēj kontrolēt savas uzmanības / meditācijas vērtības, var spēlēt ar šo robotu.
Austiņas pārraida BT (Bluetooth) signālus uz Arduino Mega, kas analizē ienākošos baitus un atkarībā no lietotāja domām kontrolē dažādas funkcijas. Sākumā autors vēlējās izmantot Daļiņu fotonu kā datu raidītāju, taču šis mazais modulis ieguva lomu tīmekļa servera izveidē. Tā bija lielākā modifikācija visā projektā. Viņš izmantoja arī mājās gatavotus Arduino moduļus, taču jūs varat iegādāties šos moduļus tiešsaistē.
Visas detaļas ir no GearBest.com. Šis ir tiešsaistes veikals, tāds pats kā eBay, taču rezerves daļas tiek piegādātas daudz ātrāk (varbūt tas viss ir vietnē aliexpress). Tāpēc, ja vēlaties izveidot savu spēles kontrolieri, robotu kontrolieri vai Force Detecto r, sāciet, pērkot detaļas.
Nepieciešamie rīki:
lodāmurs
lodēt
līmes pistoli
pašlīmējoša lente / abpusēja lente
stiepļu noņēmējs
stiepļu griezēji
Iekārtas
/ Arduino Nano
Programmatūra:
Datorurķēšana Necomimi
Mēs vēlamies modificēt šo EEG rotaļlietu datu pārsūtīšanai, izmantojot Bluetooth, tāpēc vispirms mēs izjauksim lietu. Skrūves atrodas zem uzlīmes. Noņemiet uzlīmi un ierīces aizmuguri, un iekšpusē atradīsit mazus dēļus. Zem pamatplates atrodas Neurosky TGAM mikroshēma. Tam ir pielodēti 4 vadi no mikrokontrollera galvenās plates, tāpēc paņemiet lodāmuru un uzmanīgi noņemiet šo ķēdi. Tagad pievelciet trīs vadus pie GND tapas, RKC kontakta un T kontakta. T-pin ir raidītāja izeja ar ātrumu 57600 baud, kas nosūta datu paketes mūsu mikrokontrolleram. Kad esat iepriekš pielodējis trīs vadus, varat iebūvēt pats savu uzlādējamo enerģijas avotu. Autors izmanto 500 mAh litija jonu akumulatoru, USB lādētāja ķēdi, 5 V pastiprināšanas shēmu un divus rezistorus (100 omus un 200 omus), lai nodrošinātu atsevišķu 3,4 V barošanas avotu mikroshēmai un Bluetooth modulim. Fotoattēlā parādīta savienojuma shēma.
Ja ķēde ir sagatavota, konfigurējiet Bluetooth moduli.
Izpildiet tālāk sniegtos norādījumus un attēlus un izveidojiet savas bezvadu EEG austiņas.
Vissvarīgākā daļa ir savienot “T” tapu ar “RX” Bluetooth modulī.
HC-06: Vispirms augšupielādējiet skici ar nosaukumu “HC_06_Bluetooth” Arduino UNO, pēc tam pievienojiet Bluetooth moduli, kā parādīts diagrammā.
// HC-06-Bluetooth
spēkā neesoša iestatīšana () {
// Sāciet aparatūras sēriju.
Sērijas.begin (9600); // noklusējuma HC-06 pārsūtīšanas ātrums
kavēšanās (1000);
Serial.print ("AT");
kavēšanās (1000);
Serial.print ("AT + VERSIJA");
kavēšanās (1000);
Serial.print ("AT + PIN"); // lai noņemtu paroli
kavēšanās (1000);
Serial.print ("AT + BAUD7"); // Iestatiet datu pārraides ātrumu uz 576000 - piemēram, Necomimi noklusējuma
kavēšanās (1000);
Sērijas.begin (57600); //
kavēšanās (1000);
}
tukšs cilpa () {
}
Arduino IDE atveriet seriālo monitoru un gaidiet, kamēr Arduino konfigurēs BT moduli. Jūsu Bluetooth modulis tagad ir iestatīts uz 57600 baud. Jūs varat izmēģināt daudzas BCI (Brain Computer Interface) lietojumprogrammas, jo šī uzlauztā Necomimi rotaļlieta būs savietojama ar jebkuru Neurosky lietojumprogrammu.
Varat izmantot šīs lietotnes, lai uzzinātu, kā kontrolēt smadzeņu viļņus.
HC-05: Pēc tam izmantojiet “HC_05_Bluetooth” un ielādējiet Arduino tāpat kā iepriekš.
// HC-06-Bluetooth
anulēta iestatīšana () {
// Sāciet aparatūras sēriju.
Sērijas.begin (9600); // noklusējuma HC-05 pārsūtīšanas ātrums
kavēšanās (1000);
Serial.print ("AT");
kavēšanās (1000);
Serial.print ("AT + VERSIJA");
kavēšanās (1000);
Serial.println ("AT + LOMA = 1"); // iestatiet HC-05 uz galveno režīmu
kavēšanās (1000);
Serial.println ("AT + LINK =" Ievietojiet šeit savu adresi "); // tagad modulim vajadzētu automātiski saplūst
kavēšanās (1000);
Serial.print ("AT + UART = 57600,1,0"); // Iestatiet datu pārraides ātrumu uz 576000
Sērijas.begin (57600); //
kavēšanās (1000);
}
tukšs cilpa () {
}
Pievienojiet HC-05 "EN" tapu 3v3 Arduino. Kodā jāieraksta sava HC-06 moduļa adrese. Pārbaudiet BT moduļa adresi savā Android viedtālrunī. Kodā aizstāt “:” (dubultpunkti) ar komatu “,”.
Un jums jāmaina adrese kodā: 20: 15: 09: 15: 17: 82 = 2015.09.151782 Tādējādi modulis HC-05 var atpazīt adresi.
Tālvadības pults
Lai izveidotu šo lēto robotu, tika izmantots 38 kHz infrasarkanais sensors, kas tiek izmantots televīzijas tālvadības pultīs.
Motora vadītājs
Dzinēja piedziņas diagramma - jums būs nepieciešama šāda informācija:
2 skrūvju spailes
L293D IC3
Galvenes tapa (90 grādi)
1k rezistors
Sarkans gaismas diode
Vadi
Elektriskā shēma
Izmantojot vairākus vara vadus, un, ievērojot diagrammu, pievienojiet mikroshēmas tapas ar savienotāja tapām. Nav svarīgi, kura mikroshēmas kāja ir savienotāja kontaktdakša, atcerieties, kur jūs tos savienojāt. Gaismas diode ir savienota virknē ar rezistoru un paralēli ar 5 V spriegumu.
šasijas montāža
Kā elektromotora vadītājs tiek izmantota L293D mikroshēma, ar kuru var vadīt divus motorus. Skatiet diagrammu, lai izveidotu diagrammu.
Pievienojiet detaļas Arduino
Arduino pin == & gt; motora vadītājs
4 == & gt; 15
5 == & gt; 10
6 == & gt; 7
7 == & gt; 2
VIN == & gt; 8
5v == & gt; 1, 9, 16
GND == & gt; 4, 5, 13, 12
Tātad, apskatiet moduļa L293D shēmu, pēc tam pievienojiet tā kontaktus Arduino UNO, kā aprakstīts iepriekš. Tapa 5v Arduino jāpievieno 1., 9., 16. tapa, lai aktivizētu mikroshēmas motora vadības funkciju. Tad beidzot izmantojiet skrūvju spailes, lai ieslēgtu motorus.
Bibliotēkā tiek izmantots IRremote, kods, kas nolasa 38 kHz infrasarkanos signālus, dekodē tos un pēc tam pārvieto robotu. (Lejupielādējiet bibliotēku sadaļā “programmatūra”).
Kodā ir komentāri, bet būtība ir tāda, ka tas atšifrē infrasarkanos signālus, kas nāk no galvenā servera, tad atkarībā no tā, ko lietotājs vēlas, tas ieslēdz motorus, pēc tam robots pārvietojas uz priekšu vai pagriežas pa kreisi. Lejupielādējiet kodu: "Robot_Code". Lejupielādējiet to savā Arduino, un jūsu robots būs gatavs.
Galvenais serveris (Arduino Mega, Leonardo, Photon)
Serveris nolasa ienākošās datu paketes no bezvadu austiņām. Mēs izmantosim konfigurēto BT moduli, lai nodrošinātu saziņu starp austiņām un serveri. Arduino Mega ir visas ķēdes smadzenes, viss ir savienots ar šo mikrokontrolleri: Bluetooth, infrasarkanā raidītāja LED, tīmekļa serveris un peles kontrolieris. Kods ir nedaudz sarežģīts, taču parasti tam ir komentāri, kas jāsaprot.
Mājoklis
Viss ir vienkārši. Divas 18x15 cm plexiglass plāksnes, izlīdziniet malas ar smilšpapīru. Vairākas skrūves, lai tos savienotu viens ar otru.
Releja dēlis
Jums būs nepieciešama šāda informācija:
2n2222 tranzistors (3 gab.)
germānija diodes (3 gab.)
330 omi rezistori (3 gab.)
1 kOhm rezistori (3 gab.)
Relejs 5 V (3 gab.)
tapu savienotāji
Elektriskā shēma
Attēls ir vērts vairāk nekā tūkstoš vārdu, tāpēc apskatiet diagrammu, kā savienot detaļas uz iespiedshēmas plates.
Ja signāla izeja ir no Arduino, relejs ieslēgsies. Tranzistors pastiprina signālu, nodrošinot relejam pietiekamu jaudu. Mēs izmantosim 37-38-39 kontaktus, lai kontrolētu katra releja HIGH LOW līmeņus.
Lai uzstādītu detaļas uz plexiglass korpusa, autors izmantoja abpusēju lenti. Viņš diezgan daudz tur detaļas.
Tas ir programmatūras serveris, tāpēc shēmas izveidošana nav tik sarežģīta. Jums vienkārši jāieslēdz mikrokontrolleri un jāizveido savienojums starp tiem. IR LED ir savienots ar tapu D3, un relejs ir savienots ar 37-38-39. D16 Arduino Mega dodas uz RX Photon, bet D18 - uz RX Leonardo.
Robota savienojums
[2,02 Kb] (lejupielādes: 14)
Bet tagad kods ir gatavs un darbojas, tāpēc jums vienkārši ir jālejuplādē mikrokontrolleri. Lejupielādējiet .ino failu vai nokopējiet / ielīmējiet kodu savā IDE un izmantojiet to. Daļiņu fotona kods ir jāielādē, izmantojot pārlūka IDE. Lai to izdarītu, reģistrējieties. Pievienojiet klēpjdatoru mikrokontrolleram. Viss notiek gandrīz automātiski, vienkārši pievienojiet ierīces ID.
Pirms kodu lejupielādes pārliecinieties, vai nekas nav savienots ar RX / TX tapām. Tātad atvienojiet savu Bluetooth moduli no Mega un atvienojiet Mega no Leonardo un Photon.
[489 b] (lejupielādes: 15)
Web serverisLai savam projektam pievienotu IoT (lietu internets) funkciju, autors izveidoja tiešsaistes datu reģistrētāju, izmantojot Particle Photon. Atkarībā no tā, ko darāt ar ierīci, Photon izveido personīgo serveri un raksta datus mākonī.Sākumā tas var šķist iebiedējoši, bet iedomājieties, ka varat noteikt, vai esat stresa stāvoklī (uzmanības līmenis strauji palielinās un samazinās) vai ir vērts iet gulēt
(meditācijas līmenis vienmēr ir virs 80)
. Šis tīmekļa serveris var palīdzēt dzīvot veselīgāk.
Pārlūka kodējums
Daļiņai ir arī tiešsaistes panelis, kurā jūs varat publicēt visus datus, izmantojot “Particle.publish ();” sintakse. Rīkjoslas izstrādātāji lietotājiem ir ietaupījuši daudz laika. Kods ir lejupielādēts bezvadu režīmā.