MEMBUAT LAMPU LALU LINTAS
// program pengatur lampu lalulintas
// led hijau nyala 5 detik,led kuning nyala 2,5 detik
// led kuning mulai nyala,setelah hijau nyala 4 detik
// led merah nyala 5 detik
const int pinMerah = 9; //led merah
const int pinKuning = 10; //led kuning
const int pinHijau = 11; //led hijau
void setup() {
// inisialisasi digitalpin 9,10,11 sebagai output
pinMode(PinMerah, OUTPUT);
pinMode(pinKuning, OUTPUT);
pinMode(pinHijau, OUTPUT);
digitalWrite(pinMerah, LOW);
digitalWrite(pinKuning, LOW);
digitalWrite(pinHijau, LOW);
}
void loop() {
//lampu Hijau nyala 4 detik yang lain mati
digitalWrite(pinMerah, LOW);
digitalWrite(pinKuning, LOW);
digitalWrite(pinHijau, HIGH);
delay(4000);
//Led kuning mulai nyala,sebelum 1 detik hijau mati
digitalWrite(pinKuning, HIGH);
delay(1000);
//Led Hijau mati,Led Kuning masih nyala 1,5 detik
digitalWrite(pinKuning, HIGH);
digitalWrite(pinHijau, LOW);
delay(1500);
//lampu Merah nyala 5 detik dan yang lain mati
digitalWrite(pinMerah, HIGH);
digitalWrite(pinKuning, LOW);
digitalWrite(pinHijau, LOW);
delay(5000);
}
TONE MELODY
/* Tone Melody
speaker 8-ohm / Piezo dihubungkan ke pindigital 8 melalui
resistor 330 Ohm [optional]
*/
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
// notes in the melody:
int melody[] = {
NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
NOTE_G4,0, NOTE_A4, NOTE_B4, NOTE_C5};
// note durasi: 4=seperempat note
int durasi[] = {4,4,4,4,4,4,4,4 };
void setup() {
// iterasi seluruh nada
for (int n = 0; n < 8; n++) {
// durasi note = 1 detik dibagi durasi note
// contoh: durasi setengah=1000/2,seperempat=1000/4
int jeda = 1000/durasi[n];
tone(8, melody[n],jeda);
// untuk membedakan antara note diberi jeda
// 1.3 x durasinya
int jedanote = jeda * 1.30;
delay(jedanote);
// stop the tone playing:
noTone(8);
}
}
void loop() {
// not use
}
TES ON OFF RELAY
// Test On/Off Releay
const int pinRele = 8; //kontrol RELAY
void setup () {
// inisialisasi digitalpin 8 sebagai output
pinMode(pinRele, OUTPUT);
digitalWrite(pinRele,LOW);
}
void loop() {
// Rele aktif 5 detik, LED nyala
digitalWrite(pinRele,HIGH);
delay(5000);
// Rele non aktif 5 detik, LED padam
digitalWrite(pinRele,LOW);
delay(5000);
}
SWITCH PULLUP 2 SWITCH
const int pinS2 = 6; //input Switch 1
const int pinS1 = 7; //input Switch 2
const int pinLED = 8; //LED Display
void setup () {
// inisialisasi digitalpin 6,7 input, 8 output
pinMode(pinLED, OUTPUT);
pinMode(pinS1, INPUT);
pinMode(pinS2, INPUT);
digitalWrite(pinS1,HIGH); // Internal Pullup aktif
digitalWrite(pinS2,HIGH); // internal Pullup aktif
digitalWrite(pinLED,LOW);
}
void loop() {
//Jika Tekan S1, LED Nyala
if(digitalRead(pinS1)==0 && digitalRead(pinS2)==1){
digitalWrite(pinLED,HIGH);
} else //Jika Tekan S2, LED Padam
if(digitalRead(pinS2)==0 && digitalRead(pinS1)==1){
digitalWrite(pinLED,LOW);
}
delay(300); // jeda 300 mS
}
SWITCH PULLUP 1 SWITCH
const int pinS1 = 7; //input Switch
const int pinLED = 8; //LED Display
int sw=0; // variabel untuk penanda on/off
void setup () {
// inisialisasi digitalpin 7 input, 8 output
pinMode(pinLED, OUTPUT);
pinMode(pinS1, INPUT);
digitalWrite(pinS1,HIGH); // Internal Pullup aktif
digitalWrite(pinLED,LOW);
}
void loop() {
//Jika Tekan S1 dan var sw=0 , Led dinyalakan
if(digitalRead(pinS1)==0 && sw==0){
digitalWrite(pinLED,HIGH); // nyalakan Led
sw=1; // set sw=1 menandakan Led nyala
} else
//Jika Tekan S1 dan var sw=1, Led diPadamkan
if(digitalRead(pinS1)==0 && sw==1){
digitalWrite(pinLED,LOW); // padamkan Led
sw=0; // set sw=0, menandakan Led Padam
}
delay(300); // jeda 300 mS
}
input Switch (interupsi 1 eksternal)
const int pinS1 = 3; //input Switch (interupsi 1 eksternal)
const int pinLED = 8; //LED Display
int sw=0; // variabel untuk penanda on/off
// fungi handle interupsi
void toggle(){
if(sw==0){ sw=1; // nyalakan Led
} else
if(sw==1){ sw=0; // padamkan Led
}
}
void setup () {
// inisialisasi digitalpin 3 input, 8 output
pinMode(pinLED, OUTPUT);
pinMode(pinS1, INPUT);
digitalWrite(pinS1,HIGH); // Internal Pullup aktif
digitalWrite(pinLED,LOW);
attachInterrupt(1,toggle,RISING); //aktifkan interupsi
}
void loop() {
//Jika sw=0 , Led padam
if(sw==0){
digitalWrite(pinLED,LOW); // padamkan Led
}
//Jika sw=1, Led nyala
if(sw==1){
digitalWrite(pinLED,HIGH); // nyalakan Led
}
delay(300); // jeda 300 mS
}