Operácie

Programovanie AVR v jazyku C

Zo stránky SensorWiki

Na tomto cvičení prakticky len zopakujeme to čo sme robili pred týždňom, ale spravíme to v jazyku C[REF 1] pomocou kompilátora avr-gcc.

Navyše však pripojíme k mikropočítaču prvú externú súčiastku - tlačítko.


Úloha:

Na cvičení predvedieme pripojenie tlačítka, ktoré bude ovládať jednu LED diódu. Vašou úlohou bude pripojiť dve externé diódy a dve tlačítka a spraviť z nich preklápací R-S obvod.

1. Bezkontaktné prepojovacie pole

Bezkontaktné prepojovacie pole (breadboard) slúži na rýchle zapojenie jednoduchších obvodov bez potreby spájkovania. Vnútri v doštičke sa nachádzajú kontaktné pružinky, ktoré zabezpečia prepojenie medzi jednotlivými vývodmi. Prepojená je vždy jedna pätica kontaktov, okrem toho sú navzájom prepojené dlhé kontakty na okrajoch dosky určené na rozvod napájania (modré a červené). Napätie na tieto kontakty však musíte najprv priviesť!


2. Ovládanie LED tlačítkom

Musíte si na doštičku zapojiť jedno tlačítko a dvoma drôtikmi pripojiť k Arduino doske. Časť schémy s LED diódou už zapojená je (preto je schéma bledšia). Potrebujeme teda zapojiť len tlačítko. Odpor R1 je ochranný, v prípade, že omylom nastavíte PB4 ako výstup a stlačíte tlačidlo, nedôjde ku skratu. Ak ste už skúsení a nebojíte sa, môžete ho vynechať.



Schéma zapojenia a prepojenie na doštičke.


Programy, s ktorými budeme ďalej pracovať.

/* Pripojenie periferii k vyvojovej doske Arduino:
 *  LED Diody  LED1 - D13 - PB5 (zabudovana)
 *  Tlacitka  TLAC1 - D12 - PB4
 */

#define LED1  13   
#define TLAC1  12

void setup()
{
   pinMode(LED1, OUTPUT);
   pinMode(TLAC1, INPUT_PULLUP);
   
}

void loop() 
{
   if (digitalRead(TLAC1))
     digitalWrite(LED1, LOW);
   else
     digitalWrite(LED1,HIGH);
  
}
#define nieco

main()
{
  while(1)
  {
   /* main program here */
  }

 return(0); /* never happen */
}

3. Ovládanie dvoch LED tlačítkami


Schéma zapojenia a prepojenie na doštičke.


No a naprogramovať ich je už vaša úloha.


Literatúra

  1. AVR035: Efficient C Coding for AVR. Application note.