PDCON:Workshops/ATMEL AVR: Difference between revisions

From Medien Wiki
No edit summary
No edit summary
Line 1: Line 1:
Workshop Proposal for Pd con 2011 in Weimar
=== ATMEL AVR workshop ===
ATMEL AVR workshop  
Instructor: Chikashi Miyama  
Instructor: Chikashi Miyama  
Why AVR ?  
 
==== Why AVR ? ====
Arduino is nowadays almost the de-facto standard. Many electronic instrument builders and installation  
Arduino is nowadays almost the de-facto standard. Many electronic instrument builders and installation  
artists employ it for there works. It is easy to use and helpful for prototyping. However, if you want to make  
artists employ it for there works. It is easy to use and helpful for prototyping. However, if you want to make  
Line 8: Line 8:
probably not the best choice; it is too expensive and sometimes takes too much space in your hardware /  
probably not the best choice; it is too expensive and sometimes takes too much space in your hardware /  
installations.  
installations.  
Arduino consists of several parts. a USB socket, a crystal, a  
Arduino consists of several parts. a USB socket, a crystal, a  
regulator, an ISP socket, a USB-serial chip, several capacitors,  
regulator, an ISP socket, a USB-serial chip, several capacitors,  
Line 14: Line 15:
expensive component on this board?  It is obviously the micro  
expensive component on this board?  It is obviously the micro  
controller. However, it actually costs around 3 - 4$.  
controller. However, it actually costs around 3 - 4$.  
Though Arduino facilitates many things by offering USB slot and  
Though Arduino facilitates many things by offering USB slot and  
power jack, these connectors are not necessary for all projects.  
power jack, these connectors are not necessary for all projects.  
Line 19: Line 21:
chip. For example, you can actually use faster crystals than 16  
chip. For example, you can actually use faster crystals than 16  
Mhz (up to 20Mhz ) but Arduino restricts it by putting 16Mhz  
Mhz (up to 20Mhz ) but Arduino restricts it by putting 16Mhz  
crystal on the board.1
crystal on the board.(Probably because they are using firmware based USB connection using second ATMEL chip on the board.)
 
This workshop is for people who want to open the hood of Arduino and fully utilize the features of ATMEL  
This workshop is for people who want to open the hood of Arduino and fully utilize the features of ATMEL  
AVR chips. I will introduces how to program the AVR chip directly using C language, demonstrates many  
AVR chips. I will introduces how to program the AVR chip directly using C language, demonstrates many  
Line 25: Line 28:
participants. Participants donʼt have to buy anything expensive for starting AVR programming. They can  
participants. Participants donʼt have to buy anything expensive for starting AVR programming. They can  
actually use their Arduino as the writer of the AVR chip!  
actually use their Arduino as the writer of the AVR chip!  
ATMEL AVR ATMega 88  
 
==== ATMEL AVR ATMega 88 ====
Though there are more than 100 variant of ATMEL AVR microcontroller.  http://www2.atmel.com/  
Though there are more than 100 variant of ATMEL AVR microcontroller.  http://www2.atmel.com/  
The workshop focuses on ATMEL AVR ATMega 88 PDIP. It costs around 3$ and available all over the  
The workshop focuses on ATMEL AVR ATMega 88 PDIP. It costs around 3$ and available all over the  
world. It offers 131 powerful instructions,  on-chip multiplier, 6 PWM channels, 6 10 bit ADC, SPI bus, and  
world. It offers 131 powerful instructions,  on-chip multiplier, 6 PWM channels, 6 10 bit ADC, SPI bus, and  
various timers. It runs maximum 20 Mhz with an external crystal.  
various timers. It runs maximum 20 Mhz with an external crystal.  
Refer http://www.atmel.com/dyn/resources/prod_documents/2545S.pdf for further specification.  
Refer http://www.atmel.com/dyn/resources/prod_documents/2545S.pdf for further specification.  
1
   
  Probably because they are using firmware based USB connection using second ATMEL chip on the board.
