Game of Life: Unterschied zwischen den Versionen

Aus d0b
Zur Navigation springenZur Suche springen
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Eingebettete Systeme]]
+
[[Kategorie:Mikrocontroller]]
 
 
 
== Vorwort ==
 
== Vorwort ==
 
Es wurde ein geeignete Projektidee für ein Praktika für das Fach ES (Eingebette Systeme) gesucht. Ideengeber waren Martin und Max,
 
Es wurde ein geeignete Projektidee für ein Praktika für das Fach ES (Eingebette Systeme) gesucht. Ideengeber waren Martin und Max,
 
Dennis und ich sind etwas später dazugestossen. Ziel ist es ein Eingebettestes System zu entwerfen auf welchen dann nach Fertigstellung [https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens Conway`s Game of Life] läuft.
 
Dennis und ich sind etwas später dazugestossen. Ziel ist es ein Eingebettestes System zu entwerfen auf welchen dann nach Fertigstellung [https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens Conway`s Game of Life] läuft.
  
Wenn das interessiert aber keine Vorkenntnisse in diesen Bereich hat, sollte sich mal durch das Tutorial von [http://www.mikrocontroller.net mikrocontroller.net] lesen.
+
Wenn das interessiert aber keine Vorkenntnisse in diesen Bereich hat, sollte sich mal durch das Tutorial von [http://www.mikrocontroller.net mikrocontroller.net] lesen und / oder schaut sich diese nette [https://www.youtube.com/watch?v=Q1rR1IgBgcU AVR Einführung] von fd0 an (22c3).
  
 
== IDE ==
 
== IDE ==
Zeile 31: Zeile 30:
 
* '''Eclipse Settings'''
 
* '''Eclipse Settings'''
 
** AVR
 
** AVR
*** Unter "Eclipse" -> "Einstellungen" -> "AVR" -> "Paths" entfernen wir den Haken bei "Diable search for System Paths at Statup"
+
*** Unter "Eclipse" -> "Einstellungen" -> "AVR" -> "Paths" entfernen wir den Haken bei "Disable search for System Paths at Startup"
 
*** Projektbezogen: Rechtklick auf euer Projekt -> Properties -> "C/C++ General" -> "Paths and Symbols" hier fügen wir folgenden Pfad hinzu "opt/local/avr/include/avr", da Eclipse Unterverzeichnisse anscheinend nicht beachtet. Typischer Fehler ist das trotz erfolgreicher installation der AVR-Toolchain, Eclipse noch immer nicht weiß wie es an die Header Files kommt.
 
*** Projektbezogen: Rechtklick auf euer Projekt -> Properties -> "C/C++ General" -> "Paths and Symbols" hier fügen wir folgenden Pfad hinzu "opt/local/avr/include/avr", da Eclipse Unterverzeichnisse anscheinend nicht beachtet. Typischer Fehler ist das trotz erfolgreicher installation der AVR-Toolchain, Eclipse noch immer nicht weiß wie es an die Header Files kommt.
 
** AVRdude Settings
 
** AVRdude Settings
Zeile 43: Zeile 42:
 
* [http://www.obdev.at/products/crosspack/index.html CrossPack for AVR® Development] - Installationspaket Mac OSX
 
* [http://www.obdev.at/products/crosspack/index.html CrossPack for AVR® Development] - Installationspaket Mac OSX
 
* [http://www.rn-wissen.de/index.php/Avr-gcc_und_avrdude_installieren AVR Toolchain] - Linux AVR Toolchain von Hand insallieren
 
* [http://www.rn-wissen.de/index.php/Avr-gcc_und_avrdude_installieren AVR Toolchain] - Linux AVR Toolchain von Hand insallieren
 +
* [http://wiki.eclipse.org/EGit/User_Guide Egit User Guide]
  
 
== Entwurf ==
 
== Entwurf ==
 
=== Hardware ===
 
=== Hardware ===
 +
[[Datei:ES_01_Hardware.jpg|150px|thumb|right|Hardware ist da!]]
 +
[[Datei:ES_02_Entwurf_01.jpg|150px|thumb|right|Erster Entwurf]] 
 +
[[Datei:ES_03_Entwurf_02.jpg|150px|thumb|right|Zweiter Entwurf]]
 +
[[Datei:ES_04_Fehlersuche.jpg|150px|thumb|right|Fehlersuche]]
 +
Hier ist unsere Einkaufslisten, beinhaltet sind Bausätze für 2 Systeme + Ersatzteile. Wir haben die Einkaufliste aufgeteilt, da Werkzeug schon vorhanden war.
  
Hier ist unsere Einkaufslisten, beinhaltet sind Bausätze für 2 Systeme + Ersatzteile. Wir haben die EInkaufliste aufgeteilt, da Werkzeug schon vorhanden war.
 
  
 
'''Elektronik Bauteile'''
 
'''Elektronik Bauteile'''
Zeile 83: Zeile 87:
 
|  Steckplatine 1380 Kontakte || Prototyp-Steckbrett  || Conrad || 2 || 16€
 
|  Steckplatine 1380 Kontakte || Prototyp-Steckbrett  || Conrad || 2 || 16€
 
|-
 
|-
|  Netzteil 5V  || zur Stromversorgung des Prototyps ||  ebay || 1 || ca. 10€   
+
|  Netzteil 5V  || zur Stromversorgung des Prototyps ||  ebay || 1 || 10€   
 
|-
 
|-
|  || Mini Zangen Set Elektronikzangen ||  ebay || 1 || ab 5€
+
|  || Mini Zangen Set Elektronikzangen ||  ebay || 1 || 5€
 
|}
 
|}
  
 
=== Software  ===
 
=== Software  ===
Für das Eingebette System
+
[[Datei:ES_05_DFD-Entwurf.jpg|150px|thumb|right|DFD-Entwurf]]
 +
[[Datei:ES_06_STD-Entwurf.jpg|150px|thumb|right|STD-Entwurf]]
 +
[[Datei:ES_07_PAT-Entwurf.JPG|150px|thumb|right|PAT-Entwurf]]
 +
[[Datei:ES_08_Eagle-Entwurf.png|150px|thumb|right|Eagle-Entwurf]]
 +
 +
 
 +
 
 +
Für den Mikrocontroller
 
* Programmiersprache: [https://de.wikipedia.org/wiki/C_%28Programmiersprache%29 C]
 
* Programmiersprache: [https://de.wikipedia.org/wiki/C_%28Programmiersprache%29 C]
 
* Kommunikationsbus: [https://de.wikipedia.org/wiki/Serial_Peripheral_Interface SPI]
 
* Kommunikationsbus: [https://de.wikipedia.org/wiki/Serial_Peripheral_Interface SPI]
Zeile 95: Zeile 106:
 
Für uns
 
Für uns
 
* [http://de.libreoffice.org Libre Office] - Diagramme erstellen
 
* [http://de.libreoffice.org Libre Office] - Diagramme erstellen
 +
* [http://www.cadsoftusa.com/download-eagle/ Eagle] - PCB entwerfen
 
* [http://www.xmind.net Xmind] - Arbeitsplanung
 
* [http://www.xmind.net Xmind] - Arbeitsplanung
  
=== Dokumentation ===
+
=== Analyse & Doku ===
Wir arbeiten nach dem SA/RT Modell (Structured Analysis with Realtime-Extensions), hier die Dokumente aus dem Entwurf (Files folgen noch)
+
Wir arbeiten nach dem [https://de.wikipedia.org/wiki/Strukturierte_Analyse SA/RT Modell], hier die Dokumente aus dem Entwurf. Die Bennung der angefertigten Dateien setzt sich wie folgt zusammen:
* DFD - Datenflussdiagramm
+
 
* KTD - Kontrollflussidagramm
+
Dateiname = Name des Fachs + Zweistelliger Index für Diagrammart + _Änderungsindex
* STD - State Transition Diagramm
+
 
* PAT - Process Activation Table
+
{|class="wikitable sortable"
 +
|-
 +
|  Diagrammart || Abkürzung || Download (Libre-/ OpenOffice) || Download (PDF)  
 +
|-
 +
|  [https://de.wikipedia.org/wiki/Datenflussdiagramm Datenflussdiagramm] || DFD || ES01_02 || [http://wiki.d0b.eu/files/game-of-life/ES01_02-DFD.pdf ES01_02]
 +
|-
 +
|  Kontrollflussdiagramm || KTD || ES02_00 || [http://wiki.d0b.eu/files/game-of-life/ES02_00-KTD.pdf ES02_00]
 +
|-
 +
|  [https://de.wikipedia.org/wiki/Zustands%C3%BCbergangsdiagramm State Transition Diagramm]  || STD ||  ES03_00 || [http://wiki.d0b.eu/files/game-of-life/ES03_00-STD.pdf ES03_00]
 +
|-
 +
Process Activation Table || PAT  ||  ES05_01 || [http://wiki.d0b.eu/files/game-of-life/ES05_01-PAT.pdf ES05_01]
 +
|}
 +
 
 +
=== Quellcode  ===
 +
kommt noch ;-)
 +
 
 +
== Links ==
 +
* [http://www.rn-wissen.de/index.php/Hallo_Welt_f%C3%BCr_AVR_%28LED_blinken%29 Blink LED]
 +
* [http://www.mikrocontroller.net/articles/AVR_Checkliste AVR_Checkliste]
 +
* [http://www.nongnu.org/avr-libc/user-manual/modules.html AVR Libc Reference]
 +
 
 +
 
 +
== Ausführung ==

Aktuelle Version vom 17. Dezember 2012, 14:27 Uhr

Vorwort

Es wurde ein geeignete Projektidee für ein Praktika für das Fach ES (Eingebette Systeme) gesucht. Ideengeber waren Martin und Max, Dennis und ich sind etwas später dazugestossen. Ziel ist es ein Eingebettestes System zu entwerfen auf welchen dann nach Fertigstellung Conway`s Game of Life läuft.

Wenn das interessiert aber keine Vorkenntnisse in diesen Bereich hat, sollte sich mal durch das Tutorial von mikrocontroller.net lesen und / oder schaut sich diese nette AVR Einführung von fd0 an (22c3).

IDE

Wir haben uns entschieden Eclipse mit der AVR Toolchain zu nutzen, als Versionsverwalzung dient git. Das Projekt beinhaltet bisher 4 Personen, eingesetzte BS sind Debian / Mac OSX, deswegen gibts es auch keine infos zur Windows IDE einrichtung.


  • AVRdude
    • Linux Debian / Ubuntu
      • aptitude install avrdude avr-libc
    • Mac OSX (via Macports)
      • sudo port install avrdude avr-libc
  • Eclipse Settings
    • AVR
      • Unter "Eclipse" -> "Einstellungen" -> "AVR" -> "Paths" entfernen wir den Haken bei "Disable search for System Paths at Startup"
      • Projektbezogen: Rechtklick auf euer Projekt -> Properties -> "C/C++ General" -> "Paths and Symbols" hier fügen wir folgenden Pfad hinzu "opt/local/avr/include/avr", da Eclipse Unterverzeichnisse anscheinend nicht beachtet. Typischer Fehler ist das trotz erfolgreicher installation der AVR-Toolchain, Eclipse noch immer nicht weiß wie es an die Header Files kommt.
    • AVRdude Settings
      • Window -> Preferences -> AVR -> AVRDude ->
      • Name: mySmartUSB
      • Typ: Atmel Low Cost Serial Programmer (avr910)
      • Override default Port to /dev/ttyUSB0

Links:

Entwurf

Hardware

Hardware ist da!
Erster Entwurf
Zweiter Entwurf
Fehlersuche

Hier ist unsere Einkaufslisten, beinhaltet sind Bausätze für 2 Systeme + Ersatzteile. Wir haben die Einkaufliste aufgeteilt, da Werkzeug schon vorhanden war.


Elektronik Bauteile

Artikelnr. Position Menge Einzelpreis Gesamtpreis
ATMEGA 32-16 DIP ATMega AVR-RISC-Controller, DIL 40 2 4,45€ 8,90€
BL 1X20W8 2,54 20pol. Buchsenl. gewinkelt, RM 2,54, H:8,5mm 4 0,45€ 1,80€
16,0000-HC49U-S Standardquarz, Grundton, 16,0MHz 2 0,17€ 0,34€
KERKO 22P Keramik-Kondensator 22P 4 0,06€ 0,24€
SL 1X40W 2,54 40pol. Stiftleiste 2 0,29€ 0,58€
BC 337-16 Transistor NPN TO-92 45V 0,5A 0,625W 40 0,05€ 2,00€
METALL 68,0 Metallschichtwiderstand 68,0 Ohm 20 0,49€ 9,81€
METALL 470 Metallschichtwiderstand 470 Ohm 25 0,49€ 12,26€
TC 20-11 RT Dot-Matrix-Display, 5x7 Pkt., 8,5mm, rot, Kathode 6 2,10€ 12,60€

Gesamtwert 48,52€, eingekauft wurde bei Reichelt , abgebildete Preise incl. Mwst., Stand vom 03.01.2012

Werkzeug

Artikel Position Wo kaufen Menge Preis
mySmartUSB MK2 Programmieradapter ebay 1 25€
Steckplatine 1380 Kontakte Prototyp-Steckbrett Conrad 2 16€
Netzteil 5V zur Stromversorgung des Prototyps ebay 1 10€
Mini Zangen Set Elektronikzangen ebay 1 5€

Software

DFD-Entwurf
STD-Entwurf
PAT-Entwurf
Eagle-Entwurf


Für den Mikrocontroller

  • Programmiersprache: C
  • Kommunikationsbus: SPI

Für uns

Analyse & Doku

Wir arbeiten nach dem SA/RT Modell, hier die Dokumente aus dem Entwurf. Die Bennung der angefertigten Dateien setzt sich wie folgt zusammen:

Dateiname = Name des Fachs + Zweistelliger Index für Diagrammart + _Änderungsindex

Diagrammart Abkürzung Download (Libre-/ OpenOffice) Download (PDF)
Datenflussdiagramm DFD ES01_02 ES01_02
Kontrollflussdiagramm KTD ES02_00 ES02_00
State Transition Diagramm STD ES03_00 ES03_00
Process Activation Table PAT ES05_01 ES05_01

Quellcode

kommt noch ;-)

Links


Ausführung