Program counter menggunakan 7-segment 1 Digit

7:00 AM Comment
Program counter menggunakan 7-segment 1 Digit


Berikut adalah program counter menggunakan 7-segment display dengan Arduino. Program ini akan menampilkan angka dari 0 hingga 9 secara berurutan dan ditampilkan pada 7-segment display common cathode.

Komponen yang Dibutuhkan

  • Arduino Uno (atau jenis lainnya).
  • 7-segment display (common cathode).
  • Resistor 220 Ohm (7 buah, untuk melindungi LED pada 7-segment).
  • Kabel jumper.
  • Breadboard.

Sebelum memulai, pahami 7-segment display. Setiap segmen dihubungkan ke pin Arduino untuk menyalakan LED:
seven segment pinout

Biasanya, pin segmen dihubungkan ke Arduino seperti ini:

  • a → Pin 2
  • b → Pin 3
  • c → Pin 4
  • d → Pin 5
  • e → Pin 6
  • f → Pin 7
  • g → Pin 8
  • Common Cathode (CC) → GND

  1. Sambungkan segmen a-g ke pin digital Arduino (2-8).
  2. Hubungkan resistor 220 Ohm ke setiap pin segmen.
  3. Hubungkan pin common cathode (CC) ke GND Arduino.
Program Arduino 

  // Definisi pin untuk setiap segmen (a-g) pada 7-segment
int segA = 2;
int segB = 3;
int segC = 4;
int segD = 5;
int segE = 6;
int segF = 7;
int segG = 8;

// Array untuk menyimpan pola angka 0-9 (LOW berarti segmen menyala)
byte angka[10][7] = {
  {LOW, LOW, LOW, LOW, LOW, LOW, HIGH}, // 0
  {HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 1
  {LOW, LOW, HIGH, LOW, LOW, HIGH, LOW}, // 2
  {LOW, LOW, LOW, LOW, HIGH, HIGH, LOW}, // 3
  {HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW}, // 4
  {LOW, HIGH, LOW, LOW, HIGH, LOW, LOW}, // 5
  {LOW, HIGH, LOW, LOW, LOW, LOW, LOW}, // 6
  {LOW, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 7
  {LOW, LOW, LOW, LOW, LOW, LOW, LOW}, // 8
  {LOW, LOW, LOW, LOW, HIGH, LOW, LOW}  // 9
};

// Fungsi untuk menampilkan angka di 7-segment
void tampilkanAngka(int num) {
  digitalWrite(segA, angka[num][0]);
  digitalWrite(segB, angka[num][1]);
  digitalWrite(segC, angka[num][2]);
  digitalWrite(segD, angka[num][3]);
  digitalWrite(segE, angka[num][4]);
  digitalWrite(segF, angka[num][5]);
  digitalWrite(segG, angka[num][6]);
}

void setup() {
  // Atur pin segmen sebagai output
  pinMode(segA, OUTPUT);
  pinMode(segB, OUTPUT);
  pinMode(segC, OUTPUT);
  pinMode(segD, OUTPUT);
  pinMode(segE, OUTPUT);
  pinMode(segF, OUTPUT);
  pinMode(segG, OUTPUT);
}

void loop() {
  // Loop angka 0-9
  for (int i = 0; i <= 9; i++) {
    tampilkanAngka(i); // Tampilkan angka pada 7-segment
    delay(1000);       // Tunda 1 detik sebelum ke angka berikutnya
  }
}

  

Penjelasan Kode
  • Array angka menyimpan pola segmen untuk angka 0–9.
  • Setiap angka diwakili oleh 7 nilai (LOW/HIGH) untuk segmen a-g.
  • LOW berarti segmen menyala pada 7-segment common cathode.
  • Fungsi tampilkanAngka() menyalakan segmen sesuai pola angka.
  • Loop for digunakan untuk menghitung dari 0 sampai 9, dengan jeda 1 detik antar angka.
Cara Kerja Alat
  • Upload kode program ke Arduino menggunakan Arduino IDE.
  • LED pada 7-segment akan menampilkan angka dari 0 hingga 9 secara berurutan.
  • Angka akan berubah setiap 1 detik.


Cara mudah mengetahui kutub positif dan negatif led

11:00 AM Comment
membedakan anoda katoda led


Melihat Panjang Kaki LED

  • Kaki panjang → Anoda (positif)
  • Kaki pendek → Katoda (negatif)

Ini adalah cara paling umum jika LED masih baru dan belum dipotong kakinya. Namun, jika kaki LED sudah dipotong, gunakan metode lain.

Melihat Bagian Dalam LED (Bentuk Anvil)

  • Perhatikan bagian dalam LED (dari sisi transparan):
  • Bagian besar/tebal (seperti sendok) → Katoda (negatif)
  • Bagian kecil/tipis → Anoda (positif)

Ciri ini bisa dilihat dengan mudah pada LED bening atau LED dengan badan transparan.

Alat deteksi ketinggian air menggunakan Arduino

11:16 AM Comment

 Untuk membuat alat deteksi ketinggian air menggunakan Arduino, kita bisa memanfaatkan sensor ultrasonik (HC-SR04) atau sensor level air seperti water level sensor atau rangkaian pelampung.

Berikut adalah panduan membuat alat deteksi ketinggian air menggunakan sensor ultrasonik HC-SR04 karena mudah digunakan dan tidak memerlukan kontak langsung dengan air.

Komponen yang Dibutuhkan

  • Arduino Uno (atau jenis lainnya).
  • Sensor Ultrasonik HC-SR04 – untuk mengukur jarak permukaan air.
  • Buzzer – untuk alarm jika ketinggian air melewati batas tertentu.
  • LED (opsional) – sebagai indikator tambahan.
  • Resistor 220 Ohm – untuk LED.
  • Kabel jumper – untuk koneksi antar komponen.
  • Breadboard – sebagai papan koneksi sementara.
  • Adaptor atau kabel USB – sebagai catu daya Arduino.

Prinsip Kerja
  • Sensor ultrasonik HC-SR04 mengukur jarak antara sensor dan permukaan air.
  • Jika jarak air mendekati sensor (ketinggian air naik), Arduino akan memicu buzzer atau LED sebagai alarm.
  • Logika sederhana: Semakin tinggi air, semakin kecil jarak yang terbaca oleh sensor.
Alat deteksi ketinggian air menggunakan Arduino


Skema Rangkaian
Koneksi Sensor HC-SR04 ke Arduino:
  • VCC → 5V Arduino
  • GND → GND Arduino
  • TRIG → Pin 7 Arduino
  • ECHO → Pin 6 Arduino
Koneksi Buzzer dan LED:
  • Buzzer positif → Pin 10 Arduino
  • LED positif → Pin 13 Arduino (melalui resistor 220 Ohm).
  • Buzzer negatif dan LED negatif → GND Arduino.
Program Arduino

#define trigPin 7    // Pin Trig sensor ultrasonik
#define echoPin 6   // Pin Echo sensor ultrasonik
#define buzzer 10     // Pin buzzer
#define led 13        // Pin LED

float jarak;         // Variabel untuk menyimpan jarak
float tinggi_air;    // Variabel untuk menyimpan ketinggian air
float tinggi_tangki = 30.0; // Tinggi tangki air dalam cm (sesuaikan)

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600); // Inisialisasi komunikasi serial
}

