Membuat Alat Kendali Led Dengan Tombol dan 7Segment
Kali ini saya akan mendemonstrasikan mengenai simulasi alat yang berhubungan dengan kendali, alat yang dibuat kali ini prinsip kerjanya yaitu terdapat 8 buah tombol yang mana masing2 tombol jika ditekan akan menghidupkan / mematikan led dan menghidupkan 7segment, jika led 1 menyala maka 7segment akan menunjukkan angka 1, jika led 1 mati maka akan menunjukkan angka 2, begitu seterusnya, aplikasi dari alat ini adalah untuk kendali lampu ruangan atau kendali device lainnya. Untuk lebih jelasnya berikut program dan skemanya.
a. Minimum System
b. Program Bascom AVR
$regfile = "m32def.dat"
$crystal = 12000000
Ddrd.2 = 1
Ddrd.3 = 1
Ddrd.4 = 1
Ddrc.4 = 1
Ddrc.5 = 1
Ddrc.6 = 1
Ddrc.7 = 1
Ddra = &B00000000
Porta = &B11111111
Dataout Alias Portd.3
Clock Alias Portd.2
Dim Datas As Byte
Dim X As Integer
X = 0
Portd.4 = 1
Do
If Pina.0 = 0 Then
X = 1
Portc.4 = 1
Goto Kirim
Elseif Pina.1 = 0 Then
X = 2
Portc.4 = 0
Goto Kirim
Elseif Pina.2 = 0 Then
X = 3
Portc.5 = 1
Goto Kirim
Elseif Pina.3 = 0 Then
X = 4
Portc.5 = 0
Goto Kirim
Elseif Pina.4 = 0 Then
X = 5
Portc.6 = 1
Goto Kirim
Elseif Pina.5 = 0 Then
X = 6
Portc.6 = 0
Goto Kirim
Elseif Pina.6 = 0 Then
X = 7
Portc.7 = 1
Goto Kirim
Elseif Pina.7 = 0 Then
X = 8
Portc.7 = 0
Goto Kirim
End If
Data7seg:
Data &B11000000 '0
Data &B11111001 '1
Data &B10100100 '2
Data &B10110000 '3
Data &B10011001 '4
Data &B10010010 '5
Data &B10000010 '6
Data &B11111000 '7
Data &B10000000 '8
Data &B10010000
Membuat Rangkaian Alat Buck Converter dan Boost Converter
Kali ini saya akan membahas mengenai bagaimana cara membuat rangkaian buck dan boost converter, sebelumnya apa buck converter itu ? yaitu sebuah rangkaian yang digunakan untuk menurunkan tegangan dengan efisiensi daya yang bagus dari pada mengunakan IC regulator misal IC regulator step down 7805 atau lm317, kemudian sebaliknya, boost converter adalah sebuah rangkaian yang digunakan untuk menaikkan tegangan dari tegangan sumber, misal dari tegangan 5 volt menjadi tegangan 12 volt atau 20 volt tergantung dari duty cycle yang dipakai, untuk lebih jelasnya berikut adalah penjelasan program dan skemanya.
Mosfet IRF540
Dioda MUR1560
Optocopler TLP250
a. Minimum System ATMega8
b. Rangkaian Buck Converter
c. Rangkaian Boost Converter
d. Dioda MUR1560
e. Program Arduino IDE
#include <PWM.h>
//use pin 11 on the Mega instead, otherwise there is a frequency cap at 40 KHz
int led = 9; // the pin that the PWM is attached to
int brightness = 0; // duty cycle int fadeAmount = 125;
int32_t frequency = 40000; //frequency (in Hz)
void setup()
{
//initialize all timers except for 0, to save time keeping functions
InitTimersSafe();
Serial.begin(9600);
//sets the frequency for the specified pin
bool success = SetPinFrequencySafe(led, frequency);
//if the pin frequency was set successfully, turn pin 13 on
if(success) {
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
}
}
void loop()
{
int sensorValue = analogRead(A0);
if (sensorValue > 255)
{
sensorValue = 255;
}
//float teg = sensorValue * (4.7 / 1023.0);
//use this functions instead of analogWrite on 'initialized' pins
pwmWrite(led, brightness);
//merubah duty cycle sesuai nilai ADC
brightness = sensorValue;
}
f. Program Bascom AVR
'====================
'PWM dengan Frequency 40 Khz
'====================
Project :
Version :
Date : 7/20/2016
Author : tyery08
Company : embeeminded.blogspot.com
Comments:
Chip type : ATmega8535
Program type : Application
AVR Core Clock frequency: 16.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*****************************************************/
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
// Declare your global variables here
unsigned char buffer[32];
unsigned int inADC17, inADC24, outADC, arusout;
unsigned int dutyc;
float ainx, aoutx, voutx, vin, ain, arusin, aout, vin1, dayain, dayain1, slope;
float dc17, dc24, ft17, ft24, ftOut, deltavin, deltadaya;
Membuat Alat Penunjuk Arah Suara Menggunakan Sensor Suara dan Motor Stepper
Kali ini saya akan menjelaskan mengenai bagaimana cara membuat alat yang bisa menunjukan arah suara berasal menggunakan sensor suara module, jadi terdapat 3 buah sensor suara yang mana sensor tersebut akan mewakili tiap2 posisi, jika salah satu sensor mendapatkan adanya suara maka motor stepper akan bergerak menunjukkan arah sumber suara berasal, untuk aplikasi dari alat ini yaitu bisa digunakan sebagai penunjuk sumber suara, atau bisa juga sebagai kendali device menggunakan suara, dan masih banyak lagi aplikasinya. yang perlu diperhatikan yaitu supply 12 volt untuk stepper berikan resistor 1 Kiloohm agar stepper tidak terlalu panas. untuk lebih jelasnya berikut skema dan programnya.
If Dataadc0 >= 520 And Dataadc1 < 520 And Dataadc2 < 520 Then
Goto Sensor1
Cls
Elseif Dataadc0 < 520 And Dataadc1 >= 520 And Dataadc2 < 520 Then
Goto Sensor2
Cls
Elseif Dataadc0 < 520 And Dataadc1 < 520 And Dataadc2 >= 520 Then
Goto Sensor3
Cls
End If
Cara Mengambil Data ADC Menggunakan Android Dari Arduino Melalui WIFI / ETHERNET
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara mengambil data ADC dari Arduino ke HP Android menggunakan media WIFI atau Ethertnet, Jadi Arduino akan mengirimkan data ke server yaitu di address 198.168.1.88 kemudian HP Android akan mengambil data tersebut untuk ditampilkan di dalam aplikasinya, pada contoh kali ini syarat data yang dikirimkan di server adalah 3 digit dengan diawali dua karakter "##", jika ingin data yang panjang hanya perlu mengubah parameter yang ada di program Androidnya. untuk lebih jelasnya berikut adalah skema dan programnya.
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
int sumbux = analogRead(0);
int sumbuy = analogRead(1);
int sumbuz = analogRead(2);
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 1");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println(" ");
client.println("<title> Monitor Kemiringan </title> ");
client.println("<body bgcolor = #000000>");
client.println("<center>");
client.println("<font color = yellow><center><h1>MONITOR KEMIRINGAN DATARAN<br>BY YANUAR MUKHAMMAD</h1></center><br></font>");
client.println("<font color = #FFFFFF>");
client.println("<h2>");
client.println("Sumbu X = ##");
client.print(sumbux);
client.println("<br />");
client.println("</h2>");
client.println("</font>");
client.println("<a href = \"/?lighton\"\"><input type = 'button' value = 'ON' ></a>");
client.println("<a href = \"/?lightoff\"\"><input type = 'button' value = 'OFF' ></a> ");
client.println("</center>");
client.println("</body>");
client.println("</html>");
Membuat Alat Kendali Menggunakan Android dan WIfi / Ethernet
Malam ini saya akan menjelaskan mengenai bagaimana cara membuat alat dengan menggunakan Arduino Ethernet dan Android, jika biasanya kendali device seperti lampu, motor dc, kipas dll menggunakan bluetooth, sekarang diganti menggunakan wifi local bukan online, jadi sistemnya masih sama dengan bluetooth yaitu wireless namun jarak jangkaunya yang berbeda, kalau bluetooth biasanya hanya 1 meter, tapi kalau wifi bisa sampai 10 meter lebih tergantung tipe dan jenis router yang digunakan, prinsip kerjanya alat yang dibuat ini yaitu mengendalikan 4 buah led menggunakan HP Android dan media yang dipakai adalah wifi / jaringan ethernet, untuk lebih jelasnya berikut skema dan programnya.
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
int sumbux = analogRead(0);
int sumbuy = analogRead(1);
int sumbuz = analogRead(2);
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 1");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println(" ");
client.println("<title> Monitor Kemiringan </title> ");
client.println("<body bgcolor = #000000>");
client.println("<center>");
client.println("<font color = yellow><center><h1>KENDALI LAMPU VIA ETHERNET ANDROID<br>BY YANUAR MUKHAMMAD</h1></center><br></font>");
client.println("<a href = \"/?lighton1\"\"><input type = 'button' value = 'ON 1' ></a>");
client.println("<a href = \"/?lightoff1\"\"><input type = 'button' value = 'OFF 1' ></a> ");
client.println("<a href = \"/?lighton2\"\"><input type = 'button' value = 'ON 2' ></a>");
client.println("<a href = \"/?lightoff2\"\"><input type = 'button' value = 'OFF 2' ></a> ");
client.println("<a href = \"/?lighton3\"\"><input type = 'button' value = 'ON 3' ></a>");
client.println("<a href = \"/?lightoff3\"\"><input type = 'button' value = 'OFF 3' ></a> ");
client.println("<a href = \"/?lighton4\"\"><input type = 'button' value = 'ON 4' ></a>");
client.println("<a href = \"/?lightoff4\"\"><input type = 'button' value = 'OFF 4' ></a> ");
Cara Mengakses Power Line Carrier Menggunakan Microcontroller
Finally, my ambition project telah usai seiring project ini berakhir, kali ini saya akan menjelaskan mengenai bagaimana cara mengakses modul power line carrier KQ330 menggunakan mikrokontroller dan bahasa bascom avr. Sebelumnya apa itu power line carrier ??, PLC adalah sebuah sistem dimana kita bisa mengirimkan data dari master ke slave dalam satu line menggunakan tegangan 220VAC 50 Hz. jadi ini adalah inovasi terbaru dalam bidang elektronika, jika biasanya menggunakan kabel panjang dalam pengiriman data, sekarang bisa dengan mudah mengirimkan data melalui tegangan AC 220v 50 Hz. Aplikasi dari PLC ini yaitu misal dalam sebuah kantor terdapat lampu yang harus dikontrol melalui kontrol room, maka tidak perlu menggunakan kabel khusus yang terhubung ke kontroller, sambungkan saja kontroller ke PLC lalu PLC ke listrik 220V AC, di TKP terdapat kontroller penerima yang akan mematikan lampu sesuai perintah dari master / transmitter, itu hanya salah satu contoh saja, masih banyak lainnya. Untuk lebih jelasnya berikut skema dan programnya menggunakan bascom AVR.
Cara Mengakses Robot ARM ( Robot Lengan ) Menggunakan Mikrokontroller dan Driver Servo XISC-32 / SSC-32
This is my last ambition project, Selamat malam kawan semua, kali ini saya akan menjelaskan mengenai bagaimana cara mengakses robot lengan atau ARM robot yang mana biasanya robot ini berada di industri seperti halnya robot pemindah barang atau robot pengangkat beban, robot ini memiliki 4 buah servo dengan variasi rotasi yang bagus. Robot ini menggunakan mikrokontroller ATMega32 dan driver servo XISC-32. Yang perlu diperhatikan disini yaitu tegangan dan arus supply, gunakanlah supply 12v 2A atau lebih, supaya servo bisa bergerak lancar, untuk lebih jelasnya berikut skema dan programnya.