Newbie programming code assistance

Hello all! I am helping my daughter put together a science fair project (Galvanic Skin Response Tester) and I managed to get the arduino Uno working, but there is an example graph code that I need to program in order to get it to work and I have no idea how to enter it. I have Cygwin downloaded, and I have the code, but since I don't know how to enter it we're kinda at a standstill.

My question is: Can I copy and paste the whole code? Or do I need to enter everything manually? Should I hit enter after every line? If I can please get someone to provide ANY assistance, I'd be so grateful. Thank you kindly.

Yes, you can copy & paste the whole code.

Thank you so very much for the rapid reply!

Ok, just tried it and each line is giving me a -bash and command not found error. Any ideas, clues, or even lifelines? :slight_smile:

I can't imagine why you're getting bash errors.
You are using the IDE, aren't you?
If not, why not?

More than likely it's because I have NO idea what I am doing and need some help or guidance from someone who can possibly talk me thru or walk me thru this. I'm kinda stuck here.

This is the site we are using to build the model: Create a DIY Polygraph Machine with Tin Foil and an Arduino

And this is the code that is given.

/*
   Graph
  
  A simple example of communication from the Arduino board to the computer:
  the value of analog input 0 is sent out the serial port.  We call this "serial"
  communication because the connection appears to both the Arduino and the
  computer as a serial port, even though it may actually use
  a USB cable. Bytes are sent one after another (serially) from the Arduino
  to the computer.
  
  You can use the Arduino serial monitor to view the sent data, or it can
  be read by Processing, PD, Max/MSP, or any other program capable of reading 
 data from a serial port.  The Processing code below graphs the data received 
 so you can see the value of the analog input changing over time.
  
  The circuit:
  Any analog input sensor is attached to analog in pin 0.
   
 created 2006
  by David A. Mellis
  modified 9 Apr 2012
  by Tom Igoe and Scott Fitzgerald
  
  This example code is in the public domain.
 
 http://www.arduino.cc/en/Tutorial/Graph
  */
 
void setup() {
   // initialize the serial communication:
   Serial.begin(9600);
 }
 
void loop() {
   // send the value of analog input 0:
   Serial.println(analogRead(A0));
   // wait a bit for the analog-to-digital converter 
  // to stabilize after the last reading:
   delay(2);
 }
/* Processing code for this example
  
  // Graphing sketch
  
  
  // This program takes ASCII-encoded strings
  // from the serial port at 9600 baud and graphs them. It expects values in the
  // range 0 to 1023, followed by a newline, or newline and carriage return
  
  // Created 20 Apr 2005
  // Updated 18 Jan 2008
  // by Tom Igoe
  // This example code is in the public domain.
  
  import processing.serial.*;
  
  Serial myPort;        // The serial port
  int xPos = 1;         // horizontal position of the graph
  
  void setup () {
  // set the window size:
  size(400, 300);        
  
  // List all the available serial ports
  println(Serial.list());
  // I know that the first port in the serial list on my mac
  // is always my  Arduino, so I open Serial.list()[0].
  // Open whatever port is the one you're using.
  myPort = new Serial(this, Serial.list()[0], 9600);
  // don't generate a serialEvent() unless you get a newline character:
  myPort.bufferUntil('\n');
  // set inital background:
  background(0);
  }
  void draw () {
  // everything happens in the serialEvent()
  }
  
  void serialEvent (Serial myPort) {
  // get the ASCII string:
  String inString = myPort.readStringUntil('\n');
  
  if (inString != null) {
  // trim off any whitespace:
  inString = trim(inString);
  // convert to an int and map to the screen height:
  float inByte = float(inString); 
 inByte = map(inByte, 0, 1023, 0, height);
  
  // draw the line:
  stroke(127,34,255);
  line(xPos, height, xPos, height - inByte);
  
  // at the edge of the screen, go back to the beginning:
  if (xPos >= width) {
  xPos = 0;
  background(0); 
 } 
 else {
  // increment the horizontal position:
  xPos++;
  }
  }
  }
  
  */
