Welcome, Guest. Please Login or Register
Arduino: Forum
06.09.2010 at 05:03:25


Pages: 1
Running Python on Arduino Mega (Read 1225 times)
Rocky
YaBB Newbies
*
Offline

Arduino rocks

Posts: 12
Longmont
Gender: male
Running Python on Arduino Mega
19.08.2009 at 06:03:16
 
In this tutorial, we are going to show how to run Python on Arduino Mega

The Arduino Mega board can be ordered from:

http://www.cutedigi.com/product_info.php?products_id=4232

1. Install tools:
   
   A:   Cygwin
        http://www.cygwin.com/
         Remember to select GCC and python packages.
   B. Install WinAVR:
        http://sourceforge.net/projects/winavr/files/
   C. Download PyMite 8
       http://www.pythononachip.org

2.  Download our arduino mega port and place under trunk$\src\platform
http://www.cutedigi.com/pub/Arduino/arduinomega.rar

3. Under trunk$, do
  make PLATFORM=arduinomega


  If it shows pmfeatures.h is missing, please check that you are using the make from WinAVR. Correct the PATH to make sure you are using that make.

  The following is the command to check:

      $ make --version
      GNU Make 3.81
      Copyright (C) 2006  Free Software Foundation, Inc.
      This is free software; see the source for copying conditions.
      There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
       PARTICULAR PURPOSE.

       This program built for i386-pc-mingw32

4.   The next step is to program the generated main.hex to the Arduino mega board.
 
      You need STK500, and install AVR studio. Choose Device type ATMEGA1280, and fuse setting is shown as

       

5.   Find a serial port and see what comes out from the serial port of Arduino Mega:
 
     
     
   
      The following is main.py, the Python script that got running:
Code:
#
# PyMite - A flyweight Python interpreter for 8-bit and larger microcontrollers.
# Copyright 2002 Dean Hall.  All rights reserved.
# PyMite is offered through one of two licenses: commercial or open-source.
# See the LICENSE file at the root of this package for licensing details.
#

#
# This is a sample application that calls functions in the AVR module.
#

"""__NATIVE__
#include <avr/io.h>
"""


print "Hello world."


#
# Initialize the AVR's port A pin direction
#
def init():
    """__NATIVE__
    /* Set port A pins as all outputs */
    DDRA = 0xFF;
    NATIVE_SET_TOS(PM_NONE);

    return PM_RET_OK;
    """
    pass

init()
import avr
avr.portA(0xaa)


print "Expect a NameError (0xEA) after this."
foo()

 

Back to top
 
 
View Profile   IP Logged
Pages: 1