void loop() {
  // Mengirimkan pulsa ultrasonik
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // Membaca waktu pantulan (dalam mikrodetik)
  long durasi = pulseIn(echoPin, HIGH);
  
  // Menghitung jarak (dalam cm)
  jarak = durasi * 0.034 / 2; 
  
  // Menghitung ketinggian air
  tinggi_air = tinggi_tangki - jarak;

  // Menampilkan data di Serial Monitor
  Serial.print("Jarak permukaan air: ");
  Serial.print(jarak);
  Serial.print(" cm | Ketinggian air: ");
  Serial.print(tinggi_air);
  Serial.println(" cm");

  // Logika alarm jika ketinggian air melebihi batas
  if (tinggi_air > 25) { // Sesuaikan batas tinggi air
    digitalWrite(buzzer, HIGH); // Buzzer menyala
    digitalWrite(led, HIGH);    // LED menyala
    Serial.println("Peringatan: Air mendekati batas maksimum!");
  } else {
    digitalWrite(buzzer, LOW); // Buzzer mati
    digitalWrite(led, LOW);    // LED mati
  }
  
  delay(1000); // Delay 1 detik sebelum pengukuran berikutnya
}

  
 
Cara Kerja Alat
  • Pasang sensor ultrasonik di bagian atas tangki atau wadah air.
  • Jalankan program dan buka Serial Monitor untuk melihat data jarak dan ketinggian air.
  • Jika air mendekati batas atas, buzzer dan LED akan aktif sebagai peringatan.
Pengembangan Lanjutan
  • Tambahkan layar LCD untuk menampilkan ketinggian air secara langsung.
  • Gunakan modul relay untuk mengontrol pompa air otomatis saat ketinggian air mencapai batas tertentu.
  • Integrasikan dengan modul Wi-Fi (ESP8266/ESP32) untuk mengirim notifikasi ke smartphone.
  • Tambahkan fitur logging data menggunakan SD card untuk mencatat perubahan ketinggian air.

Alat Kontrol Suhu Ruangan dengan Esp32

10:42 AM Comment

 Untuk mendeteksi suhu menggunakan ESP32 dengan sensor DHT (DHT11/DHT22) dan mengontrol kipas angin berdasarkan suhu, Anda dapat mengikuti langkah berikut:


