20s itt2 system development - ucl itt · 2020–05–19 20s itt2 system development, weekly plans...

37
20S ITT2 System Development Weekly plans UCL University college Authors: Ruslan Trifonov <[email protected]> Contact: Ruslan Trifonov <[email protected]> 2020–05–19

Upload: others

Post on 06-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

20S ITT2 System DevelopmentWeekly plans

UCL University college

Authors:Ruslan Trifonov <[email protected]>

Contact:Ruslan Trifonov <[email protected]>

2020–05–19

Page 2: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

Contents

1 Introduction 1

2 General Waring 1

3 Week 05 ITT2 System Development 1

3.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

3.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

3.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

3.1.3 Programming Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

4 Literature 2

4.1 Chapter 1 and Chapter 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.2 Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.2.1 Embedded C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.2.2 AVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.2.3 C programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.2.4 C debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

5 Week 06 ITT2 System Development 3

5.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

5.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.1.3 Programming Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Page 3: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

5.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.5 Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5.5.1 Chapter 2 and Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . 5

6 Week 07 ITT2 System Development 5

6.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

6.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

6.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

6.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

7 OLA21 - first attempt deadline end of week 8 6

8 Week 08 ITT2 System Development 6

8.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8.5 Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

8.5.1 Chapter 4 and Chapter 5 . . . . . . . . . . . . . . . . . . . . . . . . . 8

9 OLA21 - first attempt deadline end of week 8 8

[email protected] Page 3 of 29 Ruslan Trifonov

Page 4: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

10 Week 10 8

10.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

10.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

10.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

10.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

10.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

10.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

10.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

11 Week 11 9

12 Week 12 ITT2 System Development 9

12.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

12.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

12.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

12.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

12.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

12.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

12.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

13 Week 13 ITT2 System Development 11

13.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

13.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

13.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

13.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

13.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

13.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

13.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

[email protected] Page 4 of 29 Ruslan Trifonov

Page 5: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

14 OLA21 - second attempt 12

15 Week 14 ITT2 System Development 13

15.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16 Week 15 ITT2 System Development and on words. 14

16.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16.1.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16.1.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16.2 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

16.4 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

17 COVID-19 ITT2 Information 14

18 Google Meet info 15

19 Project outline 15

19.1 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

19.2 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

19.2.1 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

19.3 Set up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

[email protected] Page 5 of 29 Ruslan Trifonov

Page 6: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

20 Links to google meet 17

20.1 day 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

20.2 day 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

20.3 day 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

20.3.1 PWM video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

20.3.2 Serial controlled PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

20.4 Video examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

20.5 Video tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

21 Pictues Diagrams and drawings 19

22 Google Meet info 24

22.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

22.2 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

22.3 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

22.4 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

22.5 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

22.6 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

22.7 Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

23 Google Meet info 25

23.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

23.2 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

23.3 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

23.4 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

23.5 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

23.6 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

[email protected] Page 6 of 29 Ruslan Trifonov

Page 7: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

24 Google Meet info 26

24.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

24.2 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

24.3 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

24.4 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

24.5 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

24.6 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

24.7 Links to Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

25 Google Meet info 27

