//0,1_do,2_re,3_mi,4_fa,5_fa,6_sol,7_la,8_si
float nada[]={0,1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5};
void setup()
{
pinMode(8, OUTPUT);
}
void loop()
{
for (int i = 2; i <= 8; i = i + (1)) {
tone(8,nada[(int)(i - 1)]);
delay(600);
noTone(8);
delay(600);
}
}
2. bluetooth
//PROGRAM FOR BLUETOOTH INTERFACE WITH ArduinoNano
//Dani Mardianto
//kirim data 1 untuk menyalakan LED pada D13
//kirim data 0 untuk mematikan0 LED pada D13
const int pinout = 10; // declare pinout with int data type and pin value
int inputdata = 0; //Variable for storing received data
void setup()
{
Serial.begin(9600); //Sets the baud rate for bluetooth pins
Serial.print("TEST PROGRAM\n");
Serial.print("BLUETOOTH WITH ARDUINO NANO\n");
pinMode(pinout, OUTPUT);
}
void loop()
{
if(Serial.available() > 0) // Send data only when you receive data:
{
inputdata = Serial.read(); //Read the incoming data & store into data
if(inputdata == '1')
{
digitalWrite(pinout, HIGH);
Serial.print("LED ON\n");
}
if(inputdata == '0')
{
digitalWrite(pinout, LOW);
Serial.print("LED OFF\n");
}
}
}
3. LED RGB
LED RGB
int merah = 11;
int hijau = 10;
int biru = 9;
void setup() {
// put your setup code here, to run once:
pinMode(merah, OUTPUT);
pinMode(hijau, OUTPUT);
pinMode(biru, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//LED menyala warna merah
analogWrite(merah,250);
analogWrite(hijau,0);
analogWrite(biru,0);
delay(1000);
//LED menyala warna hijau
analogWrite(merah,0);
analogWrite(hijau,250);
analogWrite(biru,0);
delay(1000);
//LED menyala warna kuning
analogWrite(merah,250);
analogWrite(hijau,250);
analogWrite(biru,0);
delay(1000);
//LED menyala warna oranye
analogWrite(merah,250);
analogWrite(hijau,50);
analogWrite(biru,0);
delay(1000);
}
4. Potensio
potentiometer
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.print("Baca tegangan Analog Potensio\n");
}
void loop() {
// put your main code here, to run repeatedly:
int data=analogRead(A0);
delay(500);
Serial.print("data = ");
Serial.println(data);
}
5. JOY Stick
Joystick
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.print("TEST JOYSTICK\n");
}
void loop() {
// put your main code here, to run repeatedly:
int X=analogRead(A1);
delay(10);
int Y=analogRead(A0);
delay(500);
Serial.print("X,Y = (");
Serial.print(X);
Serial.print(",");
Serial.print(Y);
Serial.println(")");
}
6. LCD 16×2
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
}
void loop()
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.write("Hallo");
lcd.setCursor(0, 1);
lcd.write("1234567890!@#$%^");
delay(1000);
}
//Sensor PIR, output ---|____ HIGH-LOW seting Delay_Time minimal
//setelah mendeteksi gerakan output HIGH selama 1,8S
//setelah 1,8S akan menjadi LOW selama 6S sebelum mendeteksi gerakan baru
volatile boolean dataPIR;
int temp;
int temp1;
void setup()
{
Serial.begin(9600);
pinMode(A0, INPUT);
dataPIR=0;
}
void loop(){
dataPIR = digitalRead(A0);
//mendeteksi ada gerakan
if (dataPIR==1){
if (temp1==1){
Serial.println("PIR mendeteksi ada gerakan:");
//tuliskan program dibawah ini, ketika mendeteksi gerakan:
}
delay(100);temp1 = temp1 + 1;
if (temp1%10==0) {
Serial.print("HIGH:");
Serial.println(temp1);}
}
//lama waktu LOW, sebelum bisa mendeteksi gerakan baru
if (temp<=70) { //counter menghitung 7 detik
delay(100);temp = temp + 1;
if (temp%10==0) {
Serial.print("LOW:");
Serial.println(temp);}
if (temp==70){Serial.println("PIR siap merespon gerakan baru:");}
}
if (dataPIR==0){temp1=0;} //reset counter
if (dataPIR==1){temp=0;} //reset counter jika ada gerakan
}
void setup() {
// put your setup code here, to run once:
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(2,HIGH);
delay(500);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
delay(500);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
delay(500);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(500);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
delay(500);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(500);
digitalWrite(7,LOW);
}
2. Tombol
Tombol
void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,INPUT_PULLUP);
pinMode(7,INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(6)==LOW){digitalWrite(2,HIGH);};
if(digitalRead(7)==LOW){digitalWrite(2,LOW);};
}
3. 7segmen
7segmen
const int a = 8;const int b = 7;const int c = 6;
const int d = 5;const int e = 4;const int f = 3;
const int g = 2;
void setup() {
// put your setup code here, to run once:
pinMode(a,OUTPUT);pinMode(d,OUTPUT);pinMode(f,OUTPUT);
pinMode(b,OUTPUT);pinMode(e,OUTPUT);pinMode(g,OUTPUT);
pinMode(c,OUTPUT);
}
void loop() {
digitalWrite(a,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
4. PWM
LED menyala (c) terang, (b)sedang dan (a)redup
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
analogWrite(11, 10); //LED menyala redup
analogWrite(10, 75); //LED menyala sedang
analogWrite(9, 255); //LED menyala maksimal
}
#include <Servo.h>
Servo servo_1;
void setup() {
// put your setup code here, to run once:
servo_1.attach(9);
}
void loop() {
// put your main code here, to run repeatedly:
servo_1.write(1);
delay(1000);
servo_1.write(90);
delay(1000);
}
Terdapat 10 soal, kerjakan semua soal dengan santau tetapi serius. Soal soal ini menggunakan SubProgram yang dikombinasikan dengan materi matrix LED. Terdapat contoh program dan link simulasi proteus yang bisa di copy dan di download.
/*
* subProgram & matrix led.c
* 2MHz
* Created: 17/09/2018 20:21:48
* Author: dani Mardianto
*/
#include <mega16.h>
#include <delay.h>
char i;
//A//////////////////////////////////////////
void huruf_A()
{
//contoh A masih menggunakan biner
PORTA=0b01111100;
PORTB=0b11111110;delay_ms(10);PORTB=0xff;
PORTA=0b00001010;
PORTB=0b11111101;delay_ms(10);PORTB=0xff;
PORTA=0b00001001;
PORTB=0b11111011;delay_ms(10);PORTB=0xff;
PORTA=0b00001010;
PORTB=0b11110111;delay_ms(10);PORTB=0xff;
PORTA=0b01111100;
PORTB=0b11101111;delay_ms(10);PORTB=0xff;
}
//B//////////////////////////////////////////
void huruf_B()
{
//contoh B sudah menggunakan hexsa
PORTA=0x7f;
PORTB=0xfe; delay_ms(10); PORTB=0xff;
PORTA=0x49;
PORTB=0xfd; delay_ms(10); PORTB=0xff;
PORTA=0x49;
PORTB=0xfb; delay_ms(10); PORTB=0xff;
PORTA=0x49;
PORTB=0xf7; delay_ms(10); PORTB=0xff;
PORTA=0x36;
PORTB=0xef; delay_ms(10); PORTB=0xff;
}
//C//////////////////////////////////////////
void huruf_C()
{
//contoh C sudah menggunakan hexsa
PORTA=0x3e;
PORTB=0xfe; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xfd; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xfb; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xf7; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xef; delay_ms(10); PORTB=0xff;
}
//D//////////////////////////////////////////
void huruf_D()
{
//contoh D sudah menggunakan hexsa
PORTA=0x7f;
PORTB=0xfe; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xfd; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xfb; delay_ms(10); PORTB=0xff;
PORTA=0x41;
PORTB=0xf7; delay_ms(10); PORTB=0xff;
PORTA=0x3e;
PORTB=0xef; delay_ms(10); PORTB=0xff;
}
//E//////////////////////////////////////////
void huruf_E()
{
}
void main(void)
{
DDRB=0xff;
DDRA=0xff;
while (1)
{
// memanggil subProgram
for (i=0;i<20;i++){huruf_A();}
for (i=0;i<20;i++){huruf_B();}
for (i=0;i<20;i++){huruf_C();}
for (i=0;i<20;i++){huruf_D();}
}
}
Soal 1. dari program diatas akan menghasilkan tampilan seperti dibawah ini. tugasnya lengkapi/tambahi program tersebut dari yang bisa menampilkan ABCD bisa menampilkan A-Z dan angka 0-9
Soal 2. menampikan kata HALO pada matrix LED
Soal 3. menampilkan kata BUDI pada matrix LED
Soal 4 . menampilkan nama salah satu dari kelompok kalian.
Soal 5. menampilkan kata SMKN BANSARI pada matrix LED
Soal 6. membuat animasi counterUp 0-9
Soal 7. membuar animasi orang tersenyum dan melambaikan tangan
Soal 8. membuat huruf H berjalan
Soal 9. membuat tulisan berjalan HALO
Soal 10. Bebas kreatif, silahkan membuat suatu tampilan di matrix LED sesuai imajinasi kalian. jika sudah boleh menandai cek list nomor 10.
Dalam pembuatan laporan prakrin ini ditujukan untuk syarat sudah melaksanakan prakrin dan untuk kenaikan kelas XI ke XII, dalam laporan ini disesuaikan tempat prakrinnya, setiap laporan prakrin tidak boleh sama dengan teman satu tempat “yang dimaksudkan adalah judul laporan”, untuk format laporan sebagai berikut :
HALAMAN JUDUL
PENGESAHAN (dari dudi dan sekolahan)
PRAKATA
DAFTAR ISI
BAB I PENDAHULUAN (Latar Belakang, Gambaran Umum Perusahaan, Tujuan)
BAB II PROSES PELAKSANAAN (Waktu dan Tempat, Alat dan Bahan, Gambaran Pekerjaan)
BAB III PEMBAHASAN (Pembahasan, Implementasi Kerja)
BAB IV PENUTUP (Kesimpulan, Saran, Hasil yang Dicapai)
DAFTAR PUSTAKA
LAMPIRAN (Jurnal Kegiatan, Foto Kegiatan Prakrin)
Di bawah ini adalah contoh laporan prakrin, bisa kalian unduh / download
LAPORAN PRAKERIN UNDUH
*Catatan untuk contoh laporan tidak boleh diplagiat, kartal escort hanya sebagai contoh
*NB informasi lebih lanjut bisa menghubungi guru produktif TAV
Matik LED menggunakan teknik scaning untuk mengendalikan nyala LED. Dengan teknik ini memberi keuntungan dengan hanya menggunakan bebepa PORT dapat mengendalikan banyak sekali LED. Konsep scaning adalah menyalakan LED secara bergantian tetapi dilakukan secara cepat segingga LED terlihat menyala secara bersamaan.
Kali ini akan membahas mengenai Pulse With Modulator(PWM). Singkat cerita PWM bisa digunakan untuk mengendalikan nyala LED secara terang hingga redup, contoh penggunaan PWM lainnya adalah untuk mengatur kecepatan motor DC. Motor DC bisa diatur berputar cepat atau berputar lambat.