Jaka Budi Badge's

Total Pageviews

Friday, August 14, 2015

Bermain dengan RFID, GLCD, dan RCT






#include
#include
int LED=7;
Adafruit_PCD8544 display = Adafruit_PCD8544(2, 3, 4, 6, 5);

#include
#include
#include
#include "RTClib.h"


RTC_DS1307 rtc;
#define RST_PIN 9
#define SS_PIN 10

MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup()
{
  Serial.begin(9600);

  #ifdef AVR
  Wire.begin();
#else
  Wire1.begin();
#endif
  rtc.begin();

  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
     rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
     // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }


 pinMode(LED,OUTPUT);
 while (!Serial);
 SPI.begin();
 mfrc522.PCD_Init();
 Serial.println("Test Display Oke");
  display.begin();
 display.setContrast(60);
   display.display();
  delay(2000);
  display.clearDisplay();

}

void loop()
{
  digitalWrite(LED,LOW);
  DateTime now = rtc.now();
    if ( ! mfrc522.PICC_IsNewCardPresent()) {

            display.setCursor(0, 0);
            display.setTextSize(1);
            display.print(now.year(), DEC);display.print('/');display.print(now.month(), DEC);display.print('/');display.println(now.day(), DEC);
            display.setCursor(0, 10);display.setTextSize(2);
            display.print(now.hour(), DEC);display.print(':');display.println(now.minute(), DEC);
            display.setCursor(0, 25);
            display.print(now.second(), DEC);
            display.display();
            display.clearDisplay();
             
            delay(100);
            digitalWrite(LED, LOW);
            display.clearDisplay();
            return;
}
        if ( ! mfrc522.PICC_ReadCardSerial()) {
 return;
}

String rfidUid = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
  rfidUid += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
  rfidUid += String(mfrc522.uid.uidByte[i], HEX);
}
if (!(rfidUid=="")){
    display.clearDisplay();
    rfidUid.toUpperCase();
    display.setCursor(0, 0);
    display.setTextSize(1);
    display.print("UID: ");
    display.println(rfidUid);
    display.print(now.year(), DEC);display.print('/');display.print(now.month(), DEC);display.print('/');display.println(now.day(), DEC);
    display.print(now.hour(), DEC);display.print(':');display.print(now.minute(), DEC);display.print(':');display.println(now.second(), DEC);
    display.println("USER :");
    FindID(rfidUid);
    display.display();
    digitalWrite(LED,HIGH);
    delay(2000);
}

}

void FindID( String NoUID){
  if (NoUID=="1109F44F"){
  display.print("JAKA BUDI");
  }
  else if (NoUID=="C1202C4F"){
  display.print("SRI RACMAWATI");
  }

  else if (NoUID=="61A7D74F"){
  display.print("A DIPTA S");
  }
  else if (NoUID=="C1CFD94F"){
  display.print("A DAMAR S");
  }
  else
  {
   display.print("TIDAK DIKENAL");
  }
}

Wednesday, August 12, 2015

Membaca RFID Tag dengan arduino

Membaca RFID dengan MRC 522

Tampilan yang dipakai adalah shift LCD.


#include
#include
#include
int led=5;

#define RST_PIN 9
#define SS_PIN 10

ShiftLCD lcd(2, 4, 3);


MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(led,OUTPUT);
  while (!Serial);
  SPI.begin();
  mfrc522.PCD_Init();
     
}

void loop() {
        digitalWrite(led,LOW);
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
        if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
String rfidUid = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
  rfidUid += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
  rfidUid += String(mfrc522.uid.uidByte[i], HEX);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("UID: ");
rfidUid.toUpperCase();
lcd.print(rfidUid);
ChekID(rfidUid);
digitalWrite(led,HIGH);
delay(1000);

}

void ChekID (String UIDCard){
 if (UIDCard=="B1CE2A4F"){
   lcd.setCursor(0,1);
   lcd.print("MASTER");
 }
 else
 {
    lcd.setCursor(0,1);
   lcd.print("NON MASTER");
 
 }  
}

Saturday, December 10, 2011

My First Robot

Tamiya double gearbox controled by L293, arduino as Microcontroler.

Saturday, December 3, 2011

GLCD Nokia 5110 dengan Arduino

Setelah menggunakan LCD karakter, menggunakan LCD Grafik. Yang cukup murah untuk dicoba adalah LCD nokia 3310/5110. Sangat mudah digunakan. Library yang digunakan diambil dari Ladyada PCD8554 tutorial.



Supaya mudah penggunaannya dibuat shield khusus untuk GLCD.

Contoh aplikasi:


#include "PCD8544.h"
PCD8544 nokia = PCD8544(7, 6, 5, 4, 3);

void setup(void) {
  Serial.begin(9600);
  nokia.init();
  nokia.setContrast(50);
  nokia.command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYALLON);
  nokia.command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYNORMAL);
  delay(500);
  nokia.display();
  nokia.clear();
}

void loop(){
  if (Serial.available()) {
    delay(100);
    nokia.clear();
    while (Serial.available() > 0) {
      nokia.write(Serial.read());
      }
     nokia.display();
  }  
}