deteksi suhu ruangan dengan esp32
Alat yang di butuhkan :

  • ESP32.
  • Sensor DHT (DHT11/DHT22).
  • Kipas angin (DC fan) 12v.
  • Modul relay
  • Kabel Jumper
  • Power Suplay 12v

Diagram Rangkaian :
DHT Sensor:
  • Pin VCC → 3.3V atau 5V di ESP32.
  • Pin GND → GND di ESP32.
  • Pin DATA → D8 ESP32.
  • Resistor pull-up 10kΩ antara pin DATA dan VCC.
Modul Relay (untuk kipas angin):
  • VCC → 5V dari Modul StepDown.
  • GND → GND dari ESP32.
  • IN → D6 ESP32.
Sambungkan kipas ke relay seperti berikut:
Salah satu kabel kipas ke NO (Normally Open).
Kabel kipas lainnya ke C (Common).
bisa dilihat pada gambar diaatas

Program :


#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

// Konfigurasi sensor DHT
#define DHTPIN 8       // Pin data DHT
#define DHTTYPE DHT22  // Ubah ke DHT11 jika menggunakan DHT11
DHT dht(DHTPIN, DHTTYPE);

// Pin relay untuk kipas
#define RELAYPIN 6

// Ambang suhu untuk kipas
#define TEMPERATURE_THRESHOLD 30.0 // Suhu dalam °C

void setup() {
  Serial.begin(115200);
  Serial.println(F("DHT with Fan Control"));

  // Memulai DHT
  dht.begin();

  // Mengatur pin relay sebagai output
  pinMode(RELAYPIN, OUTPUT);
  digitalWrite(RELAYPIN, LOW); // Kipas mati saat awal
}

