]> kolegite.com Git - vmks.git/commitdiff
Upload lesson plans 1,2,6,7
authorIvan Stefanov <istefanov@elsys-bg.org>
Fri, 29 Oct 2021 23:47:36 +0000 (02:47 +0300)
committerIvan Stefanov <istefanov@elsys-bg.org>
Fri, 29 Oct 2021 23:47:36 +0000 (02:47 +0300)
New Lesson plans in markdown with provided template. Remove old text plans.

Lesson_Plans/Lesson1.txt [deleted file]
Lesson_Plans/Lesson2.txt [deleted file]
Lesson_Plans/Lesson6.txt [deleted file]
Lesson_Plans/Lesson7.md [deleted file]
Lesson_Plans/Lesson7.txt [deleted file]
Lesson_Plans/Lesson_1.md [new file with mode: 0644]
Lesson_Plans/Lesson_2.md [new file with mode: 0644]
Lesson_Plans/Lesson_6.md [new file with mode: 0644]
Lesson_Plans/Lesson_7.md [new file with mode: 0644]
Lesson_Plans/Lesson_Template.md [new file with mode: 0644]

diff --git a/Lesson_Plans/Lesson1.txt b/Lesson_Plans/Lesson1.txt
deleted file mode 100644 (file)
index 800d6ed..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- Тема 1 ---
-
-Как ще протичат часовете по ПВМКС
-Как ще се оформят оценките
-Какви учебни материали ще се използват
-
-Какво е ВМКС
-Документация на ATMega328P (https://gitlab.com/tues-embedded/vmks/-/blob/master/Datasheets/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf)
-Преговор на управление на цифрови входове и изходи
-Как работят портовете на микроконтролера
-Разглеждане на вътрешна схема на извод от порт (страница 59, фигура 13-2 от документацията на микроконтролера)
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson2.txt b/Lesson_Plans/Lesson2.txt
deleted file mode 100644 (file)
index ac8afc5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
---- Тема 2 ---
-
-Какво е аналогов/цифров сигнал
-(https://www.embedded.com/introduction-to-pulse-width-modulation/)
-Какво е непрекъснат/прекъснат(дискретен) сигнал
-Теорема на Найкуист
-(https://www.youtube.com/watch?v=HicZcgdGxZY)
-
-Резисторен делител/суматор на напрежение
-Сравнител
-
-DAC
-  R-2R (https://www.youtube.com/watch?v=Pc1aFloxSMw)
-  Binary weighted (https://www.youtube.com/watch?v=PoOm_G4s1dE)
-
-Observed vs Input Frequency
-Aliasing and Oversampling
-(https://www.youtube.com/watch?v=91PKZllbgds&list=PLbqhA-NKGP6B6V_AiS-jbvSzdd7nbwwCw&index=4)
-
-ADC
-  Parallel (https://www.youtube.com/watch?v=NASkjo7s8f4)
-  Counter (https://www.youtube.com/watch?v=4zwtA2pG6Vc)
-  Successive Approximation (https://www.youtube.com/watch?v=h0CGtr4SC9s)
-  Pipeline (https://www.youtube.com/watch?v=5nNKRLQ0WCE)
-  Sigma Delta[още се нарича Charge Balancing ADC] (https://www.youtube.com/watch?v=NrkFd7h6R2Y)
-
-За който му е интересно може да разгледа тези линкове има добри обяснения на нещата
-и има допълнителни неща за който му е интересно да научи повече за обработката на сигнали:
-
-ADC серия:
-  https://www.youtube.com/watch?v=Sh4pI_kBNkk ==> основни параметри и няколко вида АЦП 
-  https://www.youtube.com/watch?v=AnZh-6Lp7wc ==> dual-slope и delta-sigma
-  https://www.youtube.com/watch?v=x7oPVWLD59Y ==> sigma-delta и намаляване на шума
-Tracking ADC (https://www.youtube.com/watch?v=MMQwa416Cmo)
-Slope ADC - Single/Dual (https://www.youtube.com/watch?v=2gF_nfaBV_0)
-Multi-Slope ADC (в интернет има информация за него но няма читаво видео по темата)
-Грешки в АЦП => https://www.youtube.com/watch?v=G7jkCyGipc8
-Нелинейност в АЦП => https://www.youtube.com/watch?v=TTO35V3XgiU
-Dithering / Noise Shaping (7,8,9) и обща информация => https://www.youtube.com/playlist?list=PLbqhA-NKGP6B6V_AiS-jbvSzdd7nbwwCw
-Тук има много неща който може да са ви полезни => https://www.youtube.com/c/ALLABOUTELECTRONICS/videos
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson6.txt b/Lesson_Plans/Lesson6.txt
deleted file mode 100644 (file)
index ed5b03e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
---- Тема 6 ---
-
-Преговор
-       Ядро
-       Регистри на ядрото
-       Задача мигащ светодиод с регистри - GitLab Repo -> Examples/Register_Blink
-       Прекъсвания теория
-       Външни прекъсвания (https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/)
-       Задача бутон да сменя състоянието на светодиод - GitLab Repo -> Examples/
-               Реално приложение (веднага сменя състоянието на светодиода но извежда съобщение когато успее) -> External_interrupt
-               Прост пример за toggle на светодиод с бутон -> EXTI_Demo
-               Пример за toggle на светодиод с бутон (като EXTI_Demo но само с регистри) -> EXTI0_Register_Demo
-RTuinoOS пример за context switching (https://github.com/PeterVranken/RTuinOS)
-FreeRTOS пример за реална програма (мигащ светодиод и четене на потенциометър)
-Таймери
-       Какво представляват
-       Как работят
-
-Допълнително:
-Как се използва ШИМ сигнал с analogWrite -> https://www.arduino.cc/en/Tutorial/Foundations/PWM
-Разликата между проене нагоре/надолу/двете -> https://www.mathworks.com/help/physmod/sps/ref/pwmgenerator.html
-Тук има документация за delay функциите(и не само) който са от самия пакет библиотеки на компилатора (avr-gcc)
-       -> https://www.nongnu.org/avr-libc/user-manual/group__util__delay.html
-
-
-Всяка ардуино програма има:
-
-//#include "Arduino.h"
-
-/*
-void main()
-{
-  init();
-  setup();
-  
-  while(1)
-  {
-    loop();
-    checkUART();
-  }
-}
-*/
-
-Тези файлове може да намерите и разгледате в GitLab в папка Other Useful Files
-или направо от файловете на вашия компютър (пътищата са примерни за Windows x64 за Linux вижте в интернет къде са):
-..\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino
-..\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\cores\arduino
-
-
-/*
-void _delay_ms(uint16_t i)
-{
-    i *= 4000;
-  for(; i > 0 ; i++){}
-}
-*/
-
-Това което ви показах в час (горното) беше опростен пример за delay() функцията показващ как тя работи,
-а истинските функции за изчакване може да намерите във файлове delay.h и delay_basic.h
-(разликата е че са частично на асемблер и има сметки за броя цикли така че да може да подавате променливи)
-в директория на Arduino IDE-то (пътищата са примерни за Windows x64 за Linux вижте в интернет къде са):
-..\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\util
-..\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\util
-..\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\util
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson7.md b/Lesson_Plans/Lesson7.md
deleted file mode 100644 (file)
index 3e6a24c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# --- Тема 7 ---
-
-## План на часа
-- Напомняне за примерите в GitLab и плановете от часовете който качвам там
-- Таймери  
-       * Как работи таймера (разглеждане на блоковата схема на Timer/Counter 1)
-       * Режими на работа (За какво се използват)
-       * Настройка (избор на режим, задаване на режима чрез запис в регистрите и изчисляване на параметри)
-       * Примерни задачи
-               1. мигащ светодиод - Mode 14 Fast PWM 2Hz 25%
-               2. мигащ светодиод - Mode 14 Fast PWM 2Hz 80%
-               3. мигащ светодиод - Mode 14 Fast PWM 10kHz 25%
-
-С 12Б клас също направихме демонстрация на получения 10kHz сигнал на осцилоскоп и логически анализатор и сравнихме заданието с получените параметри на сигнала. 12А може да го видите в последните 10-15мин на записа от часа с 12Б клас на 29.10.2021.
-
------
-
-### Допълнително:
-
-Тук е обяснен как работи CTC режима който ние няма да използваме, но голяма част от обясненията и най-вече примерния код с който се подкарва таймера са много близки до това което правим в час и ако го разгледате няма да навреди:
-https://maxembedded.com/2011/07/avr-timers-ctc-mode/
-Тук има малко повече информация за Prescaler-а ако някой го интересува по-подробно:
-https://onlinedocs.microchip.com/pr/GUID-93DE33AC-A8E1-4DD9-BDA3-C76C7CB80969-en-US-2/index.html?GUID-669CCBF6-D4FD-4E1D-AF92-62E9914559AA
-
-Това са онлайн калкулатори за изчисляване на стойностите в регистрите и други параметри:  
-(https://eleccelerator.com/avr-timer-calculator/) (това е калкулатора който исках да ви покажа)  
-https://www.easycalculation.com/engineering/electrical/avr-timer-calculator.php  
-https://weirdloop.com/2019/07/11/avr-timer-calculator/  
-https://www.arduinoslovakia.eu/application/timer-calculator  
-https://timer-interrupt-calculator.simsso.de/  
-https://sayanseth.github.io/AVR-Clock-Calculator/  
-https://www.mikroe.com/timer-calculator  
-(на последния линк долу има и разни други интересни програмки,
-като например за рисуване на символи за custom LCD fonts)
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson7.txt b/Lesson_Plans/Lesson7.txt
deleted file mode 100644 (file)
index 94462c7..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#--- Тема 7 ---
-
-## План на часа
-Напомняне за примерите в GitLab и плановете от часовете който качвам там
-Таймери
-       Как работи таймера (разглеждане на блоковата схема на Timer/Counter 1)
-       Режими на работа (За какво се използват)
-       Настройка (избор на режим, задаване на режима чрез запис в регистрите и изчисляване на параметри)
-       Примерни задачи
-               - мигащ светодиод - Mode 14 Fast PWM 2Hz 25%
-               - мигащ светодиод - Mode 14 Fast PWM 2Hz 80%
-               - мигащ светодиод - Mode 14 Fast PWM 10kHz 25%
-
-С 12Б клас също(12А може да го видите в последните 10-15мин на записа от часа с 12Б клас на 29.10.2021):
-Демонстрация на получения 10kHz сигнал на осцилоскоп и логически анализатор
-Сравняване на заданието с получените параметри на сигнала
-
-### Допълнително:
-Тук е обяснен как работи CTC режима който ние няма да използваме, но голяма част от обясненията и най-вече примерния код с който се подкарва таймера са много близки до това което правим в час и ако го разгледате няма да навреди:
-https://maxembedded.com/2011/07/avr-timers-ctc-mode/
-https://onlinedocs.microchip.com/pr/GUID-93DE33AC-A8E1-4DD9-BDA3-C76C7CB80969-en-US-2/index.html?GUID-669CCBF6-D4FD-4E1D-AF92-62E9914559AA
-(тук пише как работи Prescaler-а ако някой го интересува по-подробно)
-
-Timer Calculators Online:
-https://eleccelerator.com/avr-timer-calculator/        (това е калкулатора който исках да ви покажа)
-https://www.easycalculation.com/engineering/electrical/avr-timer-calculator.php
-https://weirdloop.com/2019/07/11/avr-timer-calculator/
-https://www.arduinoslovakia.eu/application/timer-calculator
-https://timer-interrupt-calculator.simsso.de/
-https://sayanseth.github.io/AVR-Clock-Calculator/
-https://www.mikroe.com/timer-calculator
-(на последния линк долу има и разни други интересни програмки,
-като например за рисуване на символи за custom LCD fonts)
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson_1.md b/Lesson_Plans/Lesson_1.md
new file mode 100644 (file)
index 0000000..bcdb2e7
--- /dev/null
@@ -0,0 +1,17 @@
+# --- Тема 1 ---
+
+## План на часа
+- Как ще протичат часовете по ПВМКС
+- Как ще се оформят оценките
+- Какви учебни материали ще се използват
+- Какво е ВМКС
+- [Документация на ATMega328P](https://gitlab.com/tues-embedded/vmks/-/blob/master/Datasheets/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf)
+- Преговор на управление на цифрови входове и изходи
+- Как работят портовете на микроконтролера
+- Разглеждане на вътрешна схема на извод от порт (страница 59, фигура 13-2 от документацията на микроконтролера)
+
+-----
+
+### Допълнително:
+
+[ВМКС Хранилище в GitLab](https://gitlab.com/tues-embedded/vmks)
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson_2.md b/Lesson_Plans/Lesson_2.md
new file mode 100644 (file)
index 0000000..a64d213
--- /dev/null
@@ -0,0 +1,42 @@
+# --- Тема 2 ---
+
+## План на часа
+- [Какво е аналогов/цифров сигнал](https://www.embedded.com/introduction-to-pulse-width-modulation/)
+- Какво е непрекъснат/прекъснат(дискретен) сигнал
+- [Теорема на Найкуист](https://www.youtube.com/watch?v=HicZcgdGxZY)
+
+- Резисторен делител/суматор на напрежение
+- Сравнител
+- Цифрово-Аналогов Преобразувател ЦАП (Digital to Analog Converter DAC)
+       * [R-2R](https://www.youtube.com/watch?v=Pc1aFloxSMw)
+       * [Binary weighted](https://www.youtube.com/watch?v=PoOm_G4s1dE)
+
+- Observed vs Input Frequency
+- [Aliasing and Oversampling](https://www.youtube.com/watch?v=91PKZllbgds&list=PLbqhA-NKGP6B6V_AiS-jbvSzdd7nbwwCw&index=4)
+
+- Аналогово-Цифров Преобразувател АЦП (Analog to Digital Converter ADC)
+       * [Parallel](https://www.youtube.com/watch?v=NASkjo7s8f4)
+       * [Counter](https://www.youtube.com/watch?v=4zwtA2pG6Vc)
+       * [Successive Approximation](https://www.youtube.com/watch?v=h0CGtr4SC9s)
+       * [Pipeline](https://www.youtube.com/watch?v=5nNKRLQ0WCE)
+       * [Sigma Delta(още се нарича Charge Balancing ADC)](https://www.youtube.com/watch?v=NrkFd7h6R2Y)
+
+
+Бележки
+
+-----
+
+### Допълнително:
+За който му е интересно може да разгледа тези линкове има добри обяснения на нещата и има допълнителни неща за който му е интересно да научи повече за обработката на сигнали:
+
+ADC серия:
+  https://www.youtube.com/watch?v=Sh4pI_kBNkk ==> основни параметри и няколко вида АЦП 
+  https://www.youtube.com/watch?v=AnZh-6Lp7wc ==> dual-slope и delta-sigma
+  https://www.youtube.com/watch?v=x7oPVWLD59Y ==> sigma-delta и намаляване на шума
+[Tracking ADC](https://www.youtube.com/watch?v=MMQwa416Cmo)
+[Slope ADC - Single/Dual](https://www.youtube.com/watch?v=2gF_nfaBV_0)
+[Multi-Slope ADC](в интернет има информация за него но няма читаво видео по темата)
+[Грешки в АЦП](https://www.youtube.com/watch?v=G7jkCyGipc8)
+[Нелинейност в АЦП](https://www.youtube.com/watch?v=TTO35V3XgiU)
+Dithering / Noise Shaping (7,8,9) и обща информация => https://www.youtube.com/playlist?list=PLbqhA-NKGP6B6V_AiS-jbvSzdd7nbwwCw
+Тук има много неща който може да са ви полезни => https://www.youtube.com/c/ALLABOUTELECTRONICS/videos
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson_6.md b/Lesson_Plans/Lesson_6.md
new file mode 100644 (file)
index 0000000..c916702
--- /dev/null
@@ -0,0 +1,67 @@
+# --- Тема 6 ---
+
+## План на часа
+- Преговор
+       * Ядро
+       * Регистри на ядрото
+       * Задача мигащ светодиод с регистри - GitLab Repo -> Examples/Register_Blink
+       * Прекъсвания теория
+       * [Външни прекъсвания](https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/)
+       * Задача бутон да сменя състоянието на светодиод - GitLab Repo -> Examples/
+               - Реално приложение (веднага сменя състоянието на светодиода но извежда съобщение когато успее) -> External_interrupt
+               - Прост пример за toggle на светодиод с бутон -> EXTI_Demo
+               - Пример за toggle на светодиод с бутон (като EXTI_Demo но само с регистри) -> EXTI0_Register_Demo
+- RTuinoOS пример за context switching (https://github.com/PeterVranken/RTuinOS)
+- FreeRTOS пример за реална програма (мигащ светодиод и четене на потенциометър)
+- Таймери
+       * Какво представляват
+       * Как работят
+
+Бележки
+
+-----
+
+### Допълнително:
+Как се използва ШИМ сигнал с analogWrite -> https://www.arduino.cc/en/Tutorial/Foundations/PWM
+Разликата между проене нагоре/надолу/двете -> https://www.mathworks.com/help/physmod/sps/ref/pwmgenerator.html
+Тук има документация за delay функциите(и не само) който са от самия пакет библиотеки на компилатора (avr-gcc)
+       -> https://www.nongnu.org/avr-libc/user-manual/group__util__delay.html
+
+
+Всяка ардуино програма има `main.c` файл в който опростено изглежда така:
+```C++
+#include "Arduino.h"
+
+
+void main()
+{
+  init();
+  setup();
+  
+  while(1)
+  {
+    loop();
+    checkUART();
+  }
+}
+```
+
+Тези файлове може да намерите и разгледате в GitLab в папка Other Useful Files
+или направо от файловете на вашия компютър (пътищата са примерни за Windows x64 за Linux вижте в интернет къде са):
+`..\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino`
+`..\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\cores\arduino`
+
+
+```C++
+void _delay_ms(uint16_t i)
+{
+    i *= 4000;
+  for(; i > 0 ; i++){}
+}
+```
+
+Това което ви показах в час (горното) беше опростен пример за `delay()` функцията показващ как тя работи, а истинските функции за изчакване може да намерите във файлове `delay.h` и `delay_basic.h` в директория на Arduino IDE-то (пътищата са примерни за Windows x64, за Linux вижте в интернет къде са):
+`..\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\util`
+`..\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\util`
+`..\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\util`
+Разликата е че са частично на асемблер и има сметки за броя цикли, така че да може да подавате променливи.
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson_7.md b/Lesson_Plans/Lesson_7.md
new file mode 100644 (file)
index 0000000..3e6a24c
--- /dev/null
@@ -0,0 +1,34 @@
+# --- Тема 7 ---
+
+## План на часа
+- Напомняне за примерите в GitLab и плановете от часовете който качвам там
+- Таймери  
+       * Как работи таймера (разглеждане на блоковата схема на Timer/Counter 1)
+       * Режими на работа (За какво се използват)
+       * Настройка (избор на режим, задаване на режима чрез запис в регистрите и изчисляване на параметри)
+       * Примерни задачи
+               1. мигащ светодиод - Mode 14 Fast PWM 2Hz 25%
+               2. мигащ светодиод - Mode 14 Fast PWM 2Hz 80%
+               3. мигащ светодиод - Mode 14 Fast PWM 10kHz 25%
+
+С 12Б клас също направихме демонстрация на получения 10kHz сигнал на осцилоскоп и логически анализатор и сравнихме заданието с получените параметри на сигнала. 12А може да го видите в последните 10-15мин на записа от часа с 12Б клас на 29.10.2021.
+
+-----
+
+### Допълнително:
+
+Тук е обяснен как работи CTC режима който ние няма да използваме, но голяма част от обясненията и най-вече примерния код с който се подкарва таймера са много близки до това което правим в час и ако го разгледате няма да навреди:
+https://maxembedded.com/2011/07/avr-timers-ctc-mode/
+Тук има малко повече информация за Prescaler-а ако някой го интересува по-подробно:
+https://onlinedocs.microchip.com/pr/GUID-93DE33AC-A8E1-4DD9-BDA3-C76C7CB80969-en-US-2/index.html?GUID-669CCBF6-D4FD-4E1D-AF92-62E9914559AA
+
+Това са онлайн калкулатори за изчисляване на стойностите в регистрите и други параметри:  
+(https://eleccelerator.com/avr-timer-calculator/) (това е калкулатора който исках да ви покажа)  
+https://www.easycalculation.com/engineering/electrical/avr-timer-calculator.php  
+https://weirdloop.com/2019/07/11/avr-timer-calculator/  
+https://www.arduinoslovakia.eu/application/timer-calculator  
+https://timer-interrupt-calculator.simsso.de/  
+https://sayanseth.github.io/AVR-Clock-Calculator/  
+https://www.mikroe.com/timer-calculator  
+(на последния линк долу има и разни други интересни програмки,
+като например за рисуване на символи за custom LCD fonts)
\ No newline at end of file
diff --git a/Lesson_Plans/Lesson_Template.md b/Lesson_Plans/Lesson_Template.md
new file mode 100644 (file)
index 0000000..9a884bb
--- /dev/null
@@ -0,0 +1,23 @@
+# --- Тема X ---
+
+## План на часа
+- Преговор...
+- Тема 2  
+       * подтеми
+       * Примерни задачи
+               1. задача
+
+Бележки
+
+-----
+
+### Допълнително:
+
+[Някакъв линк](gitlab.com)
+
+директория `\Program Files (x86)\...`
+
+```C++
+       // Some code
+```
+