Sunday, November 27, 2011

Mengukur jarak dengan IR Ranger

Cocok unuk jarak 10 cm - 80cm, sesuai dengan ukuran robot kecil.

source kodenya sebagai berikut :

/* IR Ranger

*/
const int SensorPin=0;
void setup(){
  Serial.begin(9600);

  
}

void loop()
 double Jarak;
int ulang = 30; 
double aRead = 0.00;
for (int i=0; i
aRead = aRead + analogRead(SensorPin);
}
aRead = aRead / 30;
Jarak = (6787.0 /(aRead - 3.0)) - 4.0;
  
  Serial.print(Jarak);
  Serial.println(" cm");
delay(200);
}
  


Saturday, November 26, 2011

Pengukur Intensitas Cahaya dengan LDR Arduino dan LCD 16x2


Mengukur intensitas cahaya dengan LDR, hasil pengukuran ditampilkan pada LCD. Skematik ini sangat mudah untuk dipelajari.


berikut kode program nya:

/*PEMBACA NILAI LUX dengan LDR dan ditampilkan pada LCD 20x4
Oleh : Jaka Budi Santosa
Peralatan yang diperlukan:
1. Arduino UNO
2. LDR x 1
3. resistor 10K x 1
4. resistor 1K x 1
5. resistor 220R x 1
6. Bread Board x 1
7. LCD 16 x 2
*/
#include
LiquidCrystal lcd(6, 7, 5, 4, 3, 2); // Membuat object LCD dan menentukan pin
int photocellPin0 = 0; // Menentukan pin Analog untuk membaca sensor. hubungkan LDR dan R 10 K untuk mendapatkan pembagi voltage
int photocellReading0; // hasil pembacaan analog
float Res0=10.0;


void setup(void) {
lcd.begin(16, 2); // menSet display menjadi 20 columns dan 4 rows
}

void loop(void){
photocellReading0 = analogRead(photocellPin0); // Membaca data analog
float Vout0=photocellReading0*0.0048828125; // menghitung voltage
int lux0=500/(Res0*((5-Vout0)/Vout0));
//Nilai Lux cahaya
lcd.setCursor(0,0);//tentukan cursor pada posisi kolom 0 dan row 0
lcd.print("N Lux : ");
lcd.setCursor(10,0);//tentukan cursor pada posisi kolom 10 dan row 0
lcd.print(lux0);// tulis hasil perhitungan
lcd.print("Lux/t");
//Nilai Voltase
lcd.setCursor(0,1);
lcd.print("Voltage : ");
lcd.setCursor(10,1);
lcd.print(Vout0);
lcd.print(" V/t");
delay(2000);//pengulangan pembacaan
lcd.clear();//menghapus data LCD

}



Arduino.....bikin ketagihan


Pertama kali mengenal Arduino baru sekitar awal september tahun ini.Ternyata lebih mengasikkan daripada mainan RC. Dapat berkreasi bebas , baik dari segi hardware maupun software. Pengalaman berkutat di software a.k.a visual basic 6 sangat berpengaruh dalam cepat tanggapnya mempelajari pemrograman pada arduino. Pengalaman di bidang elektronika digital sangat membantu untuk mengolah hardware arduino. Yang bikin ketagihan dalam berkutat dengan arduino adalah setelah selesai menyusun hardware dengan baik, belum tentu dapat berjalan dengan baik jika software tidak pas. LOGIKA sangat diperlukan!!!


Hanya saja ada pengalamanan buruk, yaitu saat memesan komponen ke distributor, yang katanya tersohor dan selalu disebut di google, itu lho indorobotika.com...ternyata bad seller no 1. pembohong no 1. hanya jual web saja..

Beberapa seller Lokal Arduino yang cukup menarik dan bisa dipercaya :
1. RCTronik- http://www.rctronic.com/
2. FamosaStudio- http://www.famosastudio.com/
3. Gerai cerdas - http://www.geraicerdas.com/index.php

untuk melengkapi komponen dasar elektronik, dipilih DigiWare-http://www.digi-ware.com/, lengkap dan harga cukup bersaing.

Untuk seller internasional, saya pilih:
1. Adafruit - http://www.adafruit.com/
2. Sparkfun - https://www.sparkfun.com/
3. iteadStudio - http://iteadstudio.com/store/
Untuk kelengkapan memang Sparkfun dan Adafruit, tapi karena biaya pengirimannya membuat berpikir 2 kali. ITeadStudio harga barang cukup murah dan ongkos kirim sangat terjangkau. Jika dibandingkan Ongkos kirim Surabaya-Jakarta, masih sebanding.

Ketagihan??...ah seperti morfin saja. ya ketagihan.. selalu aja ada pengembangan. Misal awalnya hanya LCD tampilan biasa, selanjutnya menjadi data loger. dan terus pengen terus dikembangkan(Hanya dana yang gak mendukung).

Tulisan selanjutnya merupakan pengembangan pengembangan sederhana project Arduino.