Exercise 1*

Convert libmaple example TM1638_ex1.cpp to work on STMF0xx board using libopencm3. You need to add initialization, like in F0 examples and replace routines from libmaple library like digitalWrite and shiftOut by direct port access. Note: you will need to add delay between ports accesses because direct port access is much faster than digitalWrite and the TM1638 chip has limited speed.

Exercise 2

Perform a little psychological experiment: create a program that repeatedy chooses random delay and then turns on two LED-s, such that one is on later with the given delay. Print the delay (and which LED was later) via serial port. Check for which delays you can see which LED was first on.

Exercise 3

Write a program that measures how fast user can insert and remove obstacle from photo interrupter. Print results (average, min maybe also max) on a character LCD. Remark: This is variant of tests used by psychologist to assess correct functioning of nervous system (inability to keep certain minimal speed indicates problems with nervous system).