Algoritma IR Transmitter
Mulai Mulai
Memasukan library
& #include <VirtualWire.h>
Inisiasi variabel int temp;
int sensePin = 0; void changeC(int
char data[5]; num,char *data)
int k = num,i = 0,j;
Setting parameter
transmitter Setting parameter
vw_set_ptt_inverted(true)
transmitter
;
while (k > 0)
Setting jumlah bit per {
second k/=10;
vw_setup(2000); i++;
}
Setting pin transmitter
Fungsi vw_set_tx_pin(7);
mengkoncersi data int l = i;
bertipe integer ke
array
Set pin 0 sebagai input
analogReference(DEFAULT);
pinMode(0,INPUT);
for (i = 0,j = l-1; i < l; i++,j--)
{
data[j] = char(num%10+48);
Membaca sensor num/=10;
temp = analogRead(sensePin); }
Mengubah bit integer ke
bentuk array dengan
fungsi yang telah dibuat changeC(temp,data);
Mengirim data
vw_send((uint8_t*)data,2);
Delay
delay(3000);
Selesai
Selesai
Algoritma IR Receiver
Mulai
Mulai
#include <VirtualWire.h>
#include <string.h>
Memasukan library long tm,t,d;
Inisiasi variabel
dalam bentuk long
byte message[VW_MAX_MESSAGE_LEN];
byte messageLength =
VW_MAX_MESSAGE_LEN;
Inisiasi variabel
dalam bentuk byte
Serial.begin(9600);
vw_set_ptt_inverted(true);
Setting parameter receiver
vw_setup(2000);
Setting jumlah bit per
second
vw_set_rx_pin(7);
Set pin receiver
vw_rx_start();
Perintah menjalankan
receiver
Tidak
Tidak if
Jika menerima
(vw_get_message(messa
pesan
ge, &messageLength))
Ya
Inisiasi variabel Ya
waktu
tm = millis();
t = tm/1000;
d = tm%1000;
Menampilkan
waktu diterima
Serial.print("t = ");
Serial.print(t);
Serial.print(".");
Menampilkan Serial.print(d);
informasi sensor Serial.print("s temp = ");
for (int i = 0; i < messageLength;
selesai i++)
{
Serial.print(message[i] - 48);
}
Serial.println(" *F");
}
selesai