Seite anzeigenÄltere VersionenLinks hierherCopy this pageFold/unfold allNach oben Diese Seite ist nicht editierbar. Du kannst den Quelltext sehen, jedoch nicht verändern. Kontaktiere den Administrator, wenn du glaubst, dass hier ein Fehler vorliegt. ====== Arduino Projekte ====== * selbst gewähltes Arduino Projekt * in 1-2er Gruppen, keine 3er Gruppen * Für längere Projektarbeiten (typischerweise für TALITs) wird *im Normalfall* (Ausnahmen mit LP besprechen) erwartet, dass das Produkt nicht als Prototyp, sondern *fest verlötet oder mit Crimpe & Kabelschuhen* abgegeben wird. ==== Timeline ==== 1. **Projekt finden:** mit LP besprechen und absegnen lassen 1. **GitHub** 1. //neues// Repo erstellen für Projekt ... 1. ... mit passendem Namen 1. LP freigeben (anschae) 1. Zwei Markdown-Dokumente (siehe unten) darin erstellen: projektbeschreibung.md und dokumentation.md 1. **Projektbeschreibung:** 1. siehe Details unten 1. Abgabe ASAP: schicke Link zu Dokument per Teams an sca) 1. muss von LP abgesegnet werden für weiteres Arbeiten 1. **Umsetzung Projekt:** 1. Planen, Hardware bestellen, Coden, ... 1. Mit Dokumentation beginnen, v.a. 1. Regelmässige Commits & Pushes, Fortschritt auf hardwareebene mit Fotos auf GitHub dokumentieren -> fliesst in Bewertung der Dokumentation ein 1. **Dokumentation** finalisieren 1. **Abgabe**: 1. Dokumentation (Link zu Dokument und Abgabebestätigung per Teams an sca) und Hardware (an sca persönlich) ... 1. bis spätestens zur angegebenen **Deadline** 1. Verspätete Abgaben: -0.25 Note pro angebrochene 24h Verspätung 1. Gut begründet ist auch eine //spätere Abgabe// möglich. Dies muss bis spätestens *zwei Wochen vor der Deadline* mit sca abgesprochen werden. ==== Bestellungen ==== Von folgenden Anbietern kann über Herr Philippe Mussoi bestellt werden: * https://www.distrelec.ch * https://www.reichelt.com * https://www.adafruit.com (Achtung hohe Lieferkosten) * http://bastelgarage.ch * https://www.conrad.ch * https://www.mouser.ch * https://jlcpcb.com/ (Printplatten) Auch die **Lieferkosten** müssen berücksichtigt werden. Es werden nur vernünftige Liefergebühren bezahlt. Fülle dazu die folgende {{ :ef_informatik:stueckliste_vorlage.xlsx |Excel-Tabelle}} aus und schicke diese komplett ausgefüllt an krmsp@ksr.ch ==== Dokumente ==== * Dokumente im **Markdown-Format** (.md), ordentlich formatiert und *direkt im GitHub-Repo* * Erstelle dazu drei Dokumente: * projektbeschreibung.md * dokumentation.md * Markdown: * Tutorial: https://docs.github.com/de/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax * Bilder einfügen: https://docs.github.com/de/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#bilder * Dokumente aufs Wesentlichste reduzieren ("So kurz wie möglich, so lang wie nötig."). === Dok 1: Projektbeschreibung / PRD (Project Requirement Document) === * Inhalt: * Abstract (das wichtigste in wenigen Sätzen) * Projekt im Detail: * Beschreibung des Projekts in mehr Detail * Muss: Welche Features müssen zwingend umgesetzt werden? * Optional: Welche Features sind optional falls gut in Zeit? * Zeitplan: * Tabelle * Bis wann soll was erledigt sein * Skizze: * Skizze der Hardware, am einfachsten von Hand, binde Bild im .md-File ein * Kostenabschätzung: * Zusammenstellung der ungefähren Kosten * Auflistung der speziellen Komponenten mit Preis und Link * Günstige Standard-Komponenten (Widerstände, Drähte, LED,...) können vernachlässigt werden === Dok 2: Dokumentation === * Inhalt von Projektbeschreibung kann schamlos kopiert und angepasst werden. * Inhalt: * Abstract (das wichtigste in wenigen Sätzen) * Projekt im Detail: * Beschreibung des Projekts in mehr Detail * Welche Features wurden umgesetzt? * Hardware: Beschreibung der wichtigsten Hardware inkl. Fotos * Software: Wichtigste Überlegungen hinter Code; wie ist er strukturiert? (kurz und bündig) * Entwicklung: * Dokumentiere Entwicklungsprozess (v.a. der Hardware) *fortlaufend* * Füge Bilder hinzu, Text optional * allfällige Pläne, CAD-Designs usw. müssen ebenfalls hier dokumentiert werden. * muss in real time upgedated werden * auch Fehlversuche müssen dokumentiert werden * Diskussion & Reflexion: * Was hat gut geklappt, was weniger? * Was würdest du anders machen? * Wie könnte erweitern? * Code: gesamter Code ==== Hardware & Kosten ==== * Es muss nicht zwingend ein Arduino Uno verwendet werden. Alternativen: Arduino Micro, ESP, ... Es muss einfach mit der Arduino IDE und C++ programmiert werden. * Bestellungen müssen mit sca abgesprochen und dann bei Philippe Mussoi aufgegeben werden. * Jede:r Schüler:in hat im Normalfall ein Budget von 50 Fr. (100 Fr. TALITs). * Zusätzliche Kosten müssen selbst übernommen werden, falls Projekte nachhause genommen werden wollen. * Projekte, die für die Schule entwickelt werden, werden vollumfänglich übernommen. ==== Bewertung ==== ^ ^ **max. Punkte** ^ |Dok 1: **Projektdokumenation** (Inhalt, Formales, Sprache)| 3 | |**Umsetzung Hardware** \\ - Funktionstüchtigkeit \\ - Selbständigkeit \\ - sauberes Arbeiten \\ - Schwierigkeitsgrad & Umfang \\ - Design & Ästhetik| 10 | |**Umsetzung Software** \\ - Funktionstüchtigkeit \\ - Selbständigkeit \\ - Programmierstil \\ - Schwierigkeitsgrad & Umfang \\ - Merkpunkte guter Code (siehe unten)| 10 | |Dok 2: **Dokumentation** (Inhalt, Formales, Sprache, Prozess)| 7 | * Max. Punktzahl: 30 * 6er ab 28 Punkten * unterhalb lineare Notenskala * Punkte für Umsetzung Hardware & Software auch anders möglich (insg. 20 Pkt), spreche im Vorfeld mit sca ab. ==== Merkpunkte guter Code ==== * Lesbarkeit * Kommentare (alles was nicht offensichtlich ist kurz kommentieren, aber keine offensichtlichen Kommentare a la "This is a for-loop.") * sinnvolle & einheitliche Benennung Variablen, Funktionen, Klassen, ... * Einhalten der wichtigsten Stylevorschriften: * Gross vs. Klein: lowerCamelCase, CamelCase, CONSTANTS, ... * https://www.geeksforgeeks.org/naming-convention-in-c/ * Komplexere Funktionen müssen kommentiert werden: Was macht sie? Welche Parameter verlangt sie? Was gibt sie zurück? * OOP (falls sinnvoll, nur TALITs) ef_informatik/arduino_projekte.txt Zuletzt geändert: 2024-12-10 10:21von sca