ዝርዝር ሁኔታ:
- ደረጃ 1 - ሳይባ ማይስ
- ደረጃ 2: - በሞንቴ ኦ ሰርኩቶ Abaixo
- ደረጃ 3: Instale O Código No Seu Arduino
- ደረጃ 4 - ኡማ በይነገጽ ግለሰባዊ
- ደረጃ 5 - ዱቪዳስ?
ቪዲዮ: አርዱዲኖ ቲዲሲኤስ ሱፐር ሲምፕልስ። ተሻጋሪ ቀጥተኛ የአሁኑ አነቃቂ (tDCS) DIY: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
Para fazer este tDCS você precisará apenas de um arduino, resistor, capacitor e alguns cabos
-
አርዱinoኖ
- ፒኖ ዲ 13 como saída PWM (pode ser alterado)።
- Pino A0 como entrada analógica (para feedback de corrente)።
- ፒኖ GND apenas para GND።
- ተከላካይ (~ 470 Ω ፣ mas provavelmente entre 300-1000 Ω funciona ፣ você precisará alterar no código fonte)
- አቅም (220 μF)። PWM ን ለ para estabilizar os pulsos ያድርጉ።
- Eletrodos de Esponja (አጉዋ ሳሊና ለሞልሃ-ሎ ይጠቀሙ)።
Como funciona
ኦ አርዱinoኖ አንድ ኮርሬንቴ ፓድራኦ (pode ser alterado) que passará pelo seu cérebro apenas por mudar a voltagem de saída. Você também pode alterar o valor do target_mA pelo serial CLI (ኮንሶል)።
ደረጃ 1 - ሳይባ ማይስ
Você deve ler mais sobre tDCS primeiro. የኤፍዲኤ እና የኤፍዲኤ አድሎአዊ ፍርድ ቤት በአስተያየት ሰጭው ፣ በዋናነት በስራ ላይ የዋለው ሳኦ ናዳ ሶሬ ኦስ ኤፌቲቶስ ኮላራይዝስ ፣ ቅድመ ጥንቃቄዎች…
ደረጃ 2: - በሞንቴ ኦ ሰርኩቶ Abaixo
Não se esqueça das esponjas com água salina!
ደረጃ 3: Instale O Código No Seu Arduino
ሌምበር-ሴ ደ አልተራር እንደ parametros እና área de HARDWARE PARAMS እና CONFIGURABLE PARAMS።
Você também deve alterar o boud rate do Serial para: 115200 para poder ver o resultado.
Para executar comandos, troque o የኋላ መጓጓዣን የሚያቆም መስመር የለም።
ኦ código fonte + tutorial também podem ser encontrados no repositório:
ኮዲጎ ፦
const String ver = "2.0m"; // የሃርድዌር ፓርሞች const int analogInPin = A0; // Entrada do Analógico const int analogOutPin = 13; // ሳይዳ D13 padrão ተንሳፈፈ maxOutV = 5.0; // አንድ voltagem de saída PWM padrão do Arduino [V] float maxRefInV = 1.1; // Referencia à voltagem analógica [V] float R = 470.0; // Resistencia da corrente [ኦም]
// ሊስተካከሉ የሚችሉ ፓራማዎች
bool plotter = ሐሰት; // ዲፊና: እውነት ፣ caso esteja usando o ሴራ ሴረተር bool putty = ሐሰት; // ዲፊና: እውነት ፣ caso esteja usando o PuTTT (pode ser alterado no CLI) int maxmin = 30; // Tempo (em minutos) necessário para desligar [Min] float target_mA = 2.73; // Essa é a corrente que passará pelo seu cérebro !!! [mA] ተንሳፋፊ epsilon_mA = 0.03; // Diferença máxima entre a corrente real e o target_mA (Não altere caso não saiba o que está fazendo!)
// INIT ግሎባልስ
int state = 1; /* -1 - Cérebro não identificado 0 - Voltagem sendo alterada para definir a corrente padrão 1 - Tudo certo. Você esta na corrente definida -10 - Voltagem desligada */ float outV = maxOutV; // Voltagem int debounced_state = 0; int zeros_len = 0; ተንሳፋፊ smoothed_mA = 0;
ሕብረቁምፊ ትዕዛዝ String = ""; // ለ CLI
// ግብረመልስ ረዳቶች
float computeOutVoltage (float V ፣ float new_mA) {ከሆነ (abs (new_mA -target_mA) maxOutV) {state = -1; // resistência muito alta -> cérebro não encontrado? maxOutV ን መመለስ; // መመለስ maxOutV/5.0; // para segurança} ግዛት = 0; መመለስ 0.1*new_V+0.9*V; // አዲስ_ቪ መመለስ; }
int convertVtoOutputValue (ተንሳፋፊ ቪ) {
የመመለስ እገዳ (int (V/maxOutV*255) ፣ 0 ፣ 255); }
ተንሳፋፊ ዳሳሽValue2mA (int sensorValue) {
ተንሳፋፊ ዳሳሽ Voltage = sensorValue/1023.0*maxRefInV; ተንሳፋፊ sensor_mA = sensorVoltage/R*1000.0; ተመለስ sensor_mA; }
int debounced_state_compute (int state) {
(ግዛት 5) ከሆነ 0; } መመለስ 1; }
ያልተፈረመ ረጅም ጅምር ፣ መጨረሻ;
ባዶ ሂደት_መልሰህ () {int sensorValue = analogRead (analogInPin); ተንሳፋፊ new_mA = sensorValue2mA (sensorValue); smoothed_mA = 0.2*new_mA+0.8*smoothed_mA; ተንሳፋፊ V = outV; outV = computeOutVoltage (V, new_mA); analogWrite (analogOutPin ፣ convertVtoOutputValue (outV)); debounced_state = debounced_state_compute (ግዛት); // Exibir መረጃ የለም CLI endc = (ሚሊስ ()-ጅምር)/1000; ሕብረቁምፊ ቲቪ = "[", ttm = "mA/", tsm = "V,", ts = "mA] | Estado:", h = "| Tempo:", s = ":", leadM = "", leadS = "", plotT = "Target:", plotmA = "\ tSmoothed MA:", plotMin = "\ tMin:", ቴምፕ; ያልተፈረመ ረጅም tmin = endc/60-((endc/60)%1); // Formatação if (endc%60 <10) leadS = "0"; ከሆነ (tmin = 0) ts = ts + " +"; // ፓራር አውቶማቲክ (tmin> maxmin) stop_device () ከሆነ () ሕብረቁምፊ txt; (plotter) txt = plotT + target_mA + plotMin + "0" + plotmA + smohhed_mA; ሌላ txt = tv + V + tsm + smoothed_mA + ttm + target_mA + ts + debounced_state + h + tempo; ከሆነ (putty) Serial.print ("\ r / e [? 25l" + txt); ሌላ Serial.println (txt);
// ከሚቀጥለው ዙር በፊት 2 ሚሊሰከንዶች ይጠብቁ
// ለአናሎግ-ወደ-ዲጂታል መቀየሪያ ለመደርደር // ካለፈው ንባብ በኋላ-መዘግየት (5); }
ባዶነት stop_device () {
ግዛት = -10; analogWrite (analogOutPin ፣ 0); clearAndHome (); Serial.println ("Sessão tDCS interrompida"); Serial.println ("------------------------"); እገዛ (); }
// CLI ረዳቶች
ባዶነት ግልጽAndHome () {Serial.write (27); Serial.print ("[2J"); // limpa a tela Serial.write (27); // ESC Serial.print ("[H"); // / r ከሆነ (! putty) ለ (int i = 0; i <= 30; i ++) Serial.println (""); }
ባዶ እገዛ () {
Serial.println ("tDSC arduino, ver"+ver); Serial.println ("'?' - ajuda"); Serial.println ("'' max_time ' - atualiza o tempo máximo (em minutos)"); Serial.println ("'target_mA' - atualiza o target (mA)"); Serial.println ("'epsilon_mA' - atualiza o epsilon_mA (mA)"); Serial.println ("'R' - atualiza a resistência do hardware (Ohm)"); Serial.println ("'putty' - muda a formatação de saída pro PuTTY"); Serial.println ("'stop' - para a estimulação ')); Serial.println ("'ዳግም አስጀምር' - inicia/reinicia a estimulação & o timer"); Serial.println ("'ቀጥል' - ቀጣይነት ያለው ግምት"); Serial.print ("\ n / rEstado: / n / r * max_time:"); Serial.print (maxmin); Serial.print ("minutos / n / r * target_mA:"); Serial.print (target_mA); Serial.print ("mA / n / r * epsilon_mA:"); Serial.print (epsilon_mA); Serial.print ("mA / n / r * R:"); Serial.print (R); Serial.println ("Ohms"); }
bool parse_param (ሕብረቁምፊ እና cmdString) {
int spacePos = cmdString.indexOf (''); (spacePos <= 0) ሐሰት ከተመለሰ; ሕብረቁምፊ ትዕዛዝ = cmdString.substring (0 ፣ spacePos); ሕብረቁምፊ fval = cmdString.substring (spacePos+1); ከሆነ (ትዕዛዝ == "putty") ከሆነ (fval == "እውነተኛ") {putty = true; እውነት ተመለስ; } ሌላ ከሆነ (fval == "ሐሰተኛ") {putty = false; እውነት ተመለስ; } ተንሳፋፊ ቫል = fval.toFloat (); ከሆነ (ትዕዛዝ == "target_mA") {ከሆነ (val100.0) {ሐሰት መመለስ ፤ } target_mA = ቫል; clearAndHome (); እገዛ (); } ሌላ ከሆነ (ትዕዛዝ == "epsilon_mA") {ከሆነ (val0.3) {ሐሰት መመለስ ፤ } epsilon_mA = ቫል; clearAndHome (); እገዛ (); } ሌላ ከሆነ (ትዕዛዝ == "R") {R = val; clearAndHome (); እገዛ (); } ሌላ ከሆነ (ትዕዛዝ == "max_time") {maxmin = val; clearAndHome (); እገዛ (); } ሌላ {ሐሰት መመለስ ፤ } እውነት መመለስ; }
// ማዋቀር እና ዋና መዝለል
ባዶነት ማዋቀር () {Serial.begin (115200); analogReference (ውስጣዊ); //1.1 V Serial.print ("Sessão iniciada!"); ጅምር = ሚሊስ (); } ባዶነት loop () {ከሆነ (ሁኔታ! =-10) {process_feedback (); } ከሆነ (Serial.available ()> 0) {char v = Serial.read (); ከሆነ (ባይት (v) == 13) {// የትራንስፖርት መመለሻ ገንዳ ተቀባይነት = እውነተኛ; ከሆነ (commandString == "?" || commandString == "stop") {stop_device (); } ሌላ ከሆነ (commandString == "ዳግም አስጀምር") {clearAndHome (); ግዛት = -1; outV = maxOutV/5.0; ጅምር = ሚሊስ (); ተቀባይነት ያለው = ሐሰት; } ሌላ ከሆነ (commandString == "ቀጥል") {clearAndHome (); ግዛት = -1; outV = maxOutV/5.0; ተቀባይነት ያለው = ሐሰት; } ሌላ {bool ok = parse_param (commandString); ከሆነ (! እሺ) {clearAndHome (); እገዛ (); ተቀባይነት ያለው = ሐሰት; Serial.println ("Comando desconhecido: '" + commandString + "'"); }} commandString = ""; (ተቀባይነት ካገኘ) {clearAndHome (); እገዛ (); Serial.println ("እሺ!"); }} ሌላ {commandString+= v; ከሆነ (ግዛት ==-10) {Serial.print (v); }}}}
ደረጃ 4 - ኡማ በይነገጽ ግለሰባዊ
ፓራ ሜልሆር acompanhamento e segurança ፣ አንድ ferramenta PuTTY ን ይጠቀሙ ፣ እና ምንም ፊደል የለም -
putty = እውነት
የትርጓሜ መግለጫዎች-
-
መስኮት
- 61 ኮሎናስ ኢ 20 ሊንሃስ
- የማሸብለያ አሞሌ desativado
-
መስኮት> መልክ
ፎንቴ ሉሲዳ ኮንሶል ፣ 28 ፒክስል
ደረጃ 5 - ዱቪዳስ?
ፓራ አብሪር ጉያ ደ አጁዳ ፣ ዲጂት
?
e pressione [ENTER]
OBS: Caso o Estado seja:
-1 -> Cérebro não identificado (corrente aberta) +0 -> Ajustando voltagem+1 -> Tudo certo, tDCS funcionando
የሚመከር:
መካከል ያለው ልዩነት (አማራጭ የአሁኑ እና ቀጥተኛ የአሁኑ) 13 ደረጃዎች
መካከል ያለው ልዩነት (አማራጭ የአሁኑ እና ቀጥተኛ የአሁኑ) - ኤሌክትሪክ በአብዛኛው ዲሲ መሆኑን ሁሉም ያውቃል ፣ ግን ስለ ሌላ ዓይነት ኤሌክትሪክ ምን ማለት ይቻላል? ኤሲን ያውቃሉ? ኤሲ ምን ማለት ነው? ታዲያ ዲሲን መጠቀም ይቻላል? በዚህ ጥናት ውስጥ በኤሌክትሪክ ዓይነቶች ፣ ምንጮች ፣ በአፕሊኬሽን ዓይነቶች መካከል ያለውን ልዩነት እናውቃለን
LightMeUp! በእውነተኛ-ተሻጋሪ-የተቀናጀ የ LED ስትሪፕ መቆጣጠሪያ -5 ደረጃዎች (ከስዕሎች ጋር)
LightMeUp! በእውነተኛ-ተሻጋሪ-መድረክ ላይ የተመሠረተ የ LED ስትሪፕ መቆጣጠሪያ-LightMeUp! ዋጋው ዝቅተኛ እና አፈፃፀሙን ከፍ በማድረግ በእውነተኛ ሰዓት ውስጥ የ RGB LED-Strip ን ለመቆጣጠር የፈጠርኩት ስርዓት ነው። አገልጋዩ በ Node.js ውስጥ ተፃፈ እና ከዚያ በመስቀል-ፕላትፎርም ሊደረግ ይችላል። በእኔ ምሳሌ ፣ ለረጅም ጊዜ ለመጠቀም Raspberry Pi 3B ን እጠቀማለሁ
አፕል M0110 የቁልፍ ሰሌዳ ተሻጋሪ አስማሚ 3 ደረጃዎች (ከስዕሎች ጋር)
አፕል M0110 የቁልፍ ሰሌዳ ተሻጋሪ አስማሚ - የአፕል M0110 ቁልፍ ሰሌዳ በመጀመሪያ በሞዱል አገናኝ ተላከ። በ ‹አሮጌ‹ ጊዜ ያለፈበት ›ላይ እንደሚያገኙት በመሠረቱ እሱ 4P4C ገመድ ነው። የስልክ ማዳመጫ ግን ከመሻገር ይልቅ የመጀመሪያው የአፕል ገመድ ቀጥታ ነው። ማን ምንአገባው?
አርዱዲኖ ዋትሜትር - ቮልቴጅ ፣ የአሁኑ እና የኃይል ፍጆታ 3 ደረጃዎች
አርዱዲኖ ዋትሜትር - ቮልቴጅ ፣ የአሁኑ እና የኃይል ፍጆታ - የተጠቀሙበትን ኃይል ለመለካት መሣሪያን መጠቀም ይቻላል። ይህ ወረዳም ቮልቴጅን እና የአሁኑን ለመለካት እንደ ቮልቲሜትር እና አሚሜትር ሆኖ ሊያገለግል ይችላል
አርዱዲኖ ሱፐር ቀላል ኖኪያ ኤልሲዲ 4 ደረጃዎች
አርዱinoኖ እጅግ በጣም ቀላል ኖኪያ ኤልሲዲ - 6 መስመር ኮድ ፣ ዝላይ ከኖኪያ ኤልሲዲ ለአርዱዲኖ ደረጃ በደረጃ በቤተ -መጽሐፍት እና በጥቃቅን ናሙና ኮድ