/* Max/MSP v5 patch for this example
  ----------begin_max5_patcher----------
 1591.3oc0YszbaaCD9r7uBL5RalQUAO3CvdyS5zVenWZxs5NcfHgjPCIfJIT
 RTxj+6AOHkoTDooroUs0AQPR73a+1cwtK3WtZxzEpOwqlB9YveAlL4KWMYh6
 Q1GLo99ISKXeJMmU451zTUQAWpmNy+NM+SZ2y+sR1l02JuU9t0hJvFlNcMPy
 dOuBv.U5Rgb0LPpRpYBooM3529latArTUVvzZdFPtsXAuDrrTU.f.sBffXxL
 vGE50lIHkUVJXq3fRtdaoDvjYfbgjujaFJSCzq4.tLaN.bi1tJefWpqbO0uz
 1IjIABoluxrJ1guxh2JfPO2B5zRNyBCLDFcqbwNvuv9fHCb8bvevyyEU2JKT
 YhkBSWPAfq2TZ6YhqmuMUo0feUn+rYpY4YtY+cFw3lUJdCMYAapZqzwUHX8S
 crjAd+SIOU6UBAwIygy.Q1+HAA1KH6EveWOFQlitUK92ehfal9kFhUxJ3tWc
 sgpxadigWExbt1o7Ps5dk3yttivyg20W0VcSmg1G90qtx92rAZbH4ez.ruy1
 nhmaDPidE07J+5n2sg6E6oKXxUSmc20o6E3SPRDbrkXnPGUYE.i5nCNB9TxQ
 jG.G0kCTZtH88f07Rt0ZMMWUw8VvbKVAaTk6GyoraPdZff7rQTejBN54lgyv
 HE0Ft7AvIvvgvIwO23jBdUkYOuSvIFSiNcjFhiSsUBwsUCh1AgfNSBAeNDBZ
 DIDqY.f8.YjfjV1HAn9XDTxyNFYatVTkKx3kcK9GraZpI5jv7GOx+Z37Xh82
 LSKHIDmDXaESoXRngIZQDKVkpxUkMCyXCQhcCK1z.G457gi3TzMz4RFD515F
 G3bIQQwcP3SOF0zlkGhiCBQ1kOHHFFlXaEBQIQnCwv9QF1LxPZ.A4jR5cyQs
 vbvHMJsLll01We+rE2LazX6zYmCraRrsPFwKg1ANBZFY.IAihr8Ox.aH0oAL
 hB8nQVw0FSJiZeunOykbT6t3r.NP8.iL+bnwNiXuVMNJH9H9YCm89CFXPBER
 bz422p8.O4dg6kRxdyjDqRwMIHTbT3QFLskxJ8tbmQK4tm0XGeZWF7wKKtYY
 aTAF.XPNFaaQBinQMJ4QLF0aNHF0JtYuHSxoUZfZY6.UU2ejJTb8lQw8Fo5k
 Rv6e2PI+fOM71o2ecY1VgTYdCSxxUqLokuYq9jYJi6lxPgD2NIPePLB0mwbG
 YA9Rgxdiu1k5xiLlSU6JVnx6wzg3sYHwTesB8Z5D7RiGZpXyvDNJY.DQX3.H
 hvmcUN4bP1yCkhpTle2P37jtBsKrLWcMScEmltOPv22ZfAqQAdKr9HzATQwZ
 q18PrUGt6Tst2XMCRUfGuhXs6ccn23YloomMqcTiC5iMGPsHsHRWhWFlaenV
 XcqwgCQiGGJzptyS2ZMODBz6fGza0bzmXBj7+DA94bvpR01MffAlueO7HwcI
 pWCwmzJdvi9ILgflLAFmyXB6O7ML0YbD26lenmcGxjVsZUN+A6pUK7AtTrPg
 M+eRYG0qD9j4I7eEbco8Xh6WcO.or9XDC6UCiewbXHkh6xm5LiPEkzpJDRTu
 mEB44Fgz4NCtJvX.SM1vo2SlTCZGAe7GZu6ahdRyzFOhYZ+mbVVSYptBw.K1
 tboIkatIA7c1cTKD1u.honLYV04VkluHsXe0szv9pQCE9Ro3jaVB1o15pz2X
 zYoBvO5KXCAe0LCYJybE8ZODf4fV8t9qW0zYxq.YJfTosj1bv0xc.SaC0+AV
 9V9L.KKyV3SyTcRtmzi6rO.O16USvts4B5xe9EymDvebK0eMfW6+NIsNlE2m
 eqRyJ0utRq13+RjmqYKN1e.4d61jjdsauXe3.2p6jgi9hsNIv97CoyJ01xzl
 c3ZhUCtSHx3UZgjoEJYqNY+hYs5zZQVFW19L3JDYaTlMLqAAt1G2yXlnFg9a
 53L1FJVcv.cOX0dh7mCVGCLce7GFcQwDdH5Ta3nyAS0pQbHxegr+tGIZORgM
 RnMj5vGl1Fs16drnk7Tf1XOLgv1n0d2iEsCxR.eQsNOZ4FGF7whofgfI3kES
 1kCeOX5L2rifbdu0A9ae2X.V33B1Z+.Bj1FrP5iFrCYCG5EUWSG.hhunHJd.
 HJ5hhnng3h9HPj4lud02.1bxGw.
 -----------end_max5_patcher-----------
   
 */

However, if the problem is the processing program that I am using, please feel free to let me know. Thank you again so very much!

Moderator edit: Code tags.

OK, slow down.
Have you downloaded the Processing IDE? (Processing.org)
Have you downloaded the Arduino IDE? (Arduino.cc)

