AplTVY3: Porovnání verzí

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
 
(Není zobrazeno 128 mezilehlých verzí od stejného uživatele.)
Řádek 2: Řádek 2:


{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''TP od roku 2016'''''
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Tématický plán'''''
|-
|-
|
|
# - BOZP – řády odborných učeben
T0 - BOZP – řády odborných učeben
# – Popis vývoje mikropočítačové aplikace  
T1 – Popis vývoje mikropočítačové aplikace  
# – V/v brány, jejich vlastnosti a využití
T2 – V/v brány, jejich vlastnosti a využití
# – Tvorba programu pro výstupní moduly
T3 – Tvorba programu pro výstupní moduly
# – Vývoj mikroprocesorové aplikace – LED
T4 – Vývoj mikroprocesorové aplikace – LED
# – Časové zpoždění
T5 – Časové zpoždění
# – Vstupní moduly – tvorba programu pro vstupní moduly
T6 – Vstupní moduly – tvorba programu pro vstupní moduly
# – Vývoj mikroprocesorové aplikace – test vstupů
T7 – Vývoj mikroprocesorové aplikace – test vstupů
# – Programování aplikace
T8 – Programování aplikace
# – Naprogramování mikropočítače
T9 – Naprogramování mikropočítače
# – Vývoj mikroprocesorové aplikace – čidlo světla
T10 – Vývoj mikroprocesorové aplikace – čidlo světla
# – Vývoj mikroprocesorové aplikace – 7 segment
T11 – Vývoj mikroprocesorové aplikace – 7 segment
# – Vývoj mikroprocesorové aplikace – motory
T12 – Vývoj mikroprocesorové aplikace – motory
# – Vývoj mikroprocesorové aplikace – čidlo teploty
T13 – Vývoj mikroprocesorové aplikace – čidlo teploty
# - T17 - Opakování
T14 - Opakování
 
[[Soubor:PovinnaPrace_NavrhMIT_aplikace.png|150px|link=PP_-_Návrh_MIT_aplikace]]
 
[[Soubor:PovinnaPrace_VyvojMIT_aplikace.png|50px|link=Vývoj MIT aplikace]]
|}
|}