25.1 Goals of the week(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.2 Practical goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.3 Learning goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.4 Deliverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.5 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.6 Hands-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

25.7 Links to Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

26 Additional resources 29

[email protected] Page 7 of 29 Ruslan Trifonov

Page 8: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

List of Figures

1 AMA vs ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 System simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Serial with and without level shifter . . . . . . . . . . . . . . . . . . . . . . . . 21

5 Serial Simple USB plug and play . . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Overview transistor as switch . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7 Transistor as switch comlpex . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8 Overview ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

9 PWM theory 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

10 PWM theory 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Page 9: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

1 Introduction

This document is a collection of weekly plans. It is based on the wekly plans in the adminis-trative repository, and is updated automatically on change.

The sections describe the goals and program for each week of the system developmentclasses.

2 General Waring

During this course, you will feel that the tempo is going to fast. You may feel in the first 5-7weeks that we are rushing though things. This is partially correct. We are moving fast due toyou have basic programming knowledge from python, and knowing all the theory behind thetopics we do due to first semester. So you should only use your time and strength on learningembedded C. If you have lacking knowledge then you should set extra time on the side andpractice/learn/catch up.

3 Week 05 ITT2 System Development

3.1 Goals of the week(s)

See the AVR and ATMEGA architecture, understand atmel studio GPIO and logic of micro-controllers without operating system, barebone programming in C.

3.1.1 Practical goals

1. Install atmega studio.

2. AVR and ATMEGA understanding and using.

3. C programmings first deep.

4. Make a LED blink.

3.1.2 Learning goals

1. C programming.

2. AVR registers.

[email protected] Page 1 of 29 Ruslan Trifonov

Page 10: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

3. ATMEGA GPIO.

3.1.3 Programming Goals

1. Variables

2. Constants

3. Declarations

4. Functions

5. Define

3.2 Deliverable

1. Create a on off led application, with a timer delay.

3.3 Schedule

See Time Edit

3.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

3.5 Comments

In week 9 we will use the mini board for last time. From week 10 and onward students willneed their own programmer. I have around 10 programmers, they are the ATMEL ICE. Iadvice students to by a cheap programmer to have all the time. The ATMEL ICE is also adebugger and it cost around 1000 dkk.

4 Literature

Students need to read the following chapter from the c programming language 2

[email protected] Page 2 of 29 Ruslan Trifonov

Page 11: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

4.1 Chapter 1 and Chapter 2

Students are to read and try out the program language on there own. It is important thatstudents go though it in advance so what we can save time in the classroom.

4.2 Link

Here are all the links for tutorials you will need during this course

4.2.1 Embedded C

https://www.linkedin.com/learning/c-programming-for-embedded-applications/memory?u=57075649

4.2.2 AVR

https://www.youtube.com/playlist?list=PLA6BB228B08B03EDD

4.2.3 C programming

https://www.linkedin.com/learning/learning-c-5/welcome?u=57075649 https://www.linkedin.com/learning/c-essential-training-1-the-basics/working-the-c-development-cycle?u=57075649

https://www.linkedin.com/learning/advanced-c-programming/welcome?u=57075649

4.2.4 C debugging

https://www.linkedin.com/learning/ethical-hacking-exploits/welcome?u=57075649

5 Week 06 ITT2 System Development

5.1 Goals of the week(s)

Input and output logics.

[email protected] Page 3 of 29 Ruslan Trifonov

Page 12: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

5.1.1 Practical goals

1. Understand input and output using buttons and LEDs.

2. Understand functional programming in C.

3. Understand if, case, for, while.

5.1.2 Learning goals

1. C programming.

2. GPIO input and output.

5.1.3 Programming Goals

1. Bitwise Operators

2. Arithmetics Operators

3. Arguments - Call by name

4. Arrays

5. Control Statements - IF, For, While

5.2 Deliverable

1. Create a reaction button to LED interface.

5.3 Schedule

See Time Edit

5.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

[email protected] Page 4 of 29 Ruslan Trifonov

Page 13: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

5.5 Literature

Students need to read the following chapter from the c programming language 2:

5.5.1 Chapter 2 and Chapter 3

Students are to read and try out the program language on there own. It is important thatstudents go though it in advance so what we can save time in the classroom.

6 Week 07 ITT2 System Development

Week 7 and Week 8 topics will be combined as they share a lot of similarities. We will go overthe two topics in one go and next week, repeat them as it is vital that this knowledge is solid.

6.1 Goals of the week(s)

Introduction to Interrupt service routines.

6.1.1 Practical goals

1. Internal and External interrupt implementation.

6.1.2 Learning goals

1. C programming.

2. Using interrupts both internal and external.

Programming Goals

1. Functions and declarations

2. Return value from function

3. Header files

4. Pointers

[email protected] Page 5 of 29 Ruslan Trifonov

Page 14: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

6.2 Deliverable

1. Drive inputs with interrupt.

2. Make LED react to interrupt.

3. Split software into headerfiles.

6.3 Schedule

See Time Edit

6.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

6.5 Comments

Students should keep reading and getting better at C programming. Remember to useLinkedin Learning

https://www.linkedin.com/learning/learning-c-5/welcome?u=57075649

https://www.linkedin.com/learning/c-essential-training-1-the-basics/start-your-c-essential-training?u=57075649

https://www.linkedin.com/learning/c-programming-for-embedded-applications/getting-started-in-embedded-systems?u=57075649

7 OLA21 - first attempt deadline end of week 8

Make sure you complete all of the points given in Goals for the week as this is your OLA21

8 Week 08 ITT2 System Development

Week 7 and Week 8 topics will be combined as they share a lot of similarities. We will go overthe two topics in one go and next week, repeat them as it is vital that this knowledge is solid.

[email protected] Page 6 of 29 Ruslan Trifonov

Page 15: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

8.1 Goals of the week(s)

Timers and timers again. Using timers create delay.

8.1.1 Practical goals

1. AVR timers.

2. AVR clocks.

3. PWM.

4. Controlling periferanls with PWM.

8.1.2 Learning goals

1. C programming.

2. PWM to motor control.

3. Timers to motor control.

8.2 Deliverable

1. Create a PWM application.

2. Create a timer application.

3. Both outputs need to control a motor drive bridge, test with an osciloscope.

8.3 Schedule

See Time Edit

8.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

[email protected] Page 7 of 29 Ruslan Trifonov

Page 16: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

8.5 Literature

Students need to read the following chapter from the c programming language 2:

8.5.1 Chapter 4 and Chapter 5

Students are to read and try out the program language on there own. It is important thatstudents go though it in advance so what we can save time in the classroom.

9 OLA21 - first attempt deadline end of week 8

This mandatory assignment is build around knowledge from previews week. Students shouldhad completed the assignment last week in class. The mandatory assignment is as givenbelow.

1. Using External Interrupts from a button, turn on a LED.

2. Using Internal interrupt release the LED after 2 seconds.

3. Deliver software in screen shots.

4. Deliver software diagram.

5. All deliverable are in PDF format and delivered on wiseflow. Email delivery is notaccepted.

10 Week 10

10.1 Goals of the week(s)

I am not in school for weeks 10 and 11. Students will have to work on topics given so far.

10.1.1 Practical goals

1. Students are expected to test interfacing LED, Buttons and H-bridges.

2. Students are expected that they will work with timers, and interrupts.

[email protected] Page 8 of 29 Ruslan Trifonov

Page 17: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

10.1.2 Learning goals

1. C programming.

2. AVR architecture.

10.2 Deliverable

1. Self learning.

10.3 Schedule

See Time Edit

10.4 Hands-on time

Students should try and cover their own needs and cover their missing knowledge.

10.5 Comments

11 Week 11

See week 10

12 Week 12 ITT2 System Development

12.1 Goals of the week(s)

UART communication, this is the most important communication mode that we will use. Atit is the key for communicating with other devices, for example the RPI and other atmegacontrollers.

[email protected] Page 9 of 29 Ruslan Trifonov

Page 18: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

12.1.1 Practical goals

Inventory of compoments - students are asked to know what they have in hand. 2. Settingup the way we will do the class - this will be a class discussion. 3. Presentation of UART -Communication between RPI and ATMEGA explain board.

12.1.2 Learning goals

1. Structre of work.

2. Work off site.

3. Project around IoT.

4. General knowledge around non TCP / IP network.

5. C programming, and Python.

6. UART Communication

12.2 Deliverable

1. Create a link between RPI and ATMEGA using UART.

2. Create a link between ATMEGA and ATMEGA.

12.3 Schedule

See Time Edit

12.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

[email protected] Page 10 of 29 Ruslan Trifonov

Page 19: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

12.5 Comments

13 Week 13 ITT2 System Development

13.1 Goals of the week(s)

Presentation of interfacing techniques and consideration. Project overview given to thestudents.

13.1.1 Practical goals

1. Tasks for the students.

• Implement sensor / push button on explain board. Connect a button to a GPIO.

• Implement LED for presed button. LED to GPIO, not a LED on the same GPIO as thebutton.

• Serial Communication from explain to RPI and back. Send button pressed command.

• Register Button presed on the RPI.

• User options for button to turn on and off other LED not - button connected LED. Restedbutton connected LED.

• Communication LED. Show status with blinking of communication is happening.

2. Using wifi connected the RPI to your network. Old software from first semester can bereused.

13.1.2 Learning goals

1. C programming.

2. General knowledge around non TCP / IP network.

3. Python sockets.

4. Inerfacing.

[email protected] Page 11 of 29 Ruslan Trifonov

Page 20: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

13.2 Deliverable

1. Create a link between RPI and ATMEGA using SPI.

2. Create a link between ATMEGA and ATMEGA.

13.3 Schedule

See Time Edit

13.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

13.5 Comments

This will be the last week that we will be using the ATMEGA mini board. From next week wewill be creating our own. Students need to have a programmer.

14 OLA21 - second attempt

The mandatory assignment is as given below.

1. Using SPI turn an LED on RPI.

2. SPI commend is comming from ATMEGA 328PB

3. Command is generated via a push button and using interrupts.

4. Deliver software diagram.

5. All deliverable are in PDF format and delivered on wiseflow. Email delivery is notaccepted.

[email protected] Page 12 of 29 Ruslan Trifonov

Page 21: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

15 Week 14 ITT2 System Development

15.1 Goals of the week(s)

PWM and ADC in ATMEGA - general presentation and interfacing

15.1.1 Practical goals

1. Learn detailed implemetation of PWM.

2. Learn detailed implemetation of ADC.

3. Recap on UART.

15.1.2 Learning goals

1. On cheap design.

15.2 Deliverable

1. Blink LED on students own desgin board via uarts.

2. Generat and control PWM via UART.

15.3 Schedule

See Time Edit

15.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

[email protected] Page 13 of 29 Ruslan Trifonov

Page 22: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

15.5 Comments

16 Week 15 ITT2 System Development and on words.

16.1 Goals of the week(s)

Presentation to students of UART and PWM solutions. Detail presentation and example vialive coding. As well as video directions in tutorial form.

16.1.1 Practical goals

1. A very in depth UART drivers.

2. In depth presentation of PWM.

16.1.2 Learning goals

1. Implementation of own communication driver

16.2 Deliverable

1. Communication driver user Serial / UART

16.3 Schedule

See Time Edit

16.4 Hands-on time

All hand-ins are in Gitlab. Students are expected to hand in their Deliverable.

17 COVID-19 ITT2 Information

The actuall lecture plan has been updatedd

[email protected] Page 14 of 29 Ruslan Trifonov

Page 23: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

18 Google Meet info

We will be using Google Meet for our hangout. The link is https://meet.google.com/

jom-faxi-xji

19 Project outline

Due to the lock down a smaller scale project will be implemented by the students. Week17 and Week 18 will be presentation Week with week 18 been the OLA21 second attempt.Below the goals of the project are outlined.

19.1 Practical goals

1. Tasks for the students.

• Implement sensor / push button on explain board. Connect a button to a GPIO.

• Implement LED for pressed button. LED to GPIO, not a LED on the same GPIO as thebutton.

• Serial Communication from explain to RPI and back. Send button pressed command.

• Register Button presed on the RPI.

• User options for button to turn on and off other LED not - button connected LED. Restedbutton connected LED.

• Communication LED. Show status with blinking of communication is happening.

2. Using wifi connected the RPI to your network.

3. Create a software on your workstation to control your RPI, TCP / IP shockets are agood start.

4. Control the explain board from your work station via the RPI as a gateway.

5. Record/Keep communication data in a databases for example firebase.

6. Students can refer to the images below for a system overview.

7. Those are the minimum requirements. Students are encouraged to add more to theproject. They can take in from other classes and specialization. In order to raisecomplexity.

[email protected] Page 15 of 29 Ruslan Trifonov

Page 24: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

19.2 Learning goals

All the above points are the plan while we are under COVID - 19 lock down. Not only thegoals for one day :-)

