2013/08/05

App Inventor erabiliz bluetooth bidez led-ak piztea

Jarduera honetan Android gailu bat PIC mikrokontroladore batekin komunikatuko da bluetooth bidez. PIC-a behar bezala programatu ondoren diseinatutako Android interfaze grafikotik LED-ak piztu eta itzaliko dira.







Helburuak

Bigarren jarduerak jarraian aipatzen diren helburu hauek beteko ditu:

- Interfaze grafikoko elementu gehiago ezagutzea.
- Bloke editoreko aukera gehiago ezagutzea.
- Bluetooth komunikazioa lantzea.
- PIC bat programatzea.

Materiala

-PC bat.
-Android gailu mugikor bat.
-PIC School, PIC bat (16f88 bat erabili da kasu honetan) eta beharrezkoa den erreminta( hariak, goraizeak,...)
-PIC-arentzat Bluetooth modulua: LINVOR JY-MCU


Jardueraren sekuentzia

1.  Aurreko sarrera batean aipatutako eta ikusitako bideotutorialei jarraituz Android aplikazioa sortu behar da. Jarraian, I. eta II. ilustrazioan erakusten dira garatu beharreko aplikazioaren diseinu lehioa eta bloke editorea:

I. ilustrazioa: App-aren diseinu lehioa


II. ilustrazioa: App-aren bloke editorea

2. Aplikazioak bluetooth bidez bidaltzen dituen datuen formatua kontuan hartuz PIC-a programatzea izango da hurrengo pausua.

Led baten kontrola egitea denez helburua, serie portutik (kasu honetan android gailu batetik bluetooth bitartez) 0 edo 1 bat bidaliko dugu. PIC-ak 1-a jasotzen badu  led-a piztu egingo da eta 0 jasotzen badu led-a itzali egingo da.

Jarraian PIC mikrokontrolagailuari grabatu beharreko programa azaltzen da. Ulergarriago egiteagatik komentarioak konbinatu dira.


#include <16f88.h>                    //PIC-aren definizioen fitxategia
#fuses XT,NOWDT,NOPROTECT   
#use delay(clock=4000000)                //Clock-aren definizioa, 4MHz
#use RS232(baud=9600, xmit=PIN_B6, rcv=PIN_B7)  //Serie transmisioaren konfigurazioa, B6 pin-a bidaltzeko eta B7-a jasotzeko. Bus-aren abiadura 9600 baudetan konfiguratzen da.

main()
{
   char estado;
   set_tris_a(0);               
//A portua irteera gisa deklaratu.
   output_a(0);                   
//A portuan 0 bat jarri.
   output_bit(PIN_A0, 1);       
//1 bat atera PIN_A0-tik
   delay_ms(100);               
//100 ms-tako itxarote denbora.
   output_bit(PIN_A0, 0);       
//0 bat atera PIN_A0-tik
   while(1)
    {
     output_bit(PIN_A1, 1);       
// PIN_A1 1 jarri, funtzionamenduaren konprobazioa
     estado=getc();   
//Serie portuan datua egon arte itxaroan eta datua estado-n gorde.
     switch(estado){                      
 //Estado  = ...
         case 0: 
               output_bit(PIN_A0, 0); break;       
// 0  PIN_A0 itzali
         case 1: 
               output_bit(PIN_A0, 1); break;       
//1 PIN_A0 piztu.
        }
     }
}


PIC-a programatzeko erabili den programak MPLAB izena du eta microchip etxekoa da. Software hau dohan da  eta Microchip-en web orrian lortu dezakezue. MPLAB-ekin PIC-a programatzen ikasteko  honako bideo hau ikus dezakezue:





3. Azkenik PIC school-a erabiliz gailu eta osagai guztiak kableatuko dira III. ilustrazioko eskemari jarraituz, proiektuak ongi funtzionatzen duela baieztatzeko.

III. ilustrazioa: proiektuaren eskema