{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''TP do roku 2016'''''
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Otázky k opakování'''''
|-
|-
|
|
* T1 - BOZP – řády odborných učeben
# - Nakreslete vývojový diagram pro log. funkce NOT, AND, OR, XOR
** 1. pomoc [http://goo.gl/wABr1c Instruktážní video resuscitace ] z odkazem ze stránek [http://www.resuscitace.cz/%20%20 http://www.resuscitace.cz/] 
# - Nakreslete vývojový diagram pro log. funkci n=3 y = 1 pro i = {1,3,6,7 (4)}
** [[Soubor:Icon-youtube.gif]] [https://www.youtube.com/watch?v=LIOjlbZgyeg Resuscitace dospělých]
# - Nakreslete vývojový diagram pro log. funkci n=4 y = 1 pro i = {1,2,5,6,12,13 (4,11,15)}
**  Náplň činnosti v školním roce  (představa o jednotlivých odděleních )
# - Naprogramujte MCU pro blikání LED (blikačka)
** Povinné práce, klasifikace v předmětu
# - Naprogramujte MCU pro ovládání akustického měniče (bzučák)
** [[SOČ]] a jiné soutěže http://wiki.sps-pi.com/soc
# - Modifikujte program pro MCU ovládající křižovatku
* Elektronika
# - Vyberte vhodného dodavatel elektronických součástek (R,C,D,IO)
** T2 – Přehled součástek R, C, více info: [[ELT1]]
# - Analyzujte zapojení s MCU na UNi desce [[VYV50]]
** T3 - Měřicí přístroje univerzální  -  měření el. veličin U, R Ohmův zákon
# - Vyzkoušejte program pro ovládání 7segmentovky
** T4 – Polovodičové součástky - diody, tranzistory, Zenerova dioda
# - Vyzkoušejte program pro ovládání ss motoru a krokového motoru
** T5 – Stabilizátory  - integrované stabilizátory napětí
 
** T6 – Integrované obvody analogové – časovač 555
** T7 – Integrované obvody analogové – operační zesilovač
** T8 – Možnosti řízení výstupem PC dalších technických zařízení
* [[Vývoj MIT aplikace]]
** T9 – Popis robota [[NXT]], prezentace robota, ukázka aplikací
** T10 – Vývoj aplikace s robotem [[NXT]], zadání úloh – bludiště
** T11 – Realizace robotické sestavy
** T12 – Vývoj aplikace s robotem [[NXT]] zadání úloh – sekačka
** T13 – Aplikace s robotem pro plnění úkolů „rescue robot“
** T14 – Popis robota [[BOB]] prezentace robota Boe-Bot ukázka aplikací
** T15 – Vývoj aplikace s robotem [[BOB]] zadání úloh – bludiště
* T16 - Vývoj aplikace s robotickou rukou L601 prezentace
* T17 - Opakování
|}
|}


{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Domácí úkoly 2021-22:'''''
|-
|


<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
22.2
dle návodu na http://wiki.sps-pi.cz/index.php/IBM-IoT#postup si nainstalujte v cloudu nebo lokálně  Node-RED.  Odevzdejte výsledné PrtScr dle vzoru v příloze (samozřejmě s vašimi údaji "d:org:device_type:device_ID";  např.: "d:3yaaz5:wemos:metostanice";
 
1.3. V [[Tinkercad]]u vyzkoušejte postupně zapojení s LED, Button, LDR, 18B20, TMP35 ......tak, aby zjištěná hodnota výstupní proměnné nebo její stav byla vyposílána na seriový port (monitor). Lze otestovat i s [[ESP8266]] v [[Wokwi]]. [https://youtu.be/L1A_yhO9Fo4 YT: Arduino Online Simulator Free Arduino and ESP32 by Wokwi ]  Odevzdejte všechny výsledné PrtScr.
     
 
|}


{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 25em"
{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''AplTVY3'''''
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Domácí úkoly 2020-21:'''''
|-
|-
| colspan="2" style="text-align: center;" | {{#TwitterFBLike:|small}}
|- style="vertical-align: top;"
||
|- style="vertical-align: top;"
|
|
Navazuje na výuku:
||
* [[AplTVY2|AplTVY 2.roč]]
* ex [http://old.sps-pi.cz/AplTVY2-ukoly B3 úkoly do výuky]


|- style="vertical-align: top;"
14.9.
|
Dohledat SP z předmětů HW a PRAI, přinést sešit
Výuka:
 
||
od pondělí 12.10.2020 zítra (a příští týden skupina PSP) se koná dle rozvrhu prezenční výuka předmětu "praktická cvičení" v PC učebně VYT5.  ​Kdyby jste se (z nějakých důvodů) nemohli dostavit, budu rád, když se zúčastníte výuky alespoň distančně a budete mít na svých PC nainstalován program Deeds (testování seminární práce na návrh SLO) a IDE (vývojové prostředí) pro tvorbu programu v JSA (jazyk symbolických adres - assembler) procesoru 8051 (např. MCU 8051 IDE, EdSIM51, Ride..............) a pro skupinu PSP také IDE pro ATmega328 (je v Arduinu).  Výuka poběží tedy paralelně a do třídní knihy zapíši absenci jen těm, kteří nebudu ani prezenčně (určitě upřednostňuji) a ani distančně na vyučování.
v učebně [[D07]] 2 hodiny týdně a směřuje  k úspěchům v [[SOČ]] a přípravou na [[Maturitní práce]]
 
 
7.12.
V odpovědi odevzdejte PrtScr ukázky nepřímého adresování v libovolném IDE, t.j úkolem je uskutečnit zápis dat do místa v RAM, kde nelze použít přímé adresování. V případě použití MCU8051IDE je úkolem uložit číslo na adresu 80h.
 
21.12.
Nakreslit blok. schéma CPU s jádrem AVR včetně
popisu funkce jednotlivých částí (obr. ve stylu jako v příloze). Pozor CPU ne MCU!
pozn. DÚ jen pro ty, kteří nejsou spokojeni se známkou z dnešního testu.
 
18.1.
V odpovědi odevzdejte PrtScr ukázky práce s aritmetickou operací ADD. Příklady: -84 +60, -84+100, 84+100, -84-100 atd. Sledujte hlavně C a OV.
 
22.2.
odevzdejte minimálně jedno řešení z úkolů:
1) vyzkoušení log. funkcí v asm (ANL, ORL, XRL, CPL) - natočit videoscreen testování programu (MT, OBS, Bandicam)
2) bin čítač s omezením do 500us (videscreen)
3) desítkový čítač 0->9 (videscreen)
4) desítkový čítač 00 -> 99 (videscreen)
5) modifikované *.ino pro DHT11 + json
6) přidané zařízení (PrtScr)
7) nastavení CloudFoundry apps/services (PrtScr)
8) nastavení Node-Red pro DHT11


|- style="vertical-align: top;"
15.3.Test-PRA3rPSPv01
| '''Vývoj''' || mikroprocesorových aplikací
|- style="vertical-align: top;"
| '''[[Robotika]]:''' || Vývoj aplikace s robotem (či realizace nového) [[NXT]] (NXT-G, BricxCC, Robot C) [[BOB]] s robotickou rukou L601 [[ROR]] robotem [[Ju-Ju]]


|- style="vertical-align: top;"
31.3.Odevzdejte řešení ukazující využití zpoždění s dvěma (alt. 3mi) registry v IDE pro MCU ATmeg328
|'''Povinná práce:'''
||
[[Soubor:PovinnaPrace_VyvojMIT_aplikace.png|[[Vývoj MIT aplikace]]]]


'''Odevzdání  do:''' příslušného adresáře  [ftp://obelix.sps-pi.cz/n/janousek/Temp zde]
7.6.2021: program v asm pro blikání LED o f = 5Hz.  


|- style="vertical-align: top;"
21.6.2021: program v asm, kde po zmáčknutí tlačítka připojené na pin 2. LED na pinu 13 3x zabliká a opět čeká na aktivaci od tlačítka


| '''Úkoly:'''
||
# Zopakovat látku z [[MIT]] [[ELT2]] [[INS2]]
# Při hodinách používat sešit z předmětu [[PRA]] (lze pokračovat)
# Vybrat si ročníkovou povinnou práci z témat [[Zajímavá zapojení s MCU|zde]]
# Po každém splněném úkolu z hodin provést zápis do deníku předmětu [[PRA|PRA,PRC]] a odevzdat do adresáře [ftp://obelix.sps-pi.cz/n/janousek/Temp/ zde], ke stažení [[Soubor:Icon-doc.gif]][[:Soubor:Trida_PoradoveCislo_Prijmeni_Jméno_Verze_NazevUkolu.doc|předloha]], a [[Soubor:Icon-doc.gif]] [[:Soubor:C4_07_Novak_Jan_v01_NXT.doc|vzor]]


|- style="vertical-align: top;"
SW: MS Teams, Deeds, MCU 8051 IDE, zdroj info: http://wiki.sps-pi.cz/AplTVY3​
| '''Užitečné odkazy:'''
 
Pozn.: [[Domácí úkoly|Jak odevzdávat domácí úkoly]]
|}
 
 
{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Domácí úkoly 2019-20:'''''
|-
|
|
*[ftp://obelix.sps-pi.cz/janousek/mikroLAB N:/janousek/mikroLAB]


|- style="vertical-align: top;"
1. Postupně v aplikaci [https://www.tinkercad.com/learn/project-gallery;collectionId=OMOZACHJ9IR8LRE TinkerCad] vyzkoušejte úkoly tak, aby jste zvládli (např. u praktické maturity) zapojit na [[KNP]] a naprogramovat mikroprocesorovou aplikaci s LED, RGB, tlačítkem, potenciometrem, PIR, LDR, čidle teploty, PING, servem, krokovým motorem atd. Každý úspěšný experiment zpracujte v postupně rozšiřující dokumentaci. Mikroprocesor lze použit: [[Arduino]], [[PICAXE]], [[8051]] apod.
|'''SW:'''
 
|
[[Soubor:LearnArduino.png|link=https://1url.cz/kzWKG]]
*[http://www.screentoaster.com/record  screentoaster]  videoprezentace rychle a jednoduše        [http://technet.idnes.cz/navod-jako-videoprezentace-rychle-a-jednoduse-nauci-vas-to-screentoaster-1ln-/sw_internet.asp?c=A090817_201240_sw_internet_dvr  návod]
*[http://www.wpanorama.com/wpanorama.php?r=1253989723  WPanorama]   tvorba panoramatických snímků  [http://technet.idnes.cz/vytvorte-fotogalerie-s-moznosti-vystavit-je-na-web-ci-denicek-pro-diabetika-173-/software.asp?c=A090819_183038_software_dvr  popis]
*[http://sourceforge.net/projects/pdfcreator/ PDFCreator]    [http://lorenc.info/navod-na-instalaci-PDFCreatoru.htm návod na  istalaci]     [http://lorenc.info/spojeni-pdf-dokumentu-v-pdfcreatoru.htm spojení více  doc a pdf]


2. Podívejte se na výsledky letošního školního a krajského kola SOČ [[SOČ 2020]]
3. Do odpovědi na tento úkol zkopírujte link na video prezentaci SOČ práce, která vás nejvíce zaujala.
Pozn.: Soutěží se v 18ti vědních oborech. Letos museli soutěžící natočit video o své práci a umístit na YT. (vyhledávací slova: Středoškolská odborná činnost a číslo oboru (10, 18 ....)) . Např. pro obor Elektrotechnika: Středoškolská odborná činnost 10 (https://bit.ly/2yaQ9m7) nebo pro obor Informatika: Středoškolská odborná činnost 18 (https://bit.ly/2Sj8wME)
4. Nakreslete blokové schéma mikroprocesorové aplikace, kterou dokážete sestavit na KNP a naprogramovat (MCU, vstupní čidla, výstupní moduly). Zde v odpovědi odevzdejte PrtScr.


|}
|}


== Témata na cvičení od roku 2016 ==


<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
== Cvičení ==
{{#widget:YouTube|id=8yAOTUY9t10|height=270|width=360|Popis|right}}
---------------------------------------------------------------------------------------------------------------
<Gallery>
<Gallery>
Soubor:PICAXE-vyv-diagram_01.jpg|Blik
Soubor:Stabilizovany_zdroj_+5V.jpg|Stabilizovaný zdroj +5V
Soubor:PICAXE-vyv-diagram_02.jpg|DICE
Soubor:PICAXE-vyv-diagram_01.jpg|[[PICAXE]] - Blik
Soubor:PICAXE-vyv-diagram.jpg|2x IN, 2 x OUT
Soubor:PICAXE-vyv-diagram.jpg|2x IN, 2 x OUT
</gallery>
</gallery>
=== [https://www.tinkercad.com TinkerCAD] ===
[[Soubor:LearnArduino.png|right|link=https://1url.cz/kzWKG]]
<gallery>
Soubor:tinkercad02.jpg|https://www.tinkercad.com
Soubor:tinkercad03.jpg
Soubor:tinkercad09.jpg
Soubor:tinkercad10.jpg
</gallery>
=== [[Atmel Studio]] ===
[[Soubor:Atmel-studio.png|IDE|100px]] [[Soubor:Atmel-studio_1.png|IDE|300px]]
[https://www.microchip.com/en-us/tools-resources/develop/microchip-studio#Downloads download]
=== [https://wokwi.com/ wokwi] ===
<gallery>
Soubor:wokwi_AVR_01.jpg|[https://wokwi.com/projects/392695146694098945 7segment]
</gallery>
=== Ovládání 7segmentovky s [[ATmega328]] na desce [[Arduino]] ===


<Gallery>
<Gallery>
Soubor:D10_HW_picaxe_01.jpg|[[PICAXE]] - vývojová deska
Soubor:ARD21-sch.png|[[ARD21]][[:Soubor:ARD21-pcb.png|PCB]]
Soubor:PICAXE-vyv-diagram_02.jpg|[[PICAXE]] - vývojový diagram
Soubor:Multifunctional Expansion Board.png|[[:Soubor:MFEB-schematic.png|schéma]] + [[:Soubor:MFEB-example.pdf|příklady]]
Soubor:ProfiCAD_PICAXE.png|[[PICAXE]] - blokové schéma
</Gallery>
</Gallery>


=== Popis zapojení a funkce uni desky [[VYV50]] ===
<Gallery>
soubor:VYV-deska-AVR-ATmega16-07.jpg|UNI deska [[VYV50]]
Soubor:proficad-RD2KIT-01.png|kreslení blokových schémat v [[ProfiCAD]]
</Gallery>
[[Soubor:Arduino-ATmega328Pinout.png|400px|ATmega328 Pinout]]
[[Soubor:ATmega328Pinout.png|400px|ATmega328 Pinout]]
---------------------------------------------------------------------------------------------------------------
==== Assembly via Arduino ====
[[Soubor:Anas_Kuzechie_Projects.png|300px|link=https://akuzechie.blogspot.com/|Anas Kuzechie Projects]]
---------------------------------------------------------------------------------------------------------------
====How to Flash or Program Arduino from Atmel Studio?====
https://www.arnabkumardas.com/platforms/atmel/how-to-flash-or-program-arduino-from-atmel-studio/
[[Soubor:HowtoFlash.png|link=https://www.arnabkumardas.com/platforms/atmel/how-to-flash-or-program-arduino-from-atmel-studio/]]
[[Soubor:SetAtmmelStudio.png|400px|nastavení Atmmel Studia - Send to Arduino]]
text k vyplnění:
Send to Arduino UNO
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p atmega328p -c arduino -P COM3 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i
[[Soubor:SetAtmmelStudio-IDE.png|400px|export z Arduino IDE]]
---------------------------------------------------------------------------------------------------------------
=== [http://rjhcoding.com/ rjhcoding] ===
[[Soubor:rjhcoding.jpg|link=http://rjhcoding.com/]]
* [http://rjhcoding.com/avr-asm-light-an-led.php Example Program #1: LED]
* [http://rjhcoding.com/avr-asm-registers.php Working With Registers R0-R31]
* [http://rjhcoding.com/avr-asm-led-blink.php Example Program #3: Blink]
* [http://rjhcoding.com/avr-asm-sreg.php The Status Register]
* [http://rjhcoding.com/avr-asm-program-flow.php Conditional Branching]
* [http://rjhcoding.com/avr-asm-delay-subroutine.php Example Program #4: Delay Subroutine]
* [http://rjhcoding.com/avr-asm-io.php Working With I/O Registers]
* [http://rjhcoding.com/avr-asm-sram.php Working With Extended I/O And SRAM]
* [http://rjhcoding.com/avr-asm-pm.php Loading Data from Program Memory]
---------------------------------------------------------------------------------------------------------------
[[Soubor:AVRdelay.png|500px|link=http://darcy.rsgc.on.ca/ACES/TEI4M/AVRdelay.html]]
---------------------------------------------------------------------------------------------------------------
=== Blink in C ===
https://wokwi.com/projects/354469641572834305
[[Soubor:atmega328p-blink_C.png|200px|right]]
<source lang="c">
//#include <avr/io.h>  //iom328p.h
#include <util/delay.h>
   
int main(){   
        _SFR_IO8(0x0A) = 0xFF; // #define DDRD _SFR_IO8(0x0A)
                              // DDRB = 0xFF;
        _SFR_IO8(0x0B) = 0x00; // PORTD= 0x00;
while(1){ 
          PORTD |= (1 << PD0);
          PORTD |= (1 << PD2) | (1 << PD1);
          PORTD ^= (1 << PD3);
          PORTD |= (1 << PD5) & ~(1 << PD4);
          _delay_ms(1000);
         
          PORTD &= ~(1 << PD0);
          PORTD &= ~(1 << PD2) & ~(1 << PD1); 
         
          PORTD ^= (1 << PD5) ^ (1 << PD4);
          _delay_ms(1000);
  } 
    return 0;
}
</source>
---------------------------------------------------------------------------------------------------------------
=== Blink with Timer ===
https://wokwi.com/projects/354046396997507073    https://wokwi.com/projects/354556802672660481
[[Soubor:atmega328p-timers1.gif|200px|right]]
{|
|-
|
<source lang="asm">
;https://www.hackster.io/yeshvanth_muniraj/arduino-blink-example-in-assembly-using-timer-counter1-e2a327
;https://wokwi.com/projects/354046396997507073
;funkční ;sbi PORTB,5 zde nefunguje
#define __SFR_OFFSET 0x20
#include "avr/io.h"
.global main
main: rcall setup    // zavolání funkce setup
loop:
    COM R17          ; Complement R17 register
    STS PORTD, R17    ; Toggle the LED output
    rcall delay
    rjmp loop
delay:
  LDI R16, 0xC2
  STS TCNT1H, R16  ; Writing 0xC2 into TCNT1H (8-bit)
  LDI R16, 0xF7
  STS TCNT1L, R16  ; Writing 0xF7 into TCNT1H (8-bit)
  LDI R16, 0x05
  STS TCCR1B, R16  ; Writing 0x05 into TCCR1B
L:LDS R0, TIFR1    ; Load the value of TIFR1 into R0
  SBRS R0, 0        ; Skip the next statement if overflow has occured.
  RJMP L            ; Loop until overflow occurs.
 
  LDI R16, 0x00
  STS TCCR1B, R16  ; Stop the Timer/Counter1
  LDI R16, 0x01
  STS TIFR1, R16    ; Clear the overflow flag by writing 1 to it
  ret
setup: 
      LDI R16, 0xFF    ; Setting bits of PORTD as output
      STS DDRD, R16
      LDI R17, 0x55
      STS PORTD, R17    ; Writing 0 to PORTD
      ret
</source>
|
<source lang="c">
//https://wokwi.com/projects/354556802672660481
#include <avr/io.h>  //iom328p.h
#include <util/delay.h>
   
int main(){   
        DDRD = 0xFF; // #define DDRD _SFR_IO8(0x0A)
        PORTD= 0x55;
while(1){ 
          PORTB ^= (1 << PD5);
          PORTD = ~PORTD;
          delay();
        } 
    return 0;
}
int delay(){
  TCNT1H =  0xC2;
  TCNT1L =  0xF7;
  TCCR1B =  0x05; //prescaler 1024
  while (!(TIFR1 & (1<< TOV1)));
  TCCR1B =  0x00;
  TIFR1 =  0x01; 
}
 
</source>
|-
|}
=== [https://www.arxterra.com/9-atmega328p-timers/ Interrupts and 16-bit Timer/Counter 1: ATmega328P Timing Subsystems] ===
https://www.arxterra.com/9-atmega328p-timers/
[[Soubor:atmega328p-timers3.png|600px|link:https://www.arxterra.com/9-atmega328p-timers/]]
---------------------------------------------------------------------------------------------------------------
===[https://www.youtube.com/watch?v=B-BsqpgtQWI IO interface of AVR]===
[[Soubor:IO_interface.jpg|500px|link=https://www.youtube.com/watch?v=B-BsqpgtQWI]]
{{#widget:YouTube|id=B-BsqpgtQWI|height=270|width=360|IO interface of AVR|right}}
---------------------------------------------------------------------------------------------------------------
=== AVR Interrupts ===
{{#widget:YouTube|id=zViw6mMzEoA|height=270|width=360|AVR Interrupts|right}}
---------------------------------------------------------------------------------------------------------------
=== www ===
* [https://www.spshronov.cz/eusoubory2/dum_atmega32.pdf SPS Hronov - Atmega32]
* [https://www.hackster.io/yeshvanth_muniraj/arduino-blink-example-in-assembly-using-timer-counter1-e2a327 Arduino Blink Example in Assembly using Timer/Counter1]
* [https://www.hackster.io/yeshvanth_muniraj/accessing-i-o-in-atmega328p-arduino-using-assembly-and-c-10e063#toc-sts---store-direct-to-data-space-5 Accessing I/O in ATmega328P (Arduino) using Assembly and C]
* [http://www.elektromys.eu/clanky/avr_timer1/clanek.html Čítač / časovač 1 nejen na Attiny]
* [http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html Arduino Timer Interrupts Calculator]
* [https://www.arduinoslovakia.eu/application/timer-calculator AVR Timer Interrupts Calculator (slovakia)]
* [http://www.avr-asm-tutorial.net/avr_en/micro_beginner/4_Led_Timer/4_Led_Timer.html Lecture 4: Blinking a LED with a timer]
* [https://svetelektro.com/clanky/pokrocile-programovanie-mikropocitacov-v-jazyku-c-diel-c1-763/ Pokročilé programovanie mikropočítačov v jazyku C. Diel č.1]
---------------------------------------------------------------------------------------------------------------
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
'''== Archiv =='''
=== [[MCU]]: [[8051]]: ===
<gallery>
Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]]  pro vývoj aplikací v asm/C
Soubor:juego de instrucciones MCS-51.jpg|[http://www.alciro.org/alciro/microcontroladores-8051_24/guia-referencia-microcontroladores-8051_232.htm Instrucciones]
Soubor:EDSIM-screen.png|[https://www.edsim51.com/ EdSim51]
Soubor:ATM13.png|HW: [[ATM13|UNI board s 89S52]]
Soubor:D10_HW_presto.jpg|Programátor: [[PRESTO]] SW: [[UP]]
Soubor:D10_HW_USBasp.jpg|Programátor: [http://goo.gl/Ioozyz USBasp] SW: [[ProgISP]]
</gallery>
=== Modifikace programu s 8051 ===
<Gallery>
<Gallery>
Soubor:krizovatka_auc.png|[[PICAXE]] - křižovatka
Soubor:Traffic_Light_auc.png|Křižovatka AUC
Soubor:PIC_counter.jpg|[[PIC]]85 2 digit Up/Down Counter
Soubor:MCU-8051-IDE-screen.png|IDE: [[MCU 8051 IDE]] pro vývoj aplikací v asm/C
Soubor:VYV50_LED_Traffic_Light2.jpg
</Gallery>
</Gallery>


[[Soubor:Traffic_Light_auc.png|300px]]
[[Soubor:VYV50_LED_Traffic_Light2.jpg|200px]]
<source lang="asm">
<source lang="asm">
start:    
loop:    
mov P0,#01010011
mov P0,#01010011             ;modifikovat dle LED
mov P2,#11001100
mov P2,#11001100             ;modifikovat dle LED
acall delay
acall delay
.
.
.
.
.  
.  
sjmp start
sjmp loop


delay: mov R0,#255d
delay: mov R0,#255d             ;podprogram zpoždění
skok2: mov R1,#5d
skok2: mov R1,#5d
skok1: mov R2,#5d
skok1: mov R2,#5d
Řádek 147: Řádek 412:
djnz R1,skok1
djnz R1,skok1
djnz R0,skok2
djnz R0,skok2
ret
ret                     ;návrat z podprogramu


end
end
</source>
</source>


=== Objednávka součástek ===
[[soubor:prehled_soucastek.png|400px]]
* Prodejci součástek:
** [http://www.gme.cz/ GME]  Doporučujeme tuto společnost s prodejnami v Praze, Brně, Ostravě, Plzni a zásilkovým prodejem.
** [http://www.tme.cz/TME TME] zásilkový prodej.
** [http://www.soselectronic.cz/ SOS Electronic] zásilkový prodej.
** [http://www.ges.cz/ GES Electronic] Společnost s prodejnami a zásilkovým prodejem.
** [http://www.farnell.com Farnell] [http://www.rothsware.cz/web/farnell/ zastoupení]


== Témata na cvičení do roku 2016 ==
== Témata na cvičení do roku 2016 ==
Řádek 174: Řádek 447:
Soubor:Registrace_OP01.jpg|[[Registrace na odborné praxe]]
Soubor:Registrace_OP01.jpg|[[Registrace na odborné praxe]]
Soubor:Logo.JPG|[[LOGO]]
Soubor:Logo.JPG|[[LOGO]]
Soubor:AVR-PRG-01.jpg|[[AVR]] s [[Vývojová deska ATMEL včetně AVR ATmega16 v2|Vývojovou deskou]]
Soubor:PIC_counter.jpg|[[PIC]]85 2 digit Up/Down Counter
Soubor:boebot.jpg|[[BOB]]
Soubor:boebot.jpg|[[BOB]]
Soubor:MOB03_05.png|[[Mobilní robot]]
Soubor:MOB03_05.png|[[Mobilní robot]]
Řádek 185: Řádek 456:
</Gallery>
</Gallery>


<gallery>
Soubor:D10_HW_picaxe_01.jpg|[[PICAXE]] - vývojová deska
Soubor:PICAXE-vyv-diagram_02.jpg|[[PICAXE]] - vývojový diagram
Soubor:ProfiCAD_PICAXE.png|[[PICAXE]] - blokové schéma
Soubor:Umik-blok-schema.png|[[Umík]] - blokové schéma
Soubor:Umik-popis.png|[[Umík]] - popis


---------------------------------------------------------------------------------------------------------------


</gallery>
=== Otázky k opakování do roku 2016 ===
 
== Literatura ==
 
<gallery>
Soubor:Arduino-itnetwork.png|[http://www.itnetwork.cz/mikrokontroler-arduino-tutorialy|Arduino tutorial]
Soubor:Robot-arduino_RCB_car.png|[http://www.josefnav.cz/RCB.html|Control Boards by josefnav.cz]
</gallery>
 
== White Board ==
 
<gallery>
Soubor:AplTVY3_Board_01.jpg
Soubor:AplTVY3_Board_02.jpg
Soubor:AplTVY3_Board_03.jpg
Soubor:AplTVY3_Board_04.jpg
Soubor:AplTVY3_Board_05.jpg
Soubor:AplTVY3_Board_06.jpg
Soubor:AplTVY3_Board_07.jpg
Soubor:AplTVY3_Board_09.jpg
 
</gallery>
 
== Otázky k opakování od roku 2016==
 


{| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''TP do roku 2016'''''
|-
|
* T1 - BOZP – řády odborných učeben
** 1. pomoc [http://goo.gl/wABr1c Instruktážní video resuscitace ] z odkazem ze stránek [http://www.resuscitace.cz/%20%20 http://www.resuscitace.cz/] 
** [[Soubor:Icon-youtube.gif]] [https://www.youtube.com/watch?v=LIOjlbZgyeg Resuscitace dospělých]
**  Náplň činnosti v školním roce  (představa o jednotlivých odděleních )
** Povinné práce, klasifikace v předmětu
** [[SOČ]] a jiné soutěže http://wiki.sps-pi.com/soc
* Elektronika
** T2 – Přehled součástek R, C, více info: [[ELT1]]
** T3 - Měřicí přístroje univerzální  -  měření el. veličin U, R Ohmův zákon
** T4 – Polovodičové součástky - diody, tranzistory, Zenerova dioda
** T5 – Stabilizátory  -  integrované stabilizátory napětí
** T6 – Integrované obvody analogové – časovač 555
** T7 – Integrované obvody analogové – operační zesilovač
** T8 – Možnosti řízení výstupem PC dalších technických zařízení
* [[Vývoj MIT aplikace]]
** T9 – Popis robota [[NXT]], prezentace robota, ukázka aplikací
** T10 – Vývoj aplikace s robotem [[NXT]], zadání úloh – bludiště
** T11 – Realizace robotické sestavy
** T12 – Vývoj aplikace s robotem [[NXT]] zadání úloh – sekačka
** T13 – Aplikace s robotem pro plnění úkolů „rescue robot“
** T14 – Popis robota [[BOB]] prezentace robota Boe-Bot ukázka aplikací
** T15 – Vývoj aplikace s robotem [[BOB]] zadání úloh – bludiště
* T16 - Vývoj aplikace s robotickou rukou L601 prezentace
* T17 - Opakování
|}


== Otázky k opakování do roku 2016==
== Otázky k opakování do roku 2016==
===HW===
===HW===
# Navrhněte napájecí zdroj pro napájení mikroprocesorové aplikace
# Navrhněte napájecí zdroj pro napájení mikroprocesorové aplikace
Řádek 235: Řádek 505:
# Navrhněte a otestujte aplikaci ovládající motor (stejnosměrný, krokový)
# Navrhněte a otestujte aplikaci ovládající motor (stejnosměrný, krokový)
# Popište postup vývoje mikroprocesorové aplikace
# Popište postup vývoje mikroprocesorové aplikace
== White Board do roku 2016 ==
<gallery>
Soubor:AplTVY3_Board_01.jpg
Soubor:AplTVY3_Board_02.jpg
Soubor:AplTVY3_Board_03.jpg
Soubor:AplTVY3_Board_04.jpg
Soubor:AplTVY3_Board_05.jpg
Soubor:AplTVY3_Board_06.jpg
Soubor:AplTVY3_Board_07.jpg
Soubor:AplTVY3_Board_09.jpg
</gallery>


== Inspirace ==
== Inspirace ==


[http://projects.adamh.cz/ projects.adamh.cz]
[http://projects.adamh.cz/ projects.adamh.cz]
== Archiv ==
[[APLTVY3 - archiv]]

Aktuální verze z 18. 3. 2024, 11:42

AplTVY
Tématický plán
T0 - BOZP – řády odborných učeben
T1 – Popis vývoje mikropočítačové aplikace 
T2 – V/v brány, jejich vlastnosti a využití
T3 – Tvorba programu pro výstupní moduly
T4 – Vývoj mikroprocesorové aplikace – LED
T5 – Časové zpoždění
T6 – Vstupní moduly – tvorba programu pro vstupní moduly
T7 – Vývoj mikroprocesorové aplikace – test vstupů
T8 – Programování aplikace
T9 – Naprogramování mikropočítače
T10 – Vývoj mikroprocesorové aplikace – čidlo světla
T11 – Vývoj mikroprocesorové aplikace – 7 segment
T12 – Vývoj mikroprocesorové aplikace – motory
T13 – Vývoj mikroprocesorové aplikace – čidlo teploty
T14 - Opakování 

Otázky k opakování
  1. - Nakreslete vývojový diagram pro log. funkce NOT, AND, OR, XOR
  2. - Nakreslete vývojový diagram pro log. funkci n=3 y = 1 pro i = {1,3,6,7 (4)}
  3. - Nakreslete vývojový diagram pro log. funkci n=4 y = 1 pro i = {1,2,5,6,12,13 (4,11,15)}
  4. - Naprogramujte MCU pro blikání LED (blikačka)
  5. - Naprogramujte MCU pro ovládání akustického měniče (bzučák)
  6. - Modifikujte program pro MCU ovládající křižovatku
  7. - Vyberte vhodného dodavatel elektronických součástek (R,C,D,IO)
  8. - Analyzujte zapojení s MCU na UNi desce VYV50
  9. - Vyzkoušejte program pro ovládání 7segmentovky
  10. - Vyzkoušejte program pro ovládání ss motoru a krokového motoru
Domácí úkoly 2021-22:

22.2 dle návodu na http://wiki.sps-pi.cz/index.php/IBM-IoT#postup si nainstalujte v cloudu nebo lokálně Node-RED. Odevzdejte výsledné PrtScr dle vzoru v příloze (samozřejmě s vašimi údaji "d:org:device_type:device_ID"; např.: "d:3yaaz5:wemos:metostanice";

1.3. V Tinkercadu vyzkoušejte postupně zapojení s LED, Button, LDR, 18B20, TMP35 ......tak, aby zjištěná hodnota výstupní proměnné nebo její stav byla vyposílána na seriový port (monitor). Lze otestovat i s ESP8266 v Wokwi. YT: Arduino Online Simulator Free Arduino and ESP32 by Wokwi Odevzdejte všechny výsledné PrtScr.


Domácí úkoly 2020-21:

14.9. Dohledat SP z předmětů HW a PRAI, přinést sešit

od pondělí 12.10.2020 zítra (a příští týden skupina PSP) se koná dle rozvrhu prezenční výuka předmětu "praktická cvičení" v PC učebně VYT5. ​Kdyby jste se (z nějakých důvodů) nemohli dostavit, budu rád, když se zúčastníte výuky alespoň distančně a budete mít na svých PC nainstalován program Deeds (testování seminární práce na návrh SLO) a IDE (vývojové prostředí) pro tvorbu programu v JSA (jazyk symbolických adres - assembler) procesoru 8051 (např. MCU 8051 IDE, EdSIM51, Ride..............) a pro skupinu PSP také IDE pro ATmega328 (je v Arduinu). Výuka poběží tedy paralelně a do třídní knihy zapíši absenci jen těm, kteří nebudu ani prezenčně (určitě upřednostňuji) a ani distančně na vyučování.


7.12. V odpovědi odevzdejte PrtScr ukázky nepřímého adresování v libovolném IDE, t.j úkolem je uskutečnit zápis dat do místa v RAM, kde nelze použít přímé adresování. V případě použití MCU8051IDE je úkolem uložit číslo na adresu 80h.

21.12. Nakreslit blok. schéma CPU s jádrem AVR včetně popisu funkce jednotlivých částí (obr. ve stylu jako v příloze). Pozor CPU ne MCU! pozn. DÚ jen pro ty, kteří nejsou spokojeni se známkou z dnešního testu.

18.1. V odpovědi odevzdejte PrtScr ukázky práce s aritmetickou operací ADD. Příklady: -84 +60, -84+100, 84+100, -84-100 atd. Sledujte hlavně C a OV.

22.2. odevzdejte minimálně jedno řešení z úkolů: 1) vyzkoušení log. funkcí v asm (ANL, ORL, XRL, CPL) - natočit videoscreen testování programu (MT, OBS, Bandicam) 2) bin čítač s omezením do 500us (videscreen) 3) desítkový čítač 0->9 (videscreen) 4) desítkový čítač 00 -> 99 (videscreen) 5) modifikované *.ino pro DHT11 + json 6) přidané zařízení (PrtScr) 7) nastavení CloudFoundry apps/services (PrtScr) 8) nastavení Node-Red pro DHT11

15.3.Test-PRA3rPSPv01

31.3.Odevzdejte řešení ukazující využití zpoždění s dvěma (alt. 3mi) registry v IDE pro MCU ATmeg328

7.6.2021: program v asm pro blikání LED o f = 5Hz.

21.6.2021: program v asm, kde po zmáčknutí tlačítka připojené na pin 2. LED na pinu 13 3x zabliká a opět čeká na aktivaci od tlačítka


SW: MS Teams, Deeds, MCU 8051 IDE, zdroj info: http://wiki.sps-pi.cz/AplTVY3​

Pozn.: Jak odevzdávat domácí úkoly


Domácí úkoly 2019-20:

1. Postupně v aplikaci TinkerCad vyzkoušejte úkoly tak, aby jste zvládli (např. u praktické maturity) zapojit na KNP a naprogramovat mikroprocesorovou aplikaci s LED, RGB, tlačítkem, potenciometrem, PIR, LDR, čidle teploty, PING, servem, krokovým motorem atd. Každý úspěšný experiment zpracujte v postupně rozšiřující dokumentaci. Mikroprocesor lze použit: Arduino, PICAXE, 8051 apod.

2. Podívejte se na výsledky letošního školního a krajského kola SOČ SOČ 2020 3. Do odpovědi na tento úkol zkopírujte link na video prezentaci SOČ práce, která vás nejvíce zaujala. Pozn.: Soutěží se v 18ti vědních oborech. Letos museli soutěžící natočit video o své práci a umístit na YT. (vyhledávací slova: Středoškolská odborná činnost a číslo oboru (10, 18 ....)) . Např. pro obor Elektrotechnika: Středoškolská odborná činnost 10 (https://bit.ly/2yaQ9m7) nebo pro obor Informatika: Středoškolská odborná činnost 18 (https://bit.ly/2Sj8wME) 4. Nakreslete blokové schéma mikroprocesorové aplikace, kterou dokážete sestavit na KNP a naprogramovat (MCU, vstupní čidla, výstupní moduly). Zde v odpovědi odevzdejte PrtScr.




















Cvičení


TinkerCAD

Atmel Studio

IDE IDE

download

wokwi

Ovládání 7segmentovky s ATmega328 na desce Arduino

Popis zapojení a funkce uni desky VYV50

ATmega328 Pinout ATmega328 Pinout


Assembly via Arduino

Anas Kuzechie Projects


How to Flash or Program Arduino from Atmel Studio?

https://www.arnabkumardas.com/platforms/atmel/how-to-flash-or-program-arduino-from-atmel-studio/


nastavení Atmmel Studia - Send to Arduino

text k vyplnění: 
Send to Arduino UNO
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe 
-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p atmega328p -c arduino -P COM3 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

export z Arduino IDE


rjhcoding



Blink in C

https://wokwi.com/projects/354469641572834305

//#include <avr/io.h>  //iom328p.h 
#include <util/delay.h> 
    
int main(){    
        _SFR_IO8(0x0A) = 0xFF; // #define DDRD _SFR_IO8(0x0A) 
                               // DDRB = 0xFF;
        _SFR_IO8(0x0B) = 0x00; // PORTD= 0x00;

while(1){  
          PORTD |= (1 << PD0);
          PORTD |= (1 << PD2) | (1 << PD1); 
          PORTD ^= (1 << PD3);
          PORTD |= (1 << PD5) & ~(1 << PD4); 
          _delay_ms(1000);
          
          PORTD &= ~(1 << PD0);
          PORTD &= ~(1 << PD2) & ~(1 << PD1);  
          
          PORTD ^= (1 << PD5) ^ (1 << PD4);
          _delay_ms(1000);
  }  
    return 0;
}

Blink with Timer

https://wokwi.com/projects/354046396997507073 https://wokwi.com/projects/354556802672660481

;https://www.hackster.io/yeshvanth_muniraj/arduino-blink-example-in-assembly-using-timer-counter1-e2a327
;https://wokwi.com/projects/354046396997507073
;funkční ;sbi PORTB,5 zde nefunguje
#define __SFR_OFFSET 0x20
#include "avr/io.h"
.global main

main: rcall setup     // zavolání funkce setup

loop:
    COM R17           ; Complement R17 register
    STS PORTD, R17    ; Toggle the LED output
    rcall delay
    rjmp loop

delay:
  LDI R16, 0xC2
  STS TCNT1H, R16   ; Writing 0xC2 into TCNT1H (8-bit)
  LDI R16, 0xF7
  STS TCNT1L, R16   ; Writing 0xF7 into TCNT1H (8-bit)
  LDI R16, 0x05
  STS TCCR1B, R16   ; Writing 0x05 into TCCR1B

L:LDS R0, TIFR1     ; Load the value of TIFR1 into R0
  SBRS R0, 0        ; Skip the next statement if overflow has occured. 
  RJMP L            ; Loop until overflow occurs.
  
  LDI R16, 0x00
  STS TCCR1B, R16   ; Stop the Timer/Counter1
  LDI R16, 0x01
  STS TIFR1, R16    ; Clear the overflow flag by writing 1 to it
  ret

setup:  
      LDI R16, 0xFF     ; Setting bits of PORTD as output
      STS DDRD, R16
      LDI R17, 0x55
      STS PORTD, R17    ; Writing 0 to PORTD
      ret
//https://wokwi.com/projects/354556802672660481

#include <avr/io.h>  //iom328p.h 
#include <util/delay.h> 
    
int main(){    
        DDRD = 0xFF; // #define DDRD _SFR_IO8(0x0A) 
        PORTD= 0x55;

while(1){  
          PORTB ^= (1 << PD5);
          PORTD = ~PORTD;
          delay();
        }  
    return 0;
}

int delay(){
  TCNT1H =  0xC2; 
  TCNT1L =  0xF7; 
  TCCR1B =  0x05; //prescaler 1024
  while (!(TIFR1 & (1<< TOV1)));
  TCCR1B =  0x00; 
  TIFR1 =  0x01;  
}

Interrupts and 16-bit Timer/Counter 1: ATmega328P Timing Subsystems

https://www.arxterra.com/9-atmega328p-timers/

link:https://www.arxterra.com/9-atmega328p-timers/


IO interface of AVR


AVR Interrupts


www
































== Archiv ==

MCU: 8051:

Modifikace programu s 8051

loop:		  
	mov P0,#01010011             ;modifikovat dle LED
	mov P2,#11001100             ;modifikovat dle LED
	acall delay
	.
	.
	. 
	sjmp loop

delay:	mov R0,#255d             ;podprogram zpoždění
skok2:	mov R1,#5d
skok1:	mov R2,#5d
skok:	djnz R2,skok
	djnz R1,skok1
	djnz R0,skok2
	ret                      ;návrat z podprogramu

	end

Objednávka součástek

  • Prodejci součástek:

Témata na cvičení do roku 2016

ELE:

MIT:

Bonus:



Otázky k opakování do roku 2016

TP do roku 2016
  • T1 - BOZP – řády odborných učeben
  • Elektronika
    • T2 – Přehled součástek R, C, více info: ELT1
    • T3 - Měřicí přístroje univerzální - měření el. veličin U, R Ohmův zákon
    • T4 – Polovodičové součástky - diody, tranzistory, Zenerova dioda
    • T5 – Stabilizátory - integrované stabilizátory napětí
    • T6 – Integrované obvody analogové – časovač 555
    • T7 – Integrované obvody analogové – operační zesilovač
    • T8 – Možnosti řízení výstupem PC dalších technických zařízení
  • Vývoj MIT aplikace
    • T9 – Popis robota NXT, prezentace robota, ukázka aplikací
    • T10 – Vývoj aplikace s robotem NXT, zadání úloh – bludiště
    • T11 – Realizace robotické sestavy
    • T12 – Vývoj aplikace s robotem NXT zadání úloh – sekačka
    • T13 – Aplikace s robotem pro plnění úkolů „rescue robot“
    • T14 – Popis robota BOB prezentace robota Boe-Bot ukázka aplikací
    • T15 – Vývoj aplikace s robotem BOB zadání úloh – bludiště
  • T16 - Vývoj aplikace s robotickou rukou L601 prezentace
  • T17 - Opakování

Otázky k opakování do roku 2016

HW

  1. Navrhněte napájecí zdroj pro napájení mikroprocesorové aplikace
  2. Otestuje AKO s časovačem 555
  3. Popište funkci operačního zesilovače
  4. Proveďte návrh schéma zapojení s blikající LED (klasické řešení versus mikroprocesorové)
  5. Navrhněte připojení 7segmentovky k MCU

SW

  1. Napište program pro blikání jedné (a více) LED
  2. Připojte a otestujte čidlo dotyku (vzdálenosti, světla) s MCU
  3. Napište program pro test funkčnosti čidla světla
  4. Navrhněte a otestujte aplikaci ovládající motor (stejnosměrný, krokový)
  5. Popište postup vývoje mikroprocesorové aplikace

White Board do roku 2016

Inspirace

projects.adamh.cz