19.2.1 Learning goals

1. Structre of work.

2. Work off site.

3. Project around IoT.

4. General knowledge around non TCP / IP network.

5. C programming, and Python.

19.3 Set up

As agreed with the students on the 29th of February the project outline is been updated. Theproject will have steps and various levels to accommodate variate of level. The level andoutline needs / goals are given below.

1. All students will build an simple sensory systems. Based on ATMEGA and usingembedded C. The micro processor will be interfaced with Analog input, sensor, andcontrolling a motor via an H-Bridge using PWM. The ATMEGA will communicate usingUART or SPI with a RPI and data will be presented using NODE RED. Allocated time is2 weeks / two working days for students with confidence, or 5 weeks/ 5 working daysfor students that feel that they need to build competences.

2. All students that complete the first point. Will build and SPI network with 3 boards /ATMEGA processors. The network will be using a master to communicate with RPI anddata will be shown again in NODE RED. The sensors from part one will be distributed.One will control the motor, one will have button/sensor, and one will have the analoginput.

3. Students that have completed the SPI network will move to implement the same, usingeither WiFi or Zigbee boards. Students are expected to buy the antenna boards. This isthe project that RUTR will be focusing on and will be working from day 1. Students areadvised to reach this step as soon as possible.

Students as expected to work each time and possible put extra hours to reach their goals.Students will receive support in class and there will be three student helpers to ask directly:

