====== Lectures ====== ===== 1. Introduction ===== * Topics: Computer organization, representation of numbers * Slides: {{ :courses:be2m37mam:lectures:mam-lec01.pdf |pdf}} (to be updated) ===== 2. Python basics ===== * Link: [[courses:be2m37mam:labs:00|Python basics]] ===== 3. Raspbery Pi Pico ===== * Topics: Raspbery Pi Pico, RP2040, MicroPython * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-03.pdf|pdf}} * Recording: [[https://drive.google.com/file/d/10OmfZZRuuv0mtuVntrgrqLwaBNvlpr8V/view?usp=drive_link|video]] ===== 4. Serial communication buses ===== * Topics: UART, SPI, I2C. * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-04.pdf |pdf}}, {{ :courses:be2m37mam:lectures:mam8_enua.pdf |older slides (informative)}} * Recording: [[https://drive.google.com/file/d/1cw0wUfjzwh2MbgXw4x0g3TkXoFj96VRi/view?usp=drive_link|video]] * Simulations: [[https://wokwi.com/projects/380861562197134337|SPI]], [[https://wokwi.com/projects/380908961802689537|I2C]] ===== 5. Internal and external peripheries ===== * Topics: timers, keypad, display * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-05.pdf |pdf}} * Simulations: [[https://wokwi.com/projects/381544990093713409|PWM]], [[https://wokwi.com/projects/381456134544490497|keypad]], [[https://wokwi.com/projects/381546275133217793|display]] * **Task 1** * combine the display and keypad so that the display shows the number pressed on the keypad. * advanced version: cooker clock - select number 1-9 on keypad, press ''#'' and display will count time in minutes down to 0 ===== 6. Low level access to registers ===== * Simulations: [[https://wokwi.com/projects/382190457316202497|snake (bit operations)]], [[https://wokwi.com/projects/382107961854193665|7 segment display using 74hc595]] ([[https://peppe8o.com/how-to-use-74hc595-shift-register-with-raspberry-pi-pico-and-micropython/|website with explanation]]) * Recording: [[https://drive.google.com/file/d/1hq2umx8T4mDyvCdMW4qtMwWHlFfnc_x6/view?usp=drive_link|video]] * **Task 2** * Use shift registers 74hc595 to control more that one 7-segment display. * Ideas: [[https://www.geeetech.com/wiki/index.php/Arduino_7_segment_LED_timer_with_74HC595_module|1]], [[https://forum.arduino.cc/t/digit-brightness-issue-7-segment-4-digit-display-2-x-74hc595/658032|2]] ===== 7. Multiprocessing, threads ===== * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-07.pdf |pdf}} * Lab: [[courses:be2m37mam:labs:07|Lab 07]] ===== 8. Concurent programming ===== * Simulation: [[https://wokwi.com/projects/384081414003419137|uasyncio]] * Recording: [[https://drive.google.com/file/d/1wId7_YWfD2K-zhqaUPAe4WVwxqw78IBl/view?usp=drive_link|video]] * Lab: [[courses:be2m37mam:labs:08|Lab 08]] ===== 9. Programmable Input/Output ===== * Recording: [[https://drive.google.com/file/d/1vf5YpDOFOIKvViWR28p7DzShtxSx6g6e/view?usp=drive_link|video]] * Lab: [[courses:be2m37mam:labs:09|Lab 09]]