==== What workshop covers ====
What workshop covers  
AVR chip offers very many functions and it is impossible to cover  
AVR chip offers very many functions and it is impossible to cover  
everything in limited time. So I would like to separate my workshop into  
everything in limited time. So I would like to separate my workshop into  
two parts; demonstration and practice. The workshop is going to be  
two parts; demonstration and practice. The workshop is going to be  
around 3-4 hours.  
around 3-4 hours.  
I. DEMONSTRATION (90 minutes)  
 
'''I. DEMONSTRATION (90 minutes)'''
In this section, I will introduce basic specification, procedure of AVR  
In this section, I will introduce basic specification, procedure of AVR  
programming, and various applications of the chip by showing different  
programming, and various applications of the chip by showing different  
pre-built circuit based on the AVR chip.  
pre-built circuit based on the AVR chip.  
1. Overall information of the chip  
! - Where you can buy chip  
'''1. Overall information of the chip'''
" - Price / model list  
* Where you can buy chip  
" - Basic specification of the chip  
* Price / model list  
2. How to program AVR chip on Mac and Linux  
* Basic specification of the chip  
! - How to use avrgcc and avrdude  
 
" - Commercial Writer AVR ISP MK II - 34$ (Fig.1)  
'''2. How to program AVR chip on Mac and Linux'''
" - Handmade Writer USB ASP (Fig.2)  
* How to use avrgcc and avrdude  
" - Using Arduino as AVR writer  
* Commercial Writer AVR ISP MK II - 34$ (Fig.1)  
" (http://arduino.cc/en/Tutorial/ArduinoISP)  
* Handmade Writer USB ASP (Fig.2)  
3. Applications  
* Using Arduino as AVR writer (http://arduino.cc/en/Tutorial/ArduinoISP)  
! - How to create LED flasher  
 
" - How to create MIDI message generator  
'''3. Applications'''
" - How to create Potentiometer to MIDI device by using built-in ADC  
* How to create LED flasher  
" - How to send serial (UART) messages from the chip and receive them in Pd  
* How to create MIDI message generator  
" - How to use USB message without any other device (V-USB 2)
* How to create Potentiometer to MIDI device by using built-in ADC  
" - How to use timers  
* How to send serial (UART) messages from the chip and receive them in Pd  
" - How to use PWM and create sound with it  
* How to use USB message without any other device [[http://www.obdev.at/products/vusb/index.html| V-USB project firmware based USB device using AVR]]
" - How to establish SPI connection in order to access external memory, ADC etc.  
* How to use timers  
" - How to create AVR programmer by yourself  
* How to use PWM and create sound with it  
" - All source codes and schematics will be uploaded online so that the participants  
* How to establish SPI connection in order to access external memory, ADC etc.  
" are able to download and utilize them later  
* How to create AVR programmer by yourself  
II. PRACTICE (90 - 120 minutes / depending on the number of participants and competence )  
* <u>All source codes and schematics will be uploaded online so that the participants are able to download and utilize them later</u>
 
'''II. PRACTICE (90 - 120 minutes / depending on the number of participants and competence )'''
In this section participants will make a basic hardware using AVR microcontroller.  
In this section participants will make a basic hardware using AVR microcontroller.  
Possibly, 6 channel MIDI or USB-based digital controller based on gnusb by anyma http://www.anyma.ch/  
Possibly, 6 channel MIDI or USB-based digital controller based on gnusb by anyma http://www.anyma.ch/  
research/gnusb/ This part is dependent of the facilities of the venue and available components in  
research/gnusb/ This part is dependent of the facilities of the venue and available components in  
Germany.  
Germany.  
Prerequisites  
 
Basic knowledge of C language and unix commands are preferred  
'''Prerequisites'''
Basic soldering technique and knowledge of electronic circuit are preferred  
* Basic knowledge of C language and unix commands are preferred  
The AVR programmer runs on Linux, Mac, and Win. I will use linux or Mac for the workshop.  
* Basic soldering technique and knowledge of electronic circuit are preferred  
2
* The AVR programmer runs on Linux, Mac, and Win. I will use linux or Mac for the workshop.  
http://www.obdev.at/products/vusb/index.html V-USB project firmware based USB device using AVR
 
fig.1
'''Bio of instructor'''
fig.2
Bio of instructor  
Chikashi Miyama is a composer, video artist, interface designer, and performer. He received his MA  
Chikashi Miyama is a composer, video artist, interface designer, and performer. He received his MA  
(2004) from Kunitachi College of Music, Tokyo, Japan, and Nachdiplom (2007) from Music academy of  
(2004) from Kunitachi College of Music, Tokyo, Japan, and Nachdiplom (2007) from Music academy of  
Line 93: Line 98:
to move to Karlsruhe and work at IMA, ZKM as a guest researcher in 2011 and 2012 taking advantage of  
to move to Karlsruhe and work at IMA, ZKM as a guest researcher in 2011 and 2012 taking advantage of  
DAAD scholarship.  
DAAD scholarship.  
Relevant workshops held by the instructor  
 
June 2-4 2008 "" Qgo-AVR workshop at Kunstraum Walcheturm, Zurich, Switzerland  
'''Relevant workshops held by the instructor'''
" " " Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)  
 
Oct 31- Nov2 2007" Sensor-Instrument DIY workshop, Zurich, Switzerland  
June 2-4 2008 <br /> Qgo-AVR workshop at Kunstraum Walcheturm, Zurich, Switzerland Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)
" " " Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)  
Relevant  conference peer reviewed paper  
Oct 31- Nov2 2007 <br /> Sensor-Instrument DIY workshop, Zurich, Switzerland Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)  
 
'''Relevant  conference peer reviewed paper'''
 
Peacock : a non-haptic 3D performance interface  
Peacock : a non-haptic 3D performance interface  
http://chikashi.net/detail/download?file=43doc.pdf  
http://chikashi.net/detail/download?file=43doc.pdf  
This project utilizes AVR micro controller.
This project utilizes AVR micro controller.

Revision as of 19:34, 18 May 2011

ATMEL AVR workshop

Instructor: Chikashi Miyama

Why AVR ?

Arduino is nowadays almost the de-facto standard. Many electronic instrument builders and installation artists employ it for there works. It is easy to use and helpful for prototyping. However, if you want to make 100 copies of your work or if you plan to create a large work involving many micro-controllers. Arduino is probably not the best choice; it is too expensive and sometimes takes too much space in your hardware / installations.

Arduino consists of several parts. a USB socket, a crystal, a regulator, an ISP socket, a USB-serial chip, several capacitors, and ATMEL AVR Micro controller ATMega328PU. The Arduino UNO board costs around 34$. What do you think is the most expensive component on this board? It is obviously the micro controller. However, it actually costs around 3 - 4$.

Though Arduino facilitates many things by offering USB slot and power jack, these connectors are not necessary for all projects. Furthermore, Arduino conceals many potentials of ATMEL AVR chip. For example, you can actually use faster crystals than 16 Mhz (up to 20Mhz ) but Arduino restricts it by putting 16Mhz crystal on the board.(Probably because they are using firmware based USB connection using second ATMEL chip on the board.)

This workshop is for people who want to open the hood of Arduino and fully utilize the features of ATMEL AVR chips. I will introduces how to program the AVR chip directly using C language, demonstrates many possible artistic applications of the chip, and practice to build/program a basic AVR-based device with participants. Participants donʼt have to buy anything expensive for starting AVR programming. They can actually use their Arduino as the writer of the AVR chip!

ATMEL AVR ATMega 88

Though there are more than 100 variant of ATMEL AVR microcontroller. http://www2.atmel.com/ The workshop focuses on ATMEL AVR ATMega 88 PDIP. It costs around 3$ and available all over the world. It offers 131 powerful instructions, on-chip multiplier, 6 PWM channels, 6 10 bit ADC, SPI bus, and various timers. It runs maximum 20 Mhz with an external crystal.

Refer http://www.atmel.com/dyn/resources/prod_documents/2545S.pdf for further specification.

What workshop covers

AVR chip offers very many functions and it is impossible to cover everything in limited time. So I would like to separate my workshop into two parts; demonstration and practice. The workshop is going to be around 3-4 hours.

I. DEMONSTRATION (90 minutes) In this section, I will introduce basic specification, procedure of AVR programming, and various applications of the chip by showing different pre-built circuit based on the AVR chip.

1. Overall information of the chip

  • Where you can buy chip
  • Price / model list
  • Basic specification of the chip

2. How to program AVR chip on Mac and Linux

3. Applications

  • How to create LED flasher
  • How to create MIDI message generator
  • How to create Potentiometer to MIDI device by using built-in ADC
  • How to send serial (UART) messages from the chip and receive them in Pd
  • How to use USB message without any other device [V-USB project firmware based USB device using AVR]
  • How to use timers
  • How to use PWM and create sound with it
  • How to establish SPI connection in order to access external memory, ADC etc.
  • How to create AVR programmer by yourself
  • All source codes and schematics will be uploaded online so that the participants are able to download and utilize them later

II. PRACTICE (90 - 120 minutes / depending on the number of participants and competence ) In this section participants will make a basic hardware using AVR microcontroller. Possibly, 6 channel MIDI or USB-based digital controller based on gnusb by anyma http://www.anyma.ch/ research/gnusb/ This part is dependent of the facilities of the venue and available components in Germany.

Prerequisites

  • Basic knowledge of C language and unix commands are preferred
  • Basic soldering technique and knowledge of electronic circuit are preferred
  • The AVR programmer runs on Linux, Mac, and Win. I will use linux or Mac for the workshop.

Bio of instructor Chikashi Miyama is a composer, video artist, interface designer, and performer. He received his MA (2004) from Kunitachi College of Music, Tokyo, Japan, and Nachdiplom (2007) from Music academy of Basel, Switzerland. He is currently attending the State University of New York at Buffalo for his ph.D, and teaching electronic music as a TA. He has studied under Takayuki Rai, Georg Friedrich Haas, Jacob Ulmann, Erik Oña, and Cort Lippe. His compositions have received a second prize in SEAMUS commission competition (2010/St. Cloud, USA), a special prize in Destellos Competition (2009/ Argentina), and a honorable mention in the Residence Prize section of the Bourges Electroacoustic Music Competition (2002/France). In addition, he was selected for SUNY chancellor's award (2011/USA). His works and papers have been accepted by ICMC ten times, by NIME four times, and selected by various international festivals in more than 100 times in 17 countries, such as Mix, Re:New (Denmark), Musica Viva (Portugal), Espace sonore, dBâle, SHIFT (Switzerland), Next generation (Germany), Agora Resonance, Scrime (France), Lica-Mantis (UK), June in Buffalo, NWEAMO, SPARK, NYCEMF, SEAMUS (USA), Sonoimágenes (Argentina), SuperCollider symposium, Pdcon, and Dorkbot meeting. He is going to move to Karlsruhe and work at IMA, ZKM as a guest researcher in 2011 and 2012 taking advantage of DAAD scholarship.

Relevant workshops held by the instructor

June 2-4 2008
Qgo-AVR workshop at Kunstraum Walcheturm, Zurich, Switzerland Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)

Oct 31- Nov2 2007
Sensor-Instrument DIY workshop, Zurich, Switzerland Organized by SGMK (Schweiz Gesellschaft für Mechatronische Kunst)

Relevant conference peer reviewed paper

Peacock : a non-haptic 3D performance interface http://chikashi.net/detail/download?file=43doc.pdf

This project utilizes AVR micro controller.