[email protected] Page 16 of 29 Ruslan Trifonov

Page 25: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

• Alexander With

• Nicolai Skytte

• Anton Mitkov Kamenov.

Students are asked to be active and to give feedback on this process and project as it is atask in a format not tried before. This is high risk leaning project as we can easily end upwithout a final working project - and it is not expected from all the students. The main goalsare, learning and been active! Completing task 2 will guaranty knowledge sufficient for agood result in the final exam.

20 Links to google meet

20.1 day 1

outline system overview, compoments, system video1

uart/servial video2

20.2 day 2

some extra from day 1 that we talked about the second day video3

system over view, serial, embedded design video4

20.3 day 3

PWM and Theory video5

20.3.1 PWM video

I will be uploading a video tutorial on PWM with AVR.

1https://drive.google.com/open?id=16a-v7cpp6wjhWBhLkXRnLWTwRX4BI5c_2https://drive.google.com/open?id=1tjE3t0dV6fG2qGKKdsWtUlVs1SWCjVaZ3https://drive.google.com/open?id=1sdIyjYCzK0DcfB0x3-Z9P7_Yhep7JerI4https://drive.google.com/open?id=1ICLdhkXQicaq7OJvppBsvdRNtLDALNJ85https://drive.google.com/open?id=1fA27LLYkA__gsPItvj0_CtnI8dmXGmBd

