INHOUDSOPGAWE:
- Stap 1: Materiale en komponente
- Stap 2: Ontwerp 'n polsband
- Stap 3: Elektroniese verbindings
- Stap 4: Die kode
- Stap 5: Totale samestelling
- Stap 6: Video
- Stap 7: Gevolgtrekking
Video: Drabaar - Finale projek: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
INLEIDING
In hierdie projek het ons die taak gehad om 'n funksionele draagbare prototipe te maak wat gebaseer is op 'n cyborg -funksie. Het u geweet dat u hart sinchroniseer met die BPM van musiek? U kan u bui probeer beheer deur middel van musiek, maar wat as ons toelaat dat tegnologie ons help kalmeer? Ons benodig net 'n paar komponente, 'n Arduino en u koptelefoon. Kom ons innoveer!
Projek deur Marc Vila, Guillermo Stauffacher en Pau Carcellé
Stap 1: Materiale en komponente
Konstruksie Materiaal:
- 3D -gedrukte polsband
- M3 skroewe (x8)
- M3 neute (x12)
- Fanny pack
Elektroniese materiaal:
-Hartslagmeter BPM
- Knoppies (x2)
- Potensiometer
- LCD C 1602 MODULE
- MODULE DFPLAYER MINI MP3
- 3.5 mm Jack Stereo TRRS HEADSET
- MicroSD kaart
- Arduino Uno -bord
- Sweisaar
- Bakelietplaat
Stap 2: Ontwerp 'n polsband
Eerstens maak ons verskeie sketse om die verskillende komponente in die polsband te organiseer.
Met die duidelike idee het ons die drie arms van die lede van die groep gemeet, daarna het ons die gemiddelde gemaak om die optimale maat vir die ontwerp te vind. Uiteindelik ontwerp ons die produk met 'n 3D -program en druk dit met 'n 3D -drukker.
U kan die. STL lêers hier aflaai.
Stap 3: Elektroniese verbindings
Ons gaan voort met die nodige kontrole van ons 3D -ontwerp; ons het 'n eerste vergadering van al die komponente in die prototipe gemaak om te sien dat die metings korrek was.
Om al die komponente aan die Arduino -bord te koppel, het ons verskillende verbindings gemaak met die komponente met behulp van 0, 5 meter kabels, op hierdie manier verminder ons die sigbaarheid van die bord en organiseer ons die prototipe beter.
Stap 4: Die kode
Hierdie projek is 'n cyborg -prototipe. Ons het duidelik nie die komponente onder die vel ingebring nie, daarom het ons dit gesimuleer met 'n armband as 'n ortose ('n eksterne toestel wat op die liggaam aangebring is om die funksionele aspekte aan te pas).
Ons kode neem die toetsaanslagen van die gebruiker en wys dit met behulp van die LCD -skerm. Benewens die BPM, toon die skerm die gewenste intensiteit sodat die gebruiker dit met sy hartklop kan vergelyk. Daar is baie situasies waarin dit interessant is om u eie BPM te verhoog of te verminder. Uithouvermoë -atlete moet byvoorbeeld die pulsasie beheer om nie oormatig moeg te raak nie. 'N Daaglikse voorbeeld is om te wil slaap of kalmeer in 'n senuweeagtige situasie. Dit kan ook as 'n terapeutiese metode vir mense met outisme toegepas word om die spanning wat hulle voel, te verminder. Langs die skerm is twee knoppies om die gewenste intensiteit te beheer en die hartklop te verhoog of te verlaag. Afhangende van die intensiteit word 'n voorheen bestudeerde tipe musiek gespeel. Daar is studies wat toon dat musiek BPM kan verander. Volgens Beats per Minute van die lied, boots die menslike liggaam na en pas by die BPM.
int SetResUp = 11; // pen 10 van Arduino met intensiteitverhogingsknoppie.int SetResDown = 12; // pen 11 van Arduino met afname -knoppie
int ResButtonCounter = 0; // maalteller wat die weerstandsinstelling verhoog of verlaag, aanvanklike waarde van 0 int ResButtonUpState = 0; // huidige toestand van die intensiteit toename knoppie int ResButtonDownState = 0; // huidige toestand van die intensiteit afname knoppie int lastResButtonUpState = 0; // laaste toestand van die intensiteit toename knoppie int lastResButtonDownState = 0; // laaste toestand van die intensiteit afname knoppie
int pulsePin = 0; // Pulssensor gekoppel aan poort A0 // Hierdie veranderlikes is onbestendig omdat dit tydens die onderbreekroetine in die tweede oortjie gebruik word. vlugtige int BPM; // Slae per minuut vlugtige int Signal; // Pulssensor data -invoer vlugtig int IBI = 600; // Pulse time volatile boolean Pulse = false; // Waar as die polsgolf hoog is, vals as dit Lae vlugtige booleaanse QS = vals is;
# definieer Start_Byte 0x7E # definieer Version_Byte 0xFF # definieer Command_Length 0x06 # definieer End_Byte 0xEF # definieer Erkenning 0x00 // Gee inligting terug met opdrag 0x41 [0x01: info, 0x00: geen inligting]
// PANTALLA #include // Laai die biblioteek op vir die funksies van die LCD -skerm #include #include
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Gee die poorte aan waar die LCD gekoppel is
// LECTOR #include #include // Laai die biblioteek op vir die funksies van die module dfplayer mini MP3.
char serialData; int nsong; int v;
SoftwareSerial comm (9, 10); // Verklaar die poorte waar die DFPlayer verbind is DFRobotDFPlayerMini mp3;
ongeldige opstelling () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Definieer die afmetings van die LCD (16x2) lcd.begin (16, 2); // Ons kies in watter kolom en in watter reël die teks begin verskyn // LECTOR comm.begin (9600);
mp3.begin (komm); // Komponent begin serialData = (char) (('')); mp3.start (); Serial.println ("Speel"); // Speel 'n liedjie mp3.volume (25); // Definieer volume}
leemte -lus () {if (digitalRead (11) == LOW) {mp3.next (); // As die knoppie ingedruk word, gaan die liedjie deur} if (digitalRead (12) == LOW) {mp3.previous (); // As die knoppie ingedruk word, die vorige liedjie} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Lees die waarde van die hartklopmonitor wat aan die analoogpoort A0 gekoppel is
Serial.println (pulso/6); as (QS == true) {// Flag of Quantified Self is true like the arduino search the BPM QS = false; // Stel die vlag van Kwantifiseerde Self terug}
lcd.setCursor (0, 0); // Toon die verlangde teks lcd.print ("BPM:"); lcd.setCursor (0, 1); // Toon die verlangde teks lcd.print ("INT:"); lcd.setCursor (5, 0); // Toon die verlangde teks lcd.print (pulso); lcd.setCursor (5, 1); // Toon die verlangde teks lcd.print (ResButtonCounter); vertraging (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// vergelyk TempButtonState met sy vorige toestand
as (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// as die laaste toestand verander het, verhoog die teller
ResButtonCounter ++; }
// stoor die huidige toestand as die laaste toestand, // vir die volgende keer dat die lus uitgevoer word lastResButtonUpState = ResButtonUpState;
// vergelyk die toestand van die knoppie (verhoog of verlaag) met die laaste toestand
as (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// as die laaste toestand verander het, verminder die toonbank
ResButtonCounter--; }
// stoor die huidige toestand as die laaste toestand, // vir die volgende keer dat die lus uitgevoer word lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
as (ResButtonCounter> = 10) {ResButtonCounter = 10; }
as (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
Stap 5: Totale samestelling
Met die kode reg geprogrammeer en die twee dele van ons prototipe reeds saamgestel. Ons sit al die komponente op hul plek en verbind dit met band om dit aan die armband vas te maak. Die komponente in die armband is die BPM van die hartklopsensor, die twee knoppies, die potensiometer en die LCD -skerm, elk in sy onderskeie gat wat voorheen in die 3D -lêer ontwerp is. Met die eerste deel, fokus ons op die protobord, elke aansluiting op die korrekte pen van die Arduino -bord. Uiteindelik, met die geverifieerde werking van elke komponent, sit ons dit in die voupak om die drade weg te steek.
Stap 6: Video
Stap 7: Gevolgtrekking
Die interessantste van hierdie projek is om te leer hoe om die menslike liggaam onbewustelik met musiek na te boots. Dit maak die deur oop vir baie opsies vir toekomstige projekte. Ek dink dit is 'n volledige projek; ons het 'n hele aantal komponente met 'n werkende kode. As ons weer begin, dink ons aan ander komponentalternatiewe of koop dit van beter gehalte. Ons het baie probleme gehad met gebreekte kabels en sweislasse, dit is klein en baie delikaat (veral die BPM). Aan die ander kant moet u versigtig wees wanneer u die komponente verbind, hulle het baie uitsette en dit is maklik om foute te maak.
Dit is 'n baie verrykende projek waarin ons 'n wye verskeidenheid Arduino -hardeware- en sagteware -opsies aangeraak het.
Aanbeveel:
Linefollower HoGent - sintese -projek: 8 stappe
Linefollower HoGent - Syntheseproject: For the vak syntheseproject kregen we the mission a linefollower to make. In hierdie instruksies sal ek uitleg hoe ek dit gemaak het, en teen watter probleme ek o.a ben aangeloop kan word
(IOT -projek) Kry weerdata met behulp van ESP8266 en Openweather API: 5 stappe
(IOT -projek) Kry weerdata met behulp van ESP8266 en Openweather API: in hierdie instruksies gaan ons 'n eenvoudige IOT -projek bou waarin die weerdata van ons stad van openweather.com/api afgehaal word en dit met behulp van verwerkingsprogrammatuur kan vertoon
Dopamienboks - 'n Projek soortgelyk aan Mike Boyd - nie Mike Boyd's nie: 9 stappe
Dopamienboks | 'n Projek soortgelyk aan Mike Boyd - nie die van Mike Boyd nie: ek wil een hê! Ek het een nodig! Ek is 'n uitstel! Ek wil 'n dopamien boks hê … Sonder om te hoef te programmeer. Geen geluide nie, net pure wil
Top 3 wonderlike elektroniese projek met behulp van D-882-transistor: 9 stappe
Top 3 wonderlike elektronika-projek met behulp van D-882-transistor: JLCPCB is die grootste PCB-prototipe-onderneming in China en 'n hoëtegnologiese vervaardiger wat spesialiseer in 'n vinnige PCB-prototipe en klein-bondel PCB-produksie, met meer as 10 jaar ervaring in PCB-vervaardiging. Hulle kan koste -effektiewe oplossings bied
USB -aangedrewe brander! Hierdie projek kan deur plastiek / hout / papier brand ('n prettige projek moet ook baie fyn hout wees): 3 stappe
USB -aangedrewe brander! Hierdie projek kan deur plastiek / hout / papier brand ('n prettige projek moet ook baie fyn hout wees): MOENIE DIT GEBRUIK MET USB nie !!!! Ek het uitgevind dat dit u rekenaar kan beskadig weens al die opmerkings. my rekenaar is goed. Gebruik 'n 600ma 5v telefoonlaaier. Ek het dit gebruik en dit werk goed en niks kan beskadig word as u 'n veiligheidsprop gebruik om die krag te stop nie