AplTVY3

Z MediaWiki SPŠ a VOŠ Písek
Přejít na: navigace, hledání
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í 

PovinnaPrace NavrhMIT aplikace.png

PovinnaPrace VyvojMIT aplikace.png

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.

LearnArduino.png

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.




















Obsah

Cvičení


TinkerCAD

LearnArduino.png

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/

HowtoFlash.png


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

Rjhcoding.jpg


AVRdelay.png


Blink in C

https://wokwi.com/projects/354469641572834305

Atmega328p-blink C.png
//#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

Atmega328p-timers1.gif
;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

IO interface.jpg


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

Prehled soucastek.png

  • 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

Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export