[email protected] Page 17 of 29 Ruslan Trifonov

Page 26: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

20.3.2 Serial controlled PWM

I will be making a video tutorial on serially controlling a pwm

20.4 Video examples

Here is a video example from Anton6. The video shows a system control via and interface,user based, application. You can ask him directly of all the issues.

20.5 Video tutorial

Here are two video tutorials one for pwm7 and one for uart8. Please keep in mind two thingsthe sound is horrible. I tested two microphones in both video, but there is too much echoand bad sounds due to where I sit. Second there are other noises in the background, kidsbanging on the doors, ect. I found out that lowering the volume and play the video on a bithigher speed solves some of the worst issues.

6https://www.youtube.com/watch?time_continue=209&v=EBPJogWP1_E&feature=emb_logo7https://drive.google.com/open?id=1QrOJHDMqtugbkYKOSZD_Uw6DAQtJei4P8https://drive.google.com/open?id=14v9-sO0mXMs4kQvsOqUNcBWUn8EvwrNZ

[email protected] Page 18 of 29 Ruslan Trifonov

Page 27: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

21 Pictues Diagrams and drawings

Figure 1: AMA vs ACM

[email protected] Page 19 of 29 Ruslan Trifonov

Page 28: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Figure 2: System Overview

Figure 3: System simple

[email protected] Page 20 of 29 Ruslan Trifonov

Page 29: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Figure 4: Serial with and without level shifter

Figure 5: Serial Simple USB plug and play

[email protected] Page 21 of 29 Ruslan Trifonov

Page 30: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Figure 6: Overview transistor as switch

Figure 7: Transistor as switch comlpex

[email protected] Page 22 of 29 Ruslan Trifonov

