Project dengan arduino Uno PENGATURAN OUTPUT DENGAN PULSE WITH MODULATION (PWM) Blog Adi Sanjaya Global Techno Solution - AS-GTS

Project dengan arduino Uno PENGATURAN OUTPUT DENGAN PULSE WITH MODULATION (PWM) Blog Adi Sanjaya Global Techno Solution - AS-GTS

Size
Price:

Read more

Project dengan arduino Uno PENGATURAN OUTPUT DENGAN PULSE WITH MODULATION (PWM)

PWM adalah singkatan dari Pulse With Modulation, yang fungsinya untuk mengatur besaran
output digital dalam range tertentu ( 0 – 255 ). Konsep PWM ini banyak diimplementasikan
untuk pengaturan kecepatan motor, besaran intensitas cahaya, dan keperluan lainnya.
Arduino memiliki 6 pin PWM, yaitu pin 3, 5, 6, 9, 10, 11. Oleh karena itu, motor ataupun lampu
yang akan dikontrol harus dihubungkan dengan pin PWM tersebut.




gambar Project dengan arduino Uno PENGATURAN OUTPUT DENGAN PULSE WITH MODULATION (PWM)


// Program pengaturan intensitas cahaya
int ledPin = 9; // PWM pin for the LED
void setup() {} // no setup needed
void loop() {
for (int i=0; i<=255; i++) // ascending value for i
{
analogWrite(ledPin, i); // sets brightess level to i
delay(100); // pauses for 100ms
}
for (int i=255; i>=0; i--) // descending value for i
{
analogWrite(ledPin, i); // sets brightess level to i
delay(100); // pauses for 100ms
}
}


Catatan:
for (int i=0; i<=255; i++) = naik +1 secara berulang .
for (int i=0; i<=255; i+=5) = naik +5 secara berulang
Cobalah memodifikasi peogram diatas dengan menggunakan 2 LED :
// dual fade
int redPin = 9; // Red LED connected to digital pin 9
int yellowPin = 10; // Yellow LED connected to digital pin 10
void setup() {
// nothing happens in setup
}
void loop() {
// fade in from min to max in increments of 5 points:
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(redPin, fadeValue);
analogWrite(yellowPin, (255 - fadeValue));
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
// sets the value (range from 0 to 255):
analogWrite(redPin, fadeValue);
analogWrite(yellowPin, (255 - fadeValue));
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}


Sketch diatas dapat dikembangkan menjadi lebih dinamis dengan menambah potentiometer
sebagai pengatur intensitas cahaya. Cara pemasangan potentiometer sama dengan yang telah
dipraktikkan pada project 4, yaitu satu kaki ke kutub positif (+), kaki tengah ke pin A0 (Analog
0), dan kaki satunya ke kutup negatif (-). Adapun sketchnya dapat dimodifikasi menjadi sbb:


sketch : Program pengaturan intensitas cahaya menggunakan potentiometer
int potPin = 0;
int ledPin = 9;
int potValue = 0;

void setup()
{
//pinMode(int ledPin, OUTPUT);
}
void loop() {
potValue = analogRead(potPin) / 4; // Input analog nilainya 1024. Harus / 4 agar jadi (0- 255)
//potValue = map(val, 0, 1023, 0, 254); // cara lain mengkonversi nilai 0-1024 menjadi 0-255
analogWrite(ledPin, potValue);
}
//potValue pada analogWrite nilainya 0-255.

Catatan:
Selanjutnya, project tersebut diatas dapat dimodifikasi menjadi pengendali putaran motor
dengan potentiometer. Pada prinsipnya, hanya perlu mengganti LED dengan motor DC.
Sketch tetap menggunakan pengaturan output dengan PWM, sebagaimana contoh pengaturan
intensitas cahaya dengan potensiometer diatas.
Arus output dari Arduino tidaklah cukup untuk menggerakkan motor jenis TAMIYA, sehingga
diperlukan rangkaian penguat untuk menggerakkannya (H-Bridge Motor Driver)

Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11, 
Blawong 1 , RT 01, Trimulyo, Jetis, Bantul 55781.

Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
 www.kedaiarduino.com

0 Reviews

Contact form

Name

Email *

Message *