BrainMeta'   Connectomics'  

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Low Cost Cranial Electrotherapy Stimulation (CES) for Cognitive Enhancement / Alertness
XR500Final
post Sep 11, 2014, 10:54 AM
Post #1


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



http://www.dailymail.co.uk/sciencetech/art...ert-combat.html

The research focused on two techniques, transcranial magnetic stimulation, in which a magnetic field passes an electric current to the brain, and transcranial direct current stimulation, where it is passed directly into the brain.

A very small dose - around one milliampere - was used on each participant for 10 minutes at a time.

The tests were designed to check for alertness and general performance; one involved participants following instructions on a screen to spot an aircraft as it came into friendly airspace.

Read more: http://www.dailymail.co.uk/sciencetech/art...l#ixzz3D2DZWBdY
Follow us: @MailOnline on Twitter | DailyMail on Facebook


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 11:07 AM
Post #2


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



Anyways I have ordered some Arduino Nano 328 chips and have been applying CES from the 3.3volts to the left and right temporal lobes.

I have noted the following (note this is anecdotal hobby type research DYI).

- Increased energy (I surmise that possibly the pineal gland is being activated).

"Electrical stimulation of the superior cervical ganglia causes a rapid increase in the concentration of cyclic AMP in the pineal gland of rats. This effect is dependent upon the frequency, voltage, and duration of the stimulus and is markedly potentiated by pretreating the animals with desmethylimipramine. The increase in cyclic AMP is blocked by prior treatment of the rats with reserpine, bretylium, or propanolol but not with phentolamine. These results provide direct evidence that electrical stimulation of sympathetic nerves increases cyclic AMP in a target organ through the release of norepinephrine from presynaptic terminals acting on postsynaptic beta-adrenergic receptors." - http://www.ncbi.nlm.nih.gov/pubmed/6273917

- Increased well being. It has been proven that it is effective in the treatment of depression and recent products can be purchased.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 11:12 AM
Post #3


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



Here is the Arduino Code that I am using.

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int ledPin = 13;
int Blue = 12;
int WhiteBlue = 10;
int Orange = 8;
int WhiteOrange = 6;

int timer1_counter;

// the setup routine runs once when you press reset:
void setup()
{
// initialize the digital pin as an output.
pinMode(ledPin, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(WhiteBlue, OUTPUT);
pinMode(Orange, OUTPUT);
pinMode(WhiteOrange, OUTPUT);
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;

// Set timer1_counter to the correct value for our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz

TCNT1 = timer1_counter; // preload timer
TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
interrupts();
}

ISR(TIMER1_OVF_vect) // interrupt service routine
{
TCNT1 = timer1_counter; // preload timer
digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}

// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(Blue,HIGH);
digitalWrite(WhiteBlue,HIGH);
digitalWrite(Orange,LOW);
digitalWrite(WhiteOrange,LOW);
delay(20);
digitalWrite(Orange,HIGH);
digitalWrite(Orange,HIGH);
delay(20);
// 20ms off 20ms on cycle duration 1 / (40 ms / 1000ms) = 25 hz adjust accordingly.
// wait for a second
}
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 11:43 AM
Post #4


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int ledPin = 13;
int Blue = 12;
int WhiteBlue = 10;
int Orange = 8;
int WhiteOrange = 6;

int timer1_counter;

// the setup routine runs once when you press reset:
void setup()
{
// initialize the digital pin as an output.
pinMode(ledPin, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(WhiteBlue, OUTPUT);
pinMode(Orange, INPUT);
pinMode(WhiteOrange, INPUT);
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;

// Set timer1_counter to the correct value for our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz

TCNT1 = timer1_counter; // preload timer
TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
interrupts();
}

ISR(TIMER1_OVF_vect) // interrupt service routine
{
TCNT1 = timer1_counter; // preload timer
digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}

// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(WhiteBlue,HIGH);
digitalWrite(Blue,LOW);
delay(12);
digitalWrite(Blue,HIGH);
digitalWrite(WhiteBlue,LOW);
delay(12);
// 12 ms on / 12 ms off cycle duration 1 / (24 ms / 1000ms) = 41.6 hz
// single pair configuration (orange is not activated in this configuration.
// two pads are wetted and to adjust current salt is added before wetting to pronounce effect.
// current has not been measured in this experiment yet but is probably in order of 1-2 mA.
}
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 11:51 AM
Post #5


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;

// Set timer1_counter to the correct value for our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz

TCNT1 = timer1_counter; // preload timer
TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
interrupts();
}