If not, do so now.

Yes, I have downloaded both.

OK, so start the Processing IDE and paste the Processing code into it, and start the Arduino IDE and post the Arduino code into that.
It looks to me that the Processing code, for some obscure reason, is one big comment, so paste this instead:

// Processing code for this example
  
  // Graphing sketch
  
  
  // This program takes ASCII-encoded strings
  // from the serial port at 9600 baud and graphs them. It expects values in the
  // range 0 to 1023, followed by a newline, or newline and carriage return
  
  // Created 20 Apr 2005
  // Updated 18 Jan 2008
  // by Tom Igoe
  // This example code is in the public domain.
  
  import processing.serial.*;
  
  Serial myPort;        // The serial port
  int xPos = 1;         // horizontal position of the graph
  
  void setup () {
  // set the window size:
  size(400, 300);        
  
  // List all the available serial ports
  println(Serial.list());
  // I know that the first port in the serial list on my mac
  // is always my  Arduino, so I open Serial.list()[0].
  // Open whatever port is the one you're using.
  myPort = new Serial(this, Serial.list()[0], 9600);
  // don't generate a serialEvent() unless you get a newline character:
  myPort.bufferUntil('\n');
  // set inital background:
  background(0);
  }
  void draw () {
  // everything happens in the serialEvent()
  }
  
  void serialEvent (Serial myPort) {
  // get the ASCII string:
  String inString = myPort.readStringUntil('\n');
  
  if (inString != null) {
  // trim off any whitespace:
  inString = trim(inString);
  // convert to an int and map to the screen height:
  float inByte = float(inString); 
 inByte = map(inByte, 0, 1023, 0, height);
  
  // draw the line:
  stroke(127,34,255);
  line(xPos, height, xPos, height - inByte);
  
  // at the edge of the screen, go back to the beginning:
  if (xPos >= width) {
  xPos = 0;
  background(0); 
 } 
 else {
  // increment the horizontal position:
  xPos++;
  }
  }
  }

Thank you again, so very much, for all your assistance.

I copied everything (was that the right thing to do?) and pasted it into the program. Here is what I am getting (and this is just from the last few lines of the code):

chasenmayra@chasenmayra-PC /home/chasenmayra
$ // increment the horizontal position:
-bash: //: is a directory

chasenmayra@chasenmayra-PC /home/chasenmayra
$ xPos++;
-bash: xPos++: command not found

chasenmayra@chasenmayra-PC /home/chasenmayra
$ }
-bash: syntax error near unexpected token `}'

chasenmayra@chasenmayra-PC /home/chasenmayra
$ }
-bash: syntax error near unexpected token `}'

chasenmayra@chasenmayra-PC /home/chasenmayra
$ }
-bash: syntax error near unexpected token `}'

Unfortunately, the link from the lifehacker post isn't working for me. It is not at all clear to me why you downloaded and installed cygwin, and what bash has to do with this application. The Arduino code goes into the Arduino IDE, and the Processing code goes into the Processing IDE. I have no idea what the Max/MSP v5 patch (the last block of stuff you posted) does at all. I don't see any reason to be using Cygwin at all.

I copied everything (was that the right thing to do?) and pasted it into the program.

Into what program? It appears that there are three parts to the project. It helps if you say what part you are working on.

Thank you everyone, so much, for your patience.

Perhaps it will help if I just tell you what I have done from the beginning, because I may be missing some steps and wouldn't know it if I did.

That is the actual site that gives all instructions for creating this.

We created the sensors and did all the wiring for the Arduino and the breadboard.

Step 3 is where I got lost. I downloaded the processing application from the site, and ended up with cygwin from there.
I then connected the Arduino to my laptop using a USB cord. The Arduino lit up (steady green and blinking orange), but the computer would not install it. Anyway, we got that taken care of and the driver installed. Now, the rest is where I am extremely lost. And since I don't understand the programming language, that is also making it a bit difficult to continue. :slight_smile: Please let me know if I can provide additional information. Thank you again.

I'm thinking you may have downloaded the wrong file for Processing. Was it this one?
http://processing.googlecode.com/files/processing-1.5.1-windows.zip

I don't believe cygwin is at all required to use Processing.

No, that was not it at all, but I downloaded the one from the link you just provided and it is running!!!! THANK YOU!
Ok, now is there something else I need to be looking for and downloading in order to run the Arduino then?

The Arduino IDE is found here:
http://arduino.googlecode.com/files/arduino-1.0.2-windows.zip

Thank you so much. Again, got it running with your help.
NOW, I am trying to figure out the codes. :slight_smile:

OMG, THANK YOU ALL SO VERY MUCH!! With all your assistance, this contraption is up and running!! I am so grateful for all your help, everyone. THANK YOU AGAIN!!!!