void loop() {
  // Tunggu 2 detik antar pembacaan
  delay(2000);

  // Membaca suhu dan kelembapan
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();

  // Periksa apakah pembacaan berhasil
  if (isnan(temperature) || isnan(humidity)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  // Menampilkan hasil ke Serial Monitor
  Serial.print(F("Temperature: "));
  Serial.print(temperature);
  Serial.print(F("°C  Humidity: "));
  Serial.print(humidity);
  Serial.println(F("%"));

  // Mengontrol kipas berdasarkan suhu
  if (temperature > TEMPERATURE_THRESHOLD) {
    digitalWrite(RELAYPIN, HIGH); // Nyalakan kipas
    Serial.println(F("Fan ON"));
  } else {
    digitalWrite(RELAYPIN, LOW); // Matikan kipas
    Serial.println(F("Fan OFF"));
  }
}

Membuat alarm hujan sederhana menggunakan Arduino Uno

11:29 AM Comment

 Membuat alarm hujan menggunakan Arduino Uno adalah proyek yang menarik dan bermanfaat untuk mendeteksi hujan dan memberi peringatan melalui suara atau sinyal. Untuk membuat proyek ini, kita memerlukan beberapa komponen utama dan pengaturan program yang sederhana. Berikut adalah langkah-langkah untuk membuat alarm hujan dengan Arduino Uno:

Membuat alarm hujan menggunakan Arduino Uno


Alat dan Bahan yang Dibutuhkan

  • Arduino Uno
  • Sensor Hujan (Rain Sensor Module - biasanya terdiri dari dua bagian: sensor dan modul pengontrol)
  • Buzzer atau LED (untuk alarm)
  • Resistor (opsional untuk menyeimbangkan tegangan LED atau buzzer jika diperlukan)
  • Kabel jumper

Cara Kerja

Sensor hujan akan mendeteksi adanya air pada permukaannya, yang akan menurunkan resistansi pada sensor dan memberikan output ke modul pengontrolnya. Modul ini kemudian akan mengirimkan sinyal digital ke Arduino, yang dapat digunakan untuk mengaktifkan buzzer atau LED sebagai alarm.

Rangkaian

  • Hubungkan sensor hujan: Sambungkan pin output digital sensor hujan (biasanya D0) ke pin digital Arduino (misalnya, pin D2).
  • Hubungkan buzzer atau LED: Sambungkan pin positif dari buzzer atau LED ke pin digital lain pada Arduino (misalnya, pin D3), dan pin negatif ke ground.
  • Sambungkan ground dari sensor dan Arduino, serta sambungkan pin VCC sensor ke 5V dari Arduino.

// Inisialisasi pin
const int sensorPin = 2;  // Pin sensor hujan
const int alarmPin = 3;   // Pin buzzer atau LED untuk alarm

void setup() {
  pinMode(sensorPin, INPUT);   // Atur pin sensor sebagai input
  pinMode(alarmPin, OUTPUT);   // Atur pin alarm sebagai output
  Serial.begin(9600);          // Inisialisasi serial monitor
}

void loop() {
  int statusHujan = digitalRead(sensorPin);  // Membaca status dari sensor hujan
  
  if (statusHujan == LOW) {  // LOW berarti air terdeteksi (tergantung sensor)
    digitalWrite(alarmPin, HIGH);  // Aktifkan alarm (LED atau buzzer)
    Serial.println("Hujan terdeteksi!");
  } else {
    digitalWrite(alarmPin, LOW);   // Matikan alarm
    Serial.println("Tidak ada hujan.");
  }
  
  delay(500);  // Tunggu setengah detik sebelum membaca ulang
}

Penjelasan Kode
  • digitalRead(sensorPin) digunakan untuk membaca nilai dari sensor hujan.
  • digitalWrite(alarmPin, HIGH) akan mengaktifkan buzzer atau LED jika hujan terdeteksi.
  • Serial.println hanya digunakan untuk menampilkan status di Serial Monitor (opsional).
Pengujian
  • Upload kode ke Arduino.
  • Basahi permukaan sensor hujan untuk melihat apakah buzzer atau LED menyala.
  • Jika berhasil, buzzer atau LED akan aktif saat sensor mendeteksi air.

Monitoring suhu dan kelembapan dengan Arduino Uno

10:07 AM Comment

 Untuk membuat program pemantauan suhu dan kelembapan dengan Arduino Uno, Anda dapat menggunakan sensor DHT11 atau DHT22. Kedua sensor ini sangat populer untuk mengukur suhu dan kelembapan.

program pemantauan suhu dan kelembapan dengan Arduino Uno,

Komponen yang Dibutuhkan:

  • Arduino Uno
  • Sensor DHT11 atau DHT22
  • Resistor 10k ohm (untuk pull-up resistor pada sensor DHT)
  • Breadboard
  • Kabel jumper
  • Kabel USB untuk menghubungkan Arduino ke komputer

Langkah-langkah Pemasangan:

  • Hubungkan pin VCC sensor DHT ke pin 5V pada Arduino.
  • Hubungkan pin GND sensor DHT ke pin GND pada Arduino.
  • Hubungkan pin data sensor DHT ke pin digital (misalnya, pin 2) pada Arduino.
  • Hubungkan resistor 10k ohm antara pin VCC dan pin data sensor (sebagai pull-up resistor).

Library yang Diperlukan:

Anda perlu menginstal DHT sensor library dari Adafruit untuk Arduino IDE. Caranya:

  • Buka Arduino IDE.
  • Pilih Sketch > Include Library > Manage Libraries.
  • Cari "DHT sensor library" dan klik install.
  • Jangan lupa juga untuk menginstal Adafruit Unified Sensor library, karena ini adalah dependensi dari library DHT.

Kode Program untuk Membaca Suhu dan Kelembapan:

Berikut adalah contoh kode Arduino untuk membaca suhu dan kelembapan dari sensor DHT11 atau DHT22.



#include "DHT.h"

// Definisikan tipe sensor
#define DHTPIN 2       // Pin tempat sensor terhubung
#define DHTTYPE DHT11  // Ganti dengan DHT22 jika menggunakan DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);  // Memulai komunikasi serial
  dht.begin();         // Memulai sensor DHT
}

void loop() {
  // Tunggu beberapa detik antara pengukuran
  delay(2000);

  // Membaca kelembapan
  float humidity = dht.readHumidity();
  // Membaca suhu dalam Celcius (default)
  float temperature = dht.readTemperature();

  // Periksa apakah pembacaan gagal
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Tampilkan hasil di Serial Monitor
  Serial.print("Kelembapan: ");
  Serial.print(humidity);
  Serial.print(" %\t");
  Serial.print("Suhu: ");
  Serial.print(temperature);
  Serial.println(" *C");
}
Langkah-langkah Upload Kode ke Arduino:
  • Hubungkan Arduino Uno ke komputer dengan kabel USB.
  • Buka Arduino IDE dan tempel kode di atas.
  • Pilih Tools > Board > Arduino Uno dan Tools > Port sesuai dengan port yang terhubung.
  • Klik tombol Upload (panah kanan) untuk mengunggah kode ke Arduino.
  • Buka Serial Monitor di Arduino IDE (dengan kecepatan baud 9600) untuk melihat hasil suhu dan kelembapan.
Penjelasan Kode:
  • Library DHT digunakan untuk membaca data dari sensor DHT.
  • Pada fungsi loop(), program akan membaca suhu dan kelembapan setiap 2 detik dan menampilkannya di Serial Monitor.
  • Pastikan Anda mengganti DHT11 dengan DHT22 jika menggunakan sensor DHT22, karena kedua sensor ini memiliki akurasi dan rentang suhu/kelembapan yang berbeda.
Jika ada pertanyaan lebih lanjut atau jika Anda ingin menambahkan fitur lain, jangan ragu untuk bertanya!