Page 31: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Figure 8: Overview ADC

Figure 9: PWM theory 1

[email protected] Page 23 of 29 Ruslan Trifonov

Page 32: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Figure 10: PWM theory 2

22 Google Meet info

We will be using Google Meet for our hangout. The link is: meet.google.com/jom-faxi-xji

22.1 Goals of the week(s)

We will have a look again at your work, students need to present their work. Via sharing theirscreen. And they can receive feedback from the class. There is no - you should have workedor any other kind of critic. Students receive the help they need.

22.2 Practical goals

1. RUTR shows a UART trick.

2. Students present what they have done or not done, and everyone helps.

[email protected] Page 24 of 29 Ruslan Trifonov

Page 33: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

22.3 Learning goals

1. Leaning to present our work online.

2. Structure and feedback.

22.4 Deliverable

1. Student presentation.

22.5 Schedule

See Time Edit

22.6 Hands-on time

Non

22.7 Link

list usb devices linux: https://linuxhint.com/list-usb-devices-linux/ https://www.tecmint.com/find-usb-device-name-in-linux/

23 Google Meet info

We will be using Google Meet for our hangout. The link is: meet.google.com/jom-faxi-xji

23.1 Goals of the week(s)

We will have a guest lecturer with many years of practical expirience in software design andembedded programming

[email protected] Page 25 of 29 Ruslan Trifonov

Page 34: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

23.2 Practical goals

1. Listen to a guest lecturer.

23.3 Learning goals

1. Real life development and practical work.

23.4 Deliverable

1. Student presentation.

23.5 Schedule

See Time Edit

23.6 Hands-on time

Non

24 Google Meet info

We will be using Google Meet for our hangout. The link is: meet.google.com/jom-faxi-xji

24.1 Goals of the week(s)

We will have a look again at your work, students need to present their work. Via sharing theirscreen. And they can receive feedback from the class. There is no - you should have workedor any other kind of critic. Students receive the help they need.

[email protected] Page 26 of 29 Ruslan Trifonov

Page 35: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

24.2 Practical goals

1. RUTR shows a the magic of diagrams. Using UML and other tools.

2. Students present what they have done or not done, and everyone helps.

24.3 Learning goals

1. Leaning to present our work online.

2. Structure and feedback.

24.4 Deliverable

1. Student presentation.

24.5 Schedule

See Time Edit

24.6 Hands-on time

None

24.7 Links to Material

https://drive.google.com/open?id=1URmtfL8Zr2P4A2K3C3wAYYROylISLRpC

25 Google Meet info

We will be using Zoom. Details are given below.

Join ZOOM Meeting: https://ucldk.zoom.us/j/5132567923?pwd=RXowTmtVRnNoUFhpMWV2akFiOFBlZz09

Join by phone: Dial: +45 32 72 80 10

[email protected] Page 27 of 29 Ruslan Trifonov

Page 36: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

Meeting ID: 513 256 7923 Password :938971

Note, you will need to log in to Zoom. In order to join the meeting. Login is done with yourUCL account. See https://ucl-lte.screenstepslive.com/s/22472/m/93800 for details.

25.1 Goals of the week(s)

We will have a look again at your work, students need to present their work. Via sharing theirscreen. And they can receive feedback from the class. There is no - you should have workedor any other kind of critic. Students receive the help they need.

25.2 Practical goals

1. RUTR shows a the magic of diagrams. Using UML and other tools.

2. Students present what they have done or not done, and everyone helps.

25.3 Learning goals

1. Leaning to present our work online.

2. Structure and feedback.

25.4 Deliverable

1. Student presentation.

25.5 Schedule

See Time Edit

25.6 Hands-on time

None

[email protected] Page 28 of 29 Ruslan Trifonov

Page 37: 20S ITT2 System Development - UCL ITT · 2020–05–19 20S ITT2 system development, weekly plans 5.5 Literature Students need to read the following chapter from the c programming

2020–05–19 20S ITT2 system development, weekly plans

25.7 Links to Material

I will be posting a link most likely in google drive, with the recording of our session. If needed.

26 Additional resources

None at this time

[email protected] Page 29 of 29 Ruslan Trifonov