Your SlideShare is downloading. ×
concurrency.cc
Hardware Projects 

Omer Kilic 
University of Kent

(Ack to: Matt Jadud, Christian Jacobsen, Adam Sampson)
Arduino is great!


Open Source
Cross Platform
Cheap, flexible, easily available
Abundant projects/articles/howtos
Standar...
A great tool for...
Education             Hacking/Prototyping
We discussed...
         and discussed...
The Concurrency Board




Developed by Omer Kilic, based on the Arduino 
Duemilanove Reference Design and inspired by many...
A family shot
The Cardboarduino




Developed by Matt Jadud, based on the 
PAPERduino by Guilherme Martins.
Photo by Matt Jadud
Photo by Matt Jadud
Interested?

Design files will be on the web site real soon!
http://concurrency.cc/hardware/

Join our mailing list:
http:...
Plumbing the Arduino



Adam Sampson
University of Kent

(and a cast of thousands, including Matt Jadud, 
Christian Jacobs...
A brief history lesson
●   In the 1980s, INMOS created the Transputer
●   … and an unusual programming language, called
  ...
C++:

 doThing();
 doOtherThing();

occam:

 SEQ
   doThing()
   doOtherThing()
PROC main ()
  WHILE TRUE
    SEQ
      digitalWrite (13, HIGH)
      delay (200)
      digitalWrite (13, LOW)
      delay...
PROC blink (VAL INT pin, period)
  WHILE TRUE
    SEQ
      digitalWrite (pin, HIGH)
      delay (period)
      digitalWri...
PROC main ()
  blink (13, 200)
:
occam:

 PAR
   x
   y

C++:

 ??!?!!!?
PROC main ()
  PAR
    blink (13, 300)
    blink (14, 500)
:
This is a channel.
sender   receiver
inputPin   outputPin
inputPin   invert   outputPin
Concurrency in action
●   We call this “process-oriented programming”
●   Build your program out of little, isolated
    c...
64 LEDs (well, 128, actually...)
One
How does that work?

      buffer   buffer   buffer   ...   buffer
How does that work?

      buffer   buffer   buffer   ...   buffer




      column   column   column   ...   column
How does that work?

                                                   black.
source   buffer   buffer   buffer   ...   b...
Distributed embedded system

                                                   black.
source   buffer   buffer   buffer  ...
First node

source   buffer   buffer   buffer   ...   buffer   serial.tx




         column   column   column   ...   col...
Other nodes

serial.rx   buffer   buffer   buffer   ...   buffer   serial.tx




            column   column   column   .....
The RepRap
●   X, Y and Z axes with steppers and endstops
●   Print head with heater, temperature sensor and
    extruder ...
Plumbing the RepRap
                                                    heater
                                      therm...
How do I learn more?
●   Read the book!
●   Available from our web site
    along with the software (all
    open source):...
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
Upcoming SlideShare
Loading in...5
×

concurrency.cc OSHUG #3

1,209

Published on

The slides we presented at the third meeting of the Open Source Hardware Users Group in London on the 1st of July 2010.

More details about the event at: http://oshug.org/event/3
More details about the Concurrency Project at: http://concurrency.cc

Contains slides from Adam Sampson (http://offog.org)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,209
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "concurrency.cc OSHUG #3"

  1. 1. concurrency.cc Hardware Projects  Omer Kilic  University of Kent (Ack to: Matt Jadud, Christian Jacobsen, Adam Sampson)
  2. 2. Arduino is great! Open Source Cross Platform Cheap, flexible, easily available Abundant projects/articles/howtos Standard tools across a range of boards
  3. 3. A great tool for... Education Hacking/Prototyping
  4. 4. We discussed... and discussed...
  5. 5. The Concurrency Board Developed by Omer Kilic, based on the Arduino  Duemilanove Reference Design and inspired by many of  the Freeduino clones.
  6. 6. A family shot
  7. 7. The Cardboarduino Developed by Matt Jadud, based on the  PAPERduino by Guilherme Martins.
  8. 8. Photo by Matt Jadud
  9. 9. Photo by Matt Jadud
  10. 10. Interested? Design files will be on the web site real soon! http://concurrency.cc/hardware/ Join our mailing list: http://concurrency.cc/docs/mailinglists
  11. 11. Plumbing the Arduino Adam Sampson University of Kent (and a cast of thousands, including Matt Jadud,  Christian Jacobsen, Omer Kilic, Carl Ritson...)
  12. 12. A brief history lesson ● In the 1980s, INMOS created the Transputer ● … and an unusual programming language, called occam ● Further developed at Kent in the 1990s and 2000s: occam-pi ● Here's what it looks like...
  13. 13. C++: doThing(); doOtherThing(); occam: SEQ doThing() doOtherThing()
  14. 14. PROC main () WHILE TRUE SEQ digitalWrite (13, HIGH) delay (200) digitalWrite (13, LOW) delay (200) :
  15. 15. PROC blink (VAL INT pin, period) WHILE TRUE SEQ digitalWrite (pin, HIGH) delay (period) digitalWrite (pin, LOW) delay (period) : PROC main () blink (13, 200) :
  16. 16. PROC main () blink (13, 200) :
  17. 17. occam: PAR x y C++: ??!?!!!?
  18. 18. PROC main () PAR blink (13, 300) blink (14, 500) :
  19. 19. This is a channel.
  20. 20. sender receiver
  21. 21. inputPin outputPin
  22. 22. inputPin invert outputPin
  23. 23. Concurrency in action ● We call this “process-oriented programming” ● Build your program out of little, isolated components, and connect them together ● Plumbing is a library of ready-made components (like inputPin, invert and blink) for the Arduino
  24. 24. 64 LEDs (well, 128, actually...)
  25. 25. One
  26. 26. How does that work? buffer buffer buffer ... buffer
  27. 27. How does that work? buffer buffer buffer ... buffer column column column ... column
  28. 28. How does that work? black. source buffer buffer buffer ... buffer hole column column column ... column
  29. 29. Distributed embedded system black. source buffer buffer buffer ... buffer hole column column column ... column
  30. 30. First node source buffer buffer buffer ... buffer serial.tx column column column ... column
  31. 31. Other nodes serial.rx buffer buffer buffer ... buffer serial.tx column column column ... column
  32. 32. The RepRap ● X, Y and Z axes with steppers and endstops ● Print head with heater, temperature sensor and extruder motor ● Serial interface to accept commands from a host computer
  33. 33. Plumbing the RepRap heater thermostat temp. sensor motor x motor. motor motor. motor serial.port command.parser control motor. axis. y control control endstop endstop z endstop extruder
  34. 34. How do I learn more? ● Read the book! ● Available from our web site along with the software (all open source): http://concurrency.cc/ ● For more about occam-pi: http://occam-pi.org/ ● Thanks – any questions?

×