v0.1.2 Semester 2 TI programma door HU IICT.
In semester 2 van Technische Informatica staat het klimaatmonitor project centraal. Je krijgt in dit semester verschillende facetten van Technische Informatica te zien. Van Object Georienteerd Programmeren (Object-Oriented Programming, OOP) tot aan de beginselen van elektronica. In het project zal je merken dat je deze opgedane kennis direct kunt gebruiken. Je komt in aanraking met veel Internet of Things (IoT) concepten. Elke week maak je een stapje. Aan het einde van dit semester heb je samen met je ontwikkelteam een klimaatmonitor gemaakt.
De contacturen zijn: |dag|van|tot| |—|—|—| |ma|9:00|13:00| |di|13:00|17:00| |wo|9:00|13:00| |do|9:00|13:00|
Ons lokaal op maandag is HL15-1.098 en HL15-1.102 en op andere dagen HL15-1.096.
De docenten zijn:
Week A1. We leren een ADC te gebruiken. Aan het eind van deze week kun je een temperatuursensor uitlezen en een analoge waarde omzetten naar een temperatuur. In een for-loop kun je graden Kelvin omzetten naar graden Celsius en het resultaat laten weergeven in een console.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A1 | ma | Project Kick-off. Inrichten van een ontwikkelomgeving & werken met Git. | Project introductie. De klimaatmonitor. Curriculum toelichting semester 2 TI. Wat gaan we doen? Indelen van de groepen. | Semester lunch van 12.00 tot 13.00 uur in lokaal HL15-3.072, Teamvorming van 13.00 uur tot 14.30 uur in lokaal HL15-4.016 (TM, HS) |
A1 | di | Project Kick-off. Inrichten van een ontwikkelomgeving & werken met Git. | Scrum en projectplanning | Introductie en geschiedenis C, C++ (GP) Inrichten ontwikkelomgeving en opzetten. Visual studio code & Arduino IDE & Arduino UNO. “Hello world” voorbeeld code. (GP) Git introductie en opzetten. (HS) Eerste project “Hello climate monitor” aanpassen (GP) en op Git plaatsen. |
A1 | wo | Project Kick-off. Inrichten van een ontwikkelomgeving & werken met Git. | Werken aan project | Data types, int, float, bool (GP), Analoge pin uitlezen. (HP) lees de samenvatting |
A1 | do | Project Kick-off. Inrichten van een ontwikkelomgeving & werken met Git. | Team contract inleveren. | C++ for loop en C++ vector (GP) |
Week A2. We leren werken met vectoren in C++. We gebruiken een digitale pin om te registreren of een deur open en dicht gaat.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A2 | ma | Digitale & analoge I/O | Uitleg retrospective en sprint review | Lokaal HL15-3.090 van 9.00 tot 11.00 uur. Eerste uur 9.00 tot 10.00 uur (zelfwerkzaam) maak een portfolio-item voor Analoge Pin. Docentfeedback Analoge pin uitlezen (HS). Ook beschikbaar werktuimte HL15-5.064 & HL15-5.066 van 9.00 tot 14.00 uur. |
A2 | di | Digitale & analoge I/O | Digitale Pin (HS), Herhaling C++ vector, Condities if else, functies (basis) (GP) | |
A2 | wo | Digitale & analoge I/O | Rekenkundige expressies (GP), C++ oefenen met vectoren (GP), Recursie (GP) | |
A2 | do | Digitale & analoge I/O | :end: Einde sprint 1 | Electronika (basis) (BB) |
Week A3. Met 8 leds simuleren we de stand van deuren en ramen, we sturen deze aan met een 74HC595. Sluit een bme280 sensor aan om temperatuur en relatieve luchtvochtigheid uit te lezen en leer het gebruik van een driver.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A3 | ma | We leren het gebruik van een (output) schuifregister. Bi-directionele communicatie met SPI is een veel gebruikte bus in seriele communicatie. Zo kan je gegevens uitwisselen tussen sensoren en je microcontroller. | Uitleg: Daily Standup en Review. :runner: planning sprint 2 | Schuifregister (HS) Lokaal HL15-3.066 van 9.00 tot 11.00 uur. Werktuimte HL15-5.064 & HL15-5.066 van 9.00 tot 14.00 uur. Bezoek aan opdrachtgever het lectoraat Smart Systems for Healthy Living van 12.30 tot 14.00 uur. (HS, TM) |
A3 | di | Schuifregister & SPI | Werken aan project | Inlezen van gegevens Cin & Getline (GP), |
A3 | wo | Schuifregister & SPI | Werken aan project | SPI (HP) |
A3 | do | Schuifregister SPI | Werken aan project | Iets Uitrekenen (BB, MV), Rekenen met eenheden (BB, MV), Functionele Requirements (BB, MV) |
Week A4. Wil je een sensor aansluiten op je microcontroller dan kom je vaak in de situatie dat je bijvoorbeeld een aantal headerpins moet solderen. We solderen een eenvoudig DIY (Do It Yourself) soldeer kitje. We leren ook het gebruik en de eigenschappen van weerstanden in parralel en in serie. Met een weerstanden kan je een spanningsdeler maken. Verder leer je hoe een Multimeter te gebruiken om componenten te testen of een (deel van een) circuit door te meten. We maken kennis met het struct datatype in C++.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A4 | ma | Elektrisch netwerk | Werken aan project | Electrisch circuit, Multimeter en Weerstand (HS) in lokaal HL15-3.066 |
A4 | di | Elektrisch netwerk | Werken aan project | Introductie datatype struct (GP) |
A4 | wo | Elektrisch netwerk & Solderen | Bezoek WoTS 2024, registreer je vooraf | |
A4 | do | Elektrisch netwerk & Solderen | Show & Tell 3 teams 20 min per team. | Bits en bitoperatoren (GP) |
A4 | vr | Solderen | :end: Einde sprint 2 & :runner: planning sprint 3 | Soldeerpracticum (HS) |
Week A5. We oefenen deze week nog met een multimeter en het meten van spanningen met behulp van een diode (LED). In C++ leren we hoe je code kan opslitsen in verschillende bestanden. We leren (data) naar bestanden te schrijven. Aan het eind van de week lever je ook voor de eerste keer een verantwoordingsdocument in op Canvas.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A5 | ma | Elektrisch netwerk | Werken aan project | Weerstandsnetwerkjes (BB, MV) in lokaal HL15-3.090 tot 11.00 uur en van 11.00 tot 13.00 uur PL99-1.328 Padualaan 99 !! |
A5 | di | Software | Werken aan project | We beginnen om 14.00 uur! Git cursus (NG), Individuele feedback op software opdrachten (GP) |
A5 | wo | Software | Werken aan project | .cpp en .hpp files, includes, namespace (GP) |
A5 | do | 1e Peilmoment | Functies, references en const, functienamen, files i/o, fstream (GP) |
Week A6. Vul deze week de Evalytics vragenlijst in zodat je dit semester tussentijds kan beoordelen en wij met de feedback verbeteringen kunnen aanbrengen. We behandelen actieve elektronica en het lezen van (sensor)data met behulp van het 1-Wire protocol. Voor het slim en efficient aansturen van motoren leer je het gebruik van Pulse Width Modulatie (Pulse Width Modulation, PWM). Met PWM kan bijvoorbeeld een ventilator aansturen om de temperatuur in het systeem te regelen of een led te dimmen.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A6 | ma | Hardware interfacing | Opzetten Planbord | Kirchoff, Led (BB, MV) in lokaal HL15-3.038 |
A6 | di | 1-Wire | Werken aan project | Temperatuurmeten: 1-wire (HS), C++ structs (1), structs (2) en classes (GP) |
A6 | wo | PWM | Werken aan project | PWM (HS) |
A6 | do | Hardware interfacing & communicatie | Werken aan Project | Comparator en Mosfet (BB, MV) Schakelen, H-brug, flyback |
Week A7. We behandelen UART (Universal Asynchronous Receiver Transmitter) communicatie voor het aansluiten van randapparatuur. Met UART kan je communiceren tussen je Arduino Uno en Raspberry Pi. Je leert het gebruik van een logic analyzer om digitale signalen te kunnen analyseren. Eind van de week krijgt ieder team ook een Raspberry Pi (in bruikleen) voor het gebruik in het project.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A7 | ma | UART communicatie | Werken aan project | Use Cases (BB, MV) lokaal HL15-3.018 van 9.00 tot 11.00 uur en lokaal HL15-1.022 van 11.00 tot 12.00 uur. |
A7 | di | UART communicatie | Werken aan project | Kennismaking met het installeren van een besturingssysteem (HS) |
A7 | wo | UART communicatie | Werken aan project | UART (HS & HP) |
A7 | do | UART communicatie | Compositie, UML en associatie (GP) | |
A7 | vr | :end: Einde sprint 3 & :runner: Planning sprint 4 |
Week A8. We communiceren sensor-data met MQTT (Message Queuing Telemetry Transport), PostgreSQL voor dataopslag, Node-RED voor het visueel programmeren en Flask om een eenvoudige webserver te maken. De verschillende services draai je in Docker containers.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A8 | ma | Transistoren | Show & Tell 3 teams 20 min per team. | Transistor en Condensator (BB, MV) Darlington, ULN2003 lokaal HL15-3.090 tot 12.00 uur |
A8 | di | Node-Red, PostgreSQL, MQTT, Flask & Docker | Werken aan project | Docker & MQTT (HS) |
A8 | wo | UART | Werken aan project | Herhaling UART, gebruik van Logic Analyzer, optioneel: I2C (HP) |
A8 | do | Oscilloscoop | Werken aan project | Oscilloscoop deel 1 (picoscope) (BB, MV) |
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A9 | ma | Vakantie | ||
A9 | di | Vakantie | ||
A9 | wo | Vakantie | ||
A9 | do | Vakantie | ||
A9 | vr | Vakantie |
Week A10. We leren het gebruik van een oscilloscoop, een meetinstrument dat cyclische variaties in een elektrische grootheid zichtbaar kan maken. Aan het eind van de week lever je ook weer een vernieuwde versie van het verantwoordingsdocument in op Canvas. Vergeet niet naar de tips voor het verantwoordingsdocument te kijken.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
A10 | ma | Flask | Werken aan project | Flask (HS) van 9.00 uur tot 12.00 uur HL15-3.096 |
A10 | di | C++ | Werken aan project | C++ opdrachten feedback (GP) |
A10 | wo | Oscilloscoop | Werken aan project | Oscilloscoop deel 2 (photodiode, seriele verbinding) (BB, MV) |
A10 | do | 2e Peilmoment | Werken aan project | Servo Controller 1 (meten) (BB, MV) |
Week B1. Deze week bespreken we niet-functionele requirements een manier om kwaliteitseisen en kenmerken van het systeem vast te leggen. We beginnen ook met een introductie objectgeoriënteerd programmeren. Bij deze manier van programmeren benadering wordt een systeem opgebouwd uit objecten.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B1 | ma | Werken aan project | Niet-Functionele Requirements & Activity Diagrammen (BB, MV) lokaal HL15-5.094 | |
B1 | di | Werken aan project | Herhaling klassen; SFML en sf::Shape (GP) | |
B1 | wo | Werken aan project | Doxygen, klassediagram en overerving (GP, HP) | |
B1 | do | Werken aan project | PostgreSQL & Node-Red (HS) |
Week B2. We beginnen deze week met een workshop Datasheet lezen en in verschillende praktica werken we met een I2C sensormodule. We gaan ook verder met het onderdeel servo controller waar we in week C10 mee zijn gestart. Ook staan er weer lessen OO op het programma.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B2 | ma | Datasheet lezen | Werken aan project | Workshop Datasheet lezen, I2C, Sensorboard, Logic Analyzer (BB, MV) lokaal HL7-0.060 ander gebouw! |
B2 | di | Werken aan project | Doxygen opdracht, Unit tests, C++ (GP,HP) | |
B2 | wo | Werken aan project | Overerving C++ (GP,HP) | |
B2 | do | show & tell | Servo Controller 2 (meten, simuleren) (BB, MV) | |
B1 | vr | :end: Einde sprint 4 & :runner: Planning sprint 5 |
Week B3. Stapsgewijs leer je aan de hand van een Datasheet code te schrijven voor een sensor. Aan het eind van de week lever je een Plan van Aanpak in voor het schrijven van je eigen library voor een zelf geselecteerde sensor.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B3 | ma | Servo Controller | Werken aan project | Servo Controller 3 (simuleren) (BB, MV) support klassendiagrammen (HP) lokaal HL15-5.094 |
B3 | di | Datasheet lezen | Werken aan project | C++ Unit Tests, Catch2 (GP) |
B3 | wo | Schrijven van je eigen library en applicatie | Werken aan project | Inleveren Plan van Aanpak, mogelijkheid voor feedback (GP, HP, HS) |
B3 | do | Schrijven van je eigen library en applicatie | Finite state machine (BB, MV) |
Week B4. We gaan deze week verder met de I2C workshop en we beginnen met het Input Output (IO) expander workshop. Aan het eind van deze week is het al weer tijd voor de inlevering van het 3e Peilmoment. Dit is de laatste inlevering voor de eindbeoordeling zorg dus dat al je feedback is verwerkt en je verantwoordingsdocument helemaal up-to-date is.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B4 | ma | Werken aan project | Afronding workshop I2C, Start IO expander practicum (BB, MV) lokaal HL15-5.094 | |
B4 | di | SDG workshop begint om 13.00 uur | SDG’s (.md) en SDGs slides (HS) | |
B4 | wo | Werken aan project | C++ feedback en werken aan verantwoordingsdocument(GP en HP) | |
B4 | do | 3e Peilmoment | Werken aan project | Practicum IO Expander I2C afronden (BB, MV) |
Vul deze week de Evalytics vragenlijst in zodat je dit semester tussentijds kan beoordelen en wij met de feedback verbeteringen kunnen aanbrengen.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B5 | ma | Werken aan project | Talking Servos 1 (BB, MV) lokaal HL15-5.094 | |
B5 | di | Werken aan project | PCB design (gastcollege Joost Kouijzer) van 13.00 tot 16.00 uur HL15-1.096. | |
B5 | wo | Werken aan project | C++ decorator & adapter patterns (GP) | |
B5 | do | Show & Tell | C++ objecten en waarden, units en waarden (GP) | |
B5 | vr | :end: Einde sprint 5 & :runner: Planning sprint 6 |
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B6 | ma | Werken aan project | Talking Servos 2 (BB, MV) lokaal HL15-5.094 | |
B6 | di | Werken aan project | Het maken van een poster (HS), | |
B6 | wo | Werken aan project | Library en applicatie feedback (GP) | |
B6 | do | Werken aan project | Library en applicatie (HP) |
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B3 | ma | Vakantie | ||
B3 | di | Vakantie | ||
B3 | wo | Vakantie | ||
B3 | do | Vakantie | ||
B4 | vr | Vakantie |
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B3 | ma | Vakantie | ||
B3 | di | Vakantie | ||
B3 | wo | Vakantie | ||
B3 | do | Vakantie | ||
B4 | vr | Vakantie |
Deze week presenteren jullie als team het klimaatmonitor project. Je maakt als team een A4 poster. We sluiten dit vrijdag gezamenlijk af met een openbare presentatie van de klimaatmonitoren bij de opdrachtgever Padualaan 101. Zorg dat je de library en applicatie deze week aan de docenten laat zien en dat je de feedback verwerkt.
Week | Dag | Thema | Project | Kennissessie |
---|---|---|---|---|
B9 | ma | Werken aan project | C++ feedback (GP) lokaal HL15-5.094 | |
B9 | di | Werken aan project | Fusion 360 (TM), Library en applicatie feedback (GP, HP) | |
B9 | wo | Show & Tell | Werken aan Verantwoordingsdocument. Lever het bijgewerkte Verantwoordingsdocument in als PDF op Canvas bij de opdracht Eindbeslissing | |
B9 | do | 4e Peilmoment | Library en applicatie feedback (GP) | |
B9 | vr | :end: Einde sprint 6 & planning afronden (sprint 7) | Eindpresentatie klimaatmonitor TI Semester 2 (lokatie PL101) aanwezig om 9.00 uur. Opening om 9.30 uur. Afbreken en opruimen om 11.00 uur. |
Vul deze week de Evalytics vragenlijst in zodat je dit semester kan beoordelen en wij met de feedback verbeteringen kunnen aanbrengen. De docenten bekijken deze week al het ingeleverde werk. Aan het eind van de week ontvang je individuele feedback en een eindbeoordeling.
Week | Dag | Thema |
---|---|---|
B10 | ma | 9-12u assessments library en application (HP, GP) Eindbeoordeling |
B10 | di | Eindbeoordeling |
B10 | wo | Eindbeoordeling |
B10 | do | Eindbeoordeling |
Week B11 en B12 zijn er voor (mogelijke) verbeteringen van het ingeleverde werk of om binnen het semester verder de excelleren. Als niet alle leeruitkomsten Op Niveau of Boven Niveau zijn dan kan in samenspraak met de docent een (realistisch) plan worden gemaakt en voer je deze werkzaamheden in deze periode uit. Verder excelleren kan bijvoorbeeld door een leeruitkomst met verbeteringen van Op Niveau naar Boven Niveau te brengen.
Week | Dag | Thema |
---|---|---|
B11 | ma | Verbeterperiode |
B11 | di | Verbeterperiode |
B11 | wo | Verbeterperiode |
B11 | do | Verbeterperiode |
Week | Dag | Thema |
---|---|---|
B12 | ma | Verbeterperiode |
B12 | di | Verbeterperiode |
B12 | wo | Verbeterperiode |
B12 | do | Verbeterperiode |