VHODNO-IZHODNE ENOTE

Ta poglavje predstavlja osnovne vhodno-izhodne (V/I) enote mikrokrmilnikov, s posebnim poudarkom na mikrokrmilniku ATmega328P, ki je vgrajen v razvojno ploščo Arduino UNO. ATmega328P omogoča tri skupine I/O vrat (angl.: port: PORTB, PORTC in PORTD). Vse te enote in njihove priključke lahko uporabljamo kot vhodne funkcije ali pa kot izhodno. Če priključek uporabljamo kot vhod, to pomeni, da lahko s tem priključkom odčitamo napetostni potencial, ki je na tem priključku. Lahko si predstavljamo, da v tem primeru tak priključek uporabljamo kot volt-meter. V kolikor želimo napetostni potencial na priključku krmiliti (t.j. programsko nastaviti), moramo priključek nastaviti na izhodno funkcijo. To funkcionalnost lahko nastavimo v registru DDRx, v Arduino IDE okolju pa s funkcijo pinMode(5, OUTPUT) (če gre za priključek številka 3 in izhodno funkcijo). Za natančne tehnične podrobnosti so zanesljivi viri podatkov ATmega328P in dokumentacija Arduina [@ATmega328P_Datasheet_2016]. Bolj natančna shem V/I priključka je prikazana na [@fig:Atmega328_IOpin_ctrl].

Stikalna shema posameznega V/I priključka na mikrokrmilniku ATmega328.{#fig:Atmega328_IOpin_ctrl}

Izhodne enote

Pregledeali in v SimulIDE smo naredili nekaj primerov

  • Arduino UNO pinout - ATmega328
  • izhodne enote (primer blink)
  • nastavitev z registri (PORTB = 0b00100000) , DDRD… PINB
  • največji tok (source, sink)

  • primer uporabe s 7-segmentnim LED displayem (CA, CC)

Uporaba DAC-a

  • primer… ESP32
  • analogWrite(11, 123) - za Arduino UNO

  • … PWM -> RC člen -> sledilnik napetosti -> tranzistor kot emitorski sledilnik.

PWM

  • krmiljenje moči na LED
  • za krmiljenje MOTORJA potrebujemo -> TR
    • induktivna bremena potrebujejo diodo proti napajanju,

Viri in literatura