Perancangan Alat Pengendali Lampu dan Gerbang Otomatis Tanpa Kebel Menggunakan Neurosky Mindwave Headset

Lampiran - Lampiran

Universitas Sumatera Utara

Lampiran 1
Rangkaian keseluruhan pengirim

Universitas Sumatera Utara

Lampiran 2
Rangkaian keseluruhan penerima

Universitas Sumatera Utara

Lampiran 3.
Kode Program Pengirim Sinyal

/**********************************************************

// Arduino Brain Library - Brain Blinker
// Description: Basic brain example, blinks an LED on pin 13 faster as your "attention"

value increases.
// Adapted from the Blink without Delay example distributed with Arduino environment.
// More info: https://github.com/kitschpatrol/Arduino-Brain-Library
// Author: Eric Mika, 2010 revised in 2014
#include
#include
#define buzzer A0
#define led 10

int perhatian=0;
char *kirim;
// Set up the brain reader, pass it the hardware serial object you want to listen on.
Brain brain(Serial);

void setup() {
Serial.begin(9600);
vw_set_tx_pin(12);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000);


// Bits per sec

Universitas Sumatera Utara

pinMode(13, OUTPUT);
pinMode(8, OUTPUT);
pinMode(led, OUTPUT);
digitalWrite(13, LOW);
digitalWrite(8, LOW);
while(brain.readSignalQuality()==200)
{
if (brain.update()) {
Serial.println(brain.readCSV());
Serial.print("Satu");
}
digitalWrite(led,HIGH);
}

while(brain.readSignalQuality()!=200)
{

if (brain.update()) {
Serial.println(brain.readCSV());
Serial.print("Satu");
}
digitalWrite(led,HIGH);
}
while(brain.readSignalQuality()!=0)

{
if (brain.update()) {

Universitas Sumatera Utara

Serial.println(brain.readCSV());
Serial.print("Dua");
}
digitalWrite(buzzer,HIGH);
}
delay(1000);
digitalWrite(buzzer,LOW);

}

byte counter = 0;
void loop() {
if (brain.update()) {
Serial.println(brain.readCSV());
if(brain.readSignalQuality() == 26 || brain.readSignalQuality() == 51 )
{
if(counter == 0)
{
kirim="1";
vw_send((uint8_t *)kirim,strlen(kirim));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, HIGH);
delay(2000);
counter= 1;
}
else
{


Universitas Sumatera Utara

kirim="0";
vw_send((uint8_t *)kirim,strlen(kirim));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, LOW);
delay(2000);
counter= 0;
}
}
if(brain.readSignalQuality() == 0 && brain.readAttention() > 80)
{
kirim="2";
vw_send((uint8_t *)kirim,strlen(kirim));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, HIGH);
delay(2000);
}
}
}


Universitas Sumatera Utara

Lampiran 4
Kode Program penerima Sinyal
/**********************************************************
// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include

void setup()
{

vw_set_rx_pin(8);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000);

vw_rx_start();

// Bits per sec

// Start the receiver PLL running

pinMode(16, OUTPUT);
analogWrite(15, 1000);
pinMode(18, OUTPUT);

Universitas Sumatera Utara

pinMode(17, OUTPUT);
pinMode(19, INPUT);
pinMode(20, INPUT);
digitalWrite(19, HIGH);

digitalWrite(20, HIGH);
int sw1 = digitalRead(20);
while(sw1 == 1)
{
sw1 = digitalRead(20);
digitalWrite(18, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(17, LOW);
}
digitalWrite(18, LOW);
}

void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen)) // Non-blocking
{
if(buf[0]=='1')
{

digitalWrite(16, HIGH);
}

Universitas Sumatera Utara

else if(buf[0]=='0')
{
digitalWrite(16, LOW);
}
else if(buf[0]=='2')
{
int sw2 = digitalRead(19);
while(sw2 == 1)
{
sw2 = digitalRead(19);
digitalWrite(18, LOW); // turn the LED on (HIGH is the voltage level)
digitalWrite(17, HIGH);
}
digitalWrite(17, LOW);
delay(3000);

int sw1 = digitalRead(20);
while(sw1 == 1)
{
sw1 = digitalRead(20);
digitalWrite(18, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(17, LOW);
}
digitalWrite(18, LOW);
}
}
}

Universitas Sumatera Utara

Lampiran 5
Gambar alat pengirim sinyal

Universitas Sumatera Utara

Lampiran 6

a. Gambar alat penerima tampak depan

b. Gambar alat penerima tampak depan

Universitas Sumatera Utara