Difference between revisions of "CSC231 Lab 7"

From dftwiki3
Jump to: navigation, search
(Input/Output PC to Arduino: Part I)
(The C-Program running on the Ubuntu: arduino-serial.c)
Line 28: Line 28:
  
 
* Take a close look at [[CSC231 Arduino-serial.c |''' arduino-serial.c''' ]].  It is the program running on the Ubuntu PC/laptop.  You should copy/paste it into an emacs window and save it to your
 
* Take a close look at [[CSC231 Arduino-serial.c |''' arduino-serial.c''' ]].  It is the program running on the Ubuntu PC/laptop.  You should copy/paste it into an emacs window and save it to your
 +
 +
* compile the program as follows:
 +
 +
gcc  -o  arduino-serial  arduino-serial.c
 +
 +
* run it as follows:
 +
 +
  ./arduino-serial -b 9600 -p /dev/ttyUSB0  -s "w d 13 1"
 +
 +
:where '''-b''' is the switch used to set the communication speed (9600 baud--very slow), '''-p''' is used to set the port associated with the USB connection, and '''-s''' means '''S'''end a message to the arduino.  Here the message is '''W'''rite a '''1''' on '''D'''igital Pin '''13''' of the arduino.
 +
 +
* Try to read the digital pins, too:
 +
 +
  ./arduino-serial -b 9600 -p /dev/ttyUSB0 -s "r d" -r
 +
 +
:In this case you make the program '''send''' a string first (the request to read), and '''receive''' next.  In receive mode, the arduino-serial program simply wait and fills a buffer with characters received until it gets a '\n' character.  Then it displays what it has received.

Revision as of 23:25, 6 November 2008

Back to CSC231 Weekly Schedule


CSC 231 Lab # 7

© D. Thiebaut, 2008

Before you start, you will need to setup the Ubuntu the same way we did in Lab #6, so that you are in the root folder of ubuntu, logged in as root, and you have copied your environment from the USB stick to your Ubuntu root account.

Input/Output PC to Arduino: Part I

In this first part you will enter commands at the Linux prompt to set the Arduino LED 13 On and Off, or to read the status of various pins.

Don't miss the presentation that will be done in class. We'll go over the 3 programs involved in today's lab.

The Arduino program: arduino_loop.pde

  • First take a close look at the program that runs on the arduino: arduino_loop.pde, whose code is available here. Notice how the loop function continuously store incoming characters in the buffer until a \n character is found, in which case the contents of the buffer is analyzed, the command identified, and executed.
  • Cut and paste arduino_loop.pde in the arduino GUI on your Ubuntu machine.
  • Compile it.
  • Upload it to the Arduino.

The C-Program running on the Ubuntu: arduino-serial.c

  • Take a close look at arduino-serial.c . It is the program running on the Ubuntu PC/laptop. You should copy/paste it into an emacs window and save it to your
  • compile the program as follows:
gcc  -o  arduino-serial  arduino-serial.c
  • run it as follows:
 ./arduino-serial -b 9600 -p /dev/ttyUSB0  -s "w d 13 1"
where -b is the switch used to set the communication speed (9600 baud--very slow), -p is used to set the port associated with the USB connection, and -s means Send a message to the arduino. Here the message is Write a 1 on Digital Pin 13 of the arduino.
  • Try to read the digital pins, too:
 ./arduino-serial -b 9600 -p /dev/ttyUSB0 -s "r d" -r
In this case you make the program send a string first (the request to read), and receive next. In receive mode, the arduino-serial program simply wait and fills a buffer with characters received until it gets a '\n' character. Then it displays what it has received.