ISR(TIMER1_OVF_vect) // interrupt service routine
{
TCNT1 = timer1_counter; // preload timer
digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}

This portion of the software will drive pin 13 (LED Pin) high / low at 1 second intervals overlapped with the timing circuit. Thus you can tell if the Arduino is activated by the presence of the blinking led.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 11:53 AM
Post #6


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903





If one wishes to order an Arduino board for this project to do themselves they are available cheaply.

http://www.miniinthebox.com/nano-v3-0-for-...e_p1671937.html

$14.99 at time of posting with free shipping anywhere in the world via DHS Courier. Ships directly from China.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
XR500Final
post Sep 11, 2014, 12:12 PM
Post #7


Aspiring
**

Group: Basic Member
Posts: 96
Joined: May 05, 2008
Member No.: 21903



Enclosed are the different frequencies one will obtain for the different delay settings

ms freq (hz)
1.00 500.00
2.00 250.00
3.00 166.67
4.00 125.00
5.00 100.00
6.00 83.33
7.00 71.43
8.00 62.50
9.00 55.56
10.00 50.00
11.00 45.45
12.00 41.67
13.00 38.46
14.00 35.71
15.00 33.33
16.00 31.25
17.00 29.41
18.00 27.78
19.00 26.32
20.00 25.00
21.00 23.81
22.00 22.73
23.00 21.74
24.00 20.83
25.00 20.00
26.00 19.23
27.00 18.52
28.00 17.86
29.00 17.24
30.00 16.67
31.00 16.13
32.00 15.63
33.00 15.15
34.00 14.71
35.00 14.29
36.00 13.89
37.00 13.51
50.00 10.00
75.00 6.67
100.00 5.00
150.00 3.33
200.00 2.50
250.00 2.00
300.00 1.67


It should be noted that the left field is doubled (this is on time for a full cycle it would be 2X - on time and off time and then divided by a 1000 and this result is inversed.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
bobashabiniu
post Dec 19, 2014, 03:47 AM
Post #8


Newbie
*

Group: Basic Member
Posts: 2
Joined: Dec 19, 2014
Member No.: 37490



dwqdqwasfqwfrqweqewewqeqrqdsasdadsadsadsasad
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dextro
post Jun 11, 2016, 05:35 AM
Post #9


Newbie
*

Group: Basic Member
Posts: 1
Joined: Jun 11, 2016
Member No.: 38238



Hi I want to use your code to try tdcs for myself. I have an arduino uno and I have loaded your code onto it with no errors. Looking at the code I see that pins 13, 12, 10, 8, 6 are used and later you have pin 8 switching on and off. But which pins are actually used for the output to the stimulation? If anyone knows thanks for a reply..





QUOTE(XR500Final @ Sep 11, 2014, 11:12 AM) *

Here is the Arduino Code that I am using.

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int ledPin = 13;
int Blue = 12;
int WhiteBlue = 10;
int Orange = 8;
int WhiteOrange = 6;

int timer1_counter;

// the setup routine runs once when you press reset:
void setup()
{
// initialize the digital pin as an output.
pinMode(ledPin, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(WhiteBlue, OUTPUT);
pinMode(Orange, OUTPUT);
pinMode(WhiteOrange, OUTPUT);
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;

// Set timer1_counter to the correct value for our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16MHz/256/100Hz
//timer1_counter = 64286; // preload timer 65536-16MHz/256/50Hz
timer1_counter = 34286; // preload timer 65536-16MHz/256/2Hz

TCNT1 = timer1_counter; // preload timer
TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
interrupts();
}

ISR(TIMER1_OVF_vect) // interrupt service routine
{
TCNT1 = timer1_counter; // preload timer
digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}

// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(Blue,HIGH);
digitalWrite(WhiteBlue,HIGH);
digitalWrite(Orange,LOW);
digitalWrite(WhiteOrange,LOW);
delay(20);
digitalWrite(Orange,HIGH);
digitalWrite(Orange,HIGH);
delay(20);
// 20ms off 20ms on cycle duration 1 / (40 ms / 1000ms) = 25 hz adjust accordingly.
// wait for a second
}

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 18th November 2017 - 07:21 PM


Home     |     About     |    Research     |    Forum     |    Feedback  


Copyright BrainMeta. All rights reserved.
Terms of Use  |  Last Modified Tue Jan 17 2006 12:39 am

Consciousness Expansion · Brain Mapping · Neural Circuits · Connectomics  ·  Neuroscience Forum  ·  Brain Maps Blog
 · Connectomics · Connectomics  ·  shawn mikula  ·  shawn mikula  ·  articles