Rabu, 29 Oktober 2025

Algoritma fuzzy

Belajar Logika Fuzzy Interaktif

Apa itu Logika Fuzzy?

Logika Fuzzy adalah perluasan dari logika Boolean (yang menggunakan nilai benar/salah atau 1/0 secara pasti) untuk menangani konsep kebenaran parsial. Dalam dunia nyata, banyak hal tidak hitam-putih, seperti "agak hangat", "cukup tinggi", atau "sedikit dingin". Logika Fuzzy memungkinkan kita untuk merepresentasikan dan bernalar dengan ketidakpastian ini secara matematis.

Bagian ini memperkenalkan perbedaan fundamental antara logika 'crisp' (pasti) dan 'fuzzy' (samar). Logika crisp memiliki batasan yang kaku, sedangkan logika fuzzy memiliki transisi yang mulus.

Logika Crisp (Pasti)

Contoh: Seseorang "Tinggi" jika tingginya > 175 cm.

Logika Fuzzy (Samar)

Contoh: Seseorang "Tinggi" secara bertahap.

Konsep Kunci Logika Fuzzy

1. Variabel Linguistik

Ini adalah variabel yang nilainya bukan angka, tetapi kata-kata atau frasa dari bahasa alami. Contoh: "Suhu", "Kecepatan", "TinggiBadan".

2. Himpunan Fuzzy (Fuzzy Sets)

Ini adalah "label" atau "nilai" kualitatif untuk Variabel Linguistik. Jika variabelnya adalah "Suhu", himpunan fuzzynya bisa jadi: "Dingin", "Hangat", "Panas".

3. Fungsi Keanggotaan

Ini adalah inti dari logika fuzzy. Ini adalah kurva (atau grafik) yang mendefinisikan sejauh mana suatu nilai input (angka pasti, atau "crisp") termasuk dalam suatu Himpunan Fuzzy. Nilainya berkisar antara 0 (sama sekali tidak termasuk) hingga 1 (termasuk sepenuhnya).

Visualisasi Fungsi Keanggotaan

Mari kita jelajahi konsep terpenting: fungsi keanggotaan. Grafik di bawah ini menunjukkan variabel linguistik "Suhu" dengan tiga himpunan fuzzy: "Dingin", "Hangat", dan "Panas". Coba geser slider di bawah untuk melihat bagaimana nilai "crisp" (suhu pasti) memiliki derajat keanggotaan yang berbeda-beda di setiap himpunan.

Suhu Saat Ini: 18°C

Derajat "Dingin"

0.00

Derajat "Hangat"

0.00

Derajat "Panas"

0.00

Bagaimana Sistem Fuzzy Bekerja?

Sistem inferensi fuzzy (Fuzzy Inference System/FIS) menggunakan konsep-konsep tadi untuk membuat keputusan. Proses umumnya terdiri dari empat langkah yang divisualisasikan di bawah ini. Arahkan kursor (atau ketuk pada perangkat seluler) ke setiap langkah untuk mendapatkan penjelasan singkat.

1. Fuzzifikasi

Mengubah input 'crisp' (angka pasti) menjadi nilai fuzzy (derajat keanggotaan) menggunakan fungsi keanggotaan.

2. Evaluasi Aturan

Menerapkan aturan IF-THEN (misal: JIKA Suhu 'Panas' MAKA KecepatanKipas 'Cepat') ke nilai-nilai fuzzy.

3. Agregasi

Menggabungkan hasil dari semua aturan yang dievaluasi menjadi satu himpunan fuzzy keluaran.

4. Defuzzifikasi

Mengubah himpunan fuzzy keluaran gabungan kembali menjadi satu nilai 'crisp' (angka pasti) sebagai output akhir.

Aplikasi di Dunia Nyata

Logika fuzzy sangat berguna dalam sistem kontrol dan pengambilan keputusan di mana inputnya tidak pasti atau kompleks. Anda mungkin menggunakannya setiap hari tanpa sadar. Bagian ini menyoroti beberapa contoh umum.

Pendingin Udara (AC)

AC modern menggunakan logika fuzzy untuk menyesuaikan suhu dan kecepatan kipas secara optimal berdasarkan suhu ruangan, kelembaban, dan jumlah orang, sehingga lebih efisien dan nyaman.

Mesin Cuci

Sensor pada mesin cuci mengukur seberapa kotor pakaian dan berapa beratnya. Logika fuzzy menentukan jumlah deterjen, air, dan waktu siklus cuci yang "pas", tidak terlalu banyak atau sedikit.

Transmisi Otomatis

Sistem transmisi mobil dapat menggunakan logika fuzzy untuk memutuskan kapan harus memindahkan gigi, berdasarkan kecepatan, akselerasi, dan kemiringan jalan, untuk pengendaraan yang lebih mulus.

Sistem Pengereman (ABS)

Logika fuzzy membantu sistem ABS menentukan tekanan pengereman yang optimal untuk mencegah roda terkunci, beradaptasi dengan kondisi jalan yang "agak licin" atau "cukup kering".

Rice Cooker

Penanak nasi canggih menggunakan logika fuzzy untuk mengatur panas dan waktu memasak berdasarkan jumlah beras dan air, memastikan nasi matang dengan sempurna.

Fokus Otomatis Kamera

Logika fuzzy membantu sistem fokus otomatis menganalisis beberapa titik dalam bingkai untuk menentukan subjek utama yang "mungkin" dimaksud oleh fotografer, bahkan jika itu bukan di tengah.

Aplikasi Pembelajaran Interaktif Logika Fuzzy

Kamis, 02 Oktober 2025

Laporan Riset Mengenai Peluang Pembuatan Mesin Waktu

 

Mungkinkah mesin waktu mampu diciptakan

1. Pemahaman Ilmiah Saat Ini

Teori relativitas khusus menyatakan bahwa waktu relatif terhadap pengamat yang bergerak cepat, sehingga perjalanan “maju” menuju masa depan (melalui dilatasi waktu) mungkin terjadi secara teoritis. Namun, relativitas khusus tidak memungkinkan perjalanan mundur ke masa lalu. Sebaliknya, teori relativitas umum (Einstein) menggambarkan ruang dan waktu sebagai satu kesatuan (ruang-waktu) yang dapat melengkung di sekitar massa/energi. Dalam kerangka relativitas umum terdapat solusi matematis yang memungkinkan lingkaran waktu (closed timelike curves) — jejak partikel yang kembali ke titik awalnya di masa lalu

en.wikipedia.org.

Contohnya adalah metrik Gödel (alam semesta berotasi), tabung Tipler tak hingga, atau lubang cacing (wormhole) yang secara hipotetis menghubungkan dua titik jauh di ruang-waktu. Ilustrasi di bawah menggambarkan konsep hipotetis perjalanan melalui wormhole, sebuah ‘jembatan’ ruang-waktu – sesuatu yang diperbolehkan oleh teori relativitas umum (meski membutuhkan materi eksotik untuk kestabilannya)

imagine.gsfc.nasa.goven.wikipedia.org.


Ilustrasi artistik perjalanan sebuah pesawat antariksa melalui wormhole (jembatan Einstein–Rosen) yang menghubungkan dua wilayah berbeda di ruang-waktu secara hipotetis. Menurut Einstein, wormhole seperti ini secara teori dapat terjadi dalam relativitas umum, tapi “secara teoritis tidak stabil” dan memerlukan materi bermassa negatif agar dapat terbuka

imagine.gsfc.nasa.gov.


Pada titik tertentu ketika wormhole memungkinkan terjadinya kurva waktu tertutup, perhitungan fisika semi-klasik menunjukkan fluktuasi vakum kuantum yang amat besar yang dapat membuat jembatan itu runtuh


en.wikipedia.org

Dengan kata lain, meski persamaan medan Einstein mengizinkan solusi seperti CTC dan wormhole

en.wikipedia.orgen.wikipedia.org

efek kuantum dan kebutuhan materi eksotis (energi negatif) belum terjamin secara fisik sehingga menyulitkan realisasinya.

Adapun kurva waktu tertutup (closed timelike curve, CTC) sendiri didefinisikan sebagai lintasan waktu material yang kembali ke titik awalnya

en.wikipedia.org

Keberadaan CTC secara teoretis mengindikasikan kemungkinan perjalanan mundur dalam waktu, memunculkan paradoks seperti “paradoks kakek” (grandfather paradox) apabila seorang penjelajah waktu mengubah masa lalu

en.wikipedia.org.

Beberapa teori coba mengatasi paradoks ini, misalnya prinsip kesetimbangan Novikov yang melarang setiap ketidakkonsistenan. Stephen Hawking bahkan mengajukan “konjektur perlindungan kronologi”, mengandaikan bahwa hukum fisika (atau efek kuantum gravitasi) mencegah terbentuknya CTC sehingga “alam semesta aman bagi sejarawan”

en.wikipedia.orgen.wikipedia.org.


Selain itu, perjalanan ke masa lalu juga akan bertentangan dengan hukum kedua termodinamika: entropi alam semesta hanya meningkat searah waktu, sehingga mengubah alur waktu ke belakang akan memerlukan membalik “jarum termal” yang tak didukung oleh fisika termal saat ini.

Secara keseluruhan, pemahaman ilmiah saat ini menempatkan perjalanan waktu ke ranah spekulasi. Relativitas umum memberikan beberapa solusi yang secara matematis memungkinkan CTC (misalnya wormhole atau benda berotasi ekstrim), namun realitas fisiknya dibatasi oleh kebutuhan energi negatif dan efek kuantum yang cenderung menutup jalan tersebut

en.wikipedia.orgimagine.gsfc.nasa.gov.

 Paradoks waktu dan hukum termodinamika merupakan kendala tambahan yang belum teratasi.

2. Eksperimen dan Penelitian Terbaru

Meskipun mesin waktu nyata belum berhasil dibuat, beberapa penelitian terbaru mencoba mensimulasikan aspek-aspek konsep ini menggunakan eksperimen kuantum canggih. Ringbauer et al. (2014), misalnya, berhasil meneliti model kurva waktu tertutup dengan eksperimen fotonik kuantum. Mereka mensimulasikan sebuah qubit yang berinteraksi dengan versi dirinya sendiri di masa lalu (closed timelike curve) dan menemukan efek-efek non-klasik menarik (seperti diskriminasi sempurna antar status kuantum) tanpa terjadi paradoks

nature.com.

Penelitian ini mendemonstrasikan bahwa dalam kerangka mekanika kuantum, paradoks perjalanan waktu bisa diatasi secara matematis, sekaligus memberi wawasan tentang bagaimana kausalitas dapat muncul dari sistem nonlinier.

Dalam lima tahun terakhir (2020-an), riset semakin menekankan simulasi manfaat relatif “perjalanan mundur waktu” dalam konteks kuantum. Arvidsson-Shukur et al. (2023) memperlihatkan bahwa manipulasi entanglement (ikatan kuantum antar partikel) dapat dipakai untuk mensimulasikan efek ‘melangkah mundur di waktu’ guna meningkatkan akurasi eksperimen metrologi. Secara eksperimental mereka menunjukkan bahwa dengan menerapkan rangkaian telepor kuantum yang mensimulasikan CTC hipotetis, seorang pengamat dapat memperbaiki input optimal setelah berinteraksi dengan sistem tak dikenal, sehingga mendapat “keuntungan non-klasik” yang tidak mungkin jika hanya mengikuti kronologi biasa


pubmed.ncbi.nlm.nih.govphy.cam.ac.uk.

 Model ini mengandalkan kenyataan bahwa CTC hanya terjadi secara probabilistik dalam simulasi (tidak benar-benar terjadi), namun hasilnya menunjukkan entanglement memungkinkan melakukan perbaikan “setelah kejadian” dalam pengukuran kuantum.

  • Simulasi CTC di laboratorium (2014): Penelitian Ringbauer et al. (Nature Communications 2014) mensimulasikan qubit yang “berinteraksi” dengan versi masanya di masa lalu, membuktikan bahwa paradoks seperti itu dapat dihindari dalam model kuantum  nature.com.

  • Entanglement dan metrologi (2023): Arvidsson-Shukur et al. (PRL 2023) menggunakan telepor kuantum untuk mensimulasikan closed timelike curve secara probabilistik, lalu menunjukkan simulasi ini dapat memperbaiki estimasi parameter kuantum dibanding metode klasik  pubmed.ncbi.nlm.nih.govphy.cam.ac.uk. Simulasi ini tidak benar-benar memutar balik waktu, tapi menunjukkan bahwa efek semacam itu bisa berguna dalam konteks pemrosesan informasi kuantum.

Hingga saat ini tidak ada eksperimen langsung yang mengorbitkan piringan waktu atau benar-benar melintasi lubang cacing. Semua penelitian terkait masih bersifat teoretis atau simulatif menggunakan sistem kuantum untuk mendemonstrasikan kemungkinan konsep. Dalam beberapa kasus, konsep seperti time crystal telah dieksplorasi (struktur waktu periodik di fisika kuantum) yang menantang cara pandang kita terhadap waktu sebagai dimensi, tetapi ini belum ada kaitannya langsung dengan mesin waktu. Penelitian-penelitian mutakhir umumnya fokus pada aspek teoretis seperti mekanika kuantum di kerangka relativitas dan sifat informasional pengukuran, daripada konstruksi mesin waktu nyata.

3. Pendekatan Fiksi Ilmiah

Dalam fiksi ilmiah, mesin waktu sering diangkat sebagai elemen cerita utama dengan berbagai gaya. Contoh paling awal adalah novel The Time Machine (1895) karya H. G. Wells, yang memperkenalkan ide kendaraan khusus untuk menavigasi waktu.

en.wikipedia.org

Wells menggambarkan alat yang bisa memuat penjelajah menuju masa depan jauh atau kembali ke masa lalu, mempopulerkan istilah “mesin waktu” untuk perangkat seperti ini

en.wikipedia.org.

Pada kenyataannya, Wells tidak memberikan mekanisme fisika rinci — ia lebih menyoroti implikasi sosial dan paradoks yang timbul (misalnya pertemuan ras Eloi dan Morlock di masa depan). Konsep Wells sejalan dengan ide waktu sebagai dimensi keempat yang bisa di-“jelajah”, tetapi aspek teknisnya sepenuhnya bersifat spekulatif.

Sampul novel The Time Machine (1895) karya H. G. Wells, yang dikenal sebagai karya pendiri konsep perjalanan waktu dengan “mesin waktu”

en.wikipedia.org.


  • Doctor Who: Serial fiksi ilmiah Britania ini menampilkan TARDIS, pesawat waktu canggih yang mirip kotak telepon, yang bisa melintasi ruang dan waktu sesuka hati. Seringkali, Doctor Who memperlihatkan berbagai paradoks dan “fixed points” waktu yang bisa diubah atau tidak, mengikuti kebutuhan cerita. Dari sudut pandang sains, mekanisme TARDIS dan aturan waktu di seri ini sangat longgar: episode demi episode, timeline bisa diubah dan banyak versi diri karakter muncul tanpa memikirkan hukum fisika riil. Konsep ini lebih bersifat hiburan daripada realistis.

  • Interstellar (2014): Film ini banyak dipuji karena upaya menggabungkan fisika relativistik nyata. Disutradarai Christopher Nolan dengan konsultan ilmiah Kip Thorne (Nobel), Interstellar menggunakan lubang cacing untuk perjalanan antarbintang dan menampilkan efek dilatasi waktu ekstrim di dekat lubang hitam. Misalnya, satu jam di planet dekat lubang hitam bisa setara puluhan tahun di Bumi. Konsep wormhole dan dilatasi gravitasi dalam film ini sejauh besar konsisten dengan teori relativitas umum (walau tetap spekulatif)  latimes.com. Karakter dalam Interstellar juga sempat “komunikasi” melintas waktu melalui struktur lima dimensi (tesseract), yang lebih merupakan elemen fiksi kreatif daripada teori fisika yang sudah terbukti.

  • Tenet (2020): Film Tenet mengeksplorasi ide fiksi “pembalikan entropi” untuk perjalanan waktu mundur. Objek atau manusia dapat “di-inversi waktu”-kan sehingga bergerak terbalik di masa. Meskipun sutradara Nolan berkonsultasi dengan ahli fisika (Kip Thorne), konsep ini sungguh-sungguh fiksi: secara fisika tidak ada mekanisme untuk membalikkan entropi suatu benda, melainkan hukum termodinamika mengharuskan entropi meningkat menuju masa depan. Film ini sendiri mengakui bahwa ide tersebut tidak ilmiah akurat, tetapi hanya “berdasarkan pada sains” secara longgar  latimes.com.

Secara keseluruhan, mesin waktu dalam fiksi sering kali mengabaikan atau mengubah aturan ilmiah demi dramatisasi cerita. The Time Machine dan konsep ilmiah klasik menyorot dimensi waktu sebagai wilayah yang bisa dieksplorasi, sejalan dengan gagasan dasar relativitas tentang waktu sebagai dimensi keempat

en.wikipedia.org.

 Sementara itu, Doctor Who mengadopsi perjalanan waktu secara longgar untuk alur cerita, tanpa mempertimbangkan paradoks fisika. Sebaliknya, karya seperti Interstellar berupaya akurasi dengan konsep relativitas (walau menambahkan elemen spekulatif), dan Tenet secara eksplisit menggunakan konsep yang bertentangan dengan prinsip ilmiah (membalik entropi)


latimes.com.

Kesimpulan

Hasil riset menunjukkan bahwa meskipun secara matematis teori relativitas membuka kemungkinan mesin waktu (melalui closed timelike curves dan wormhole), batasan fisika nyata sangat berat: dibutuhkan materi eksotik, dan mekanisme alih hukum termodinamika serta kausalitas belum ditemukan. Eksperimen modern lebih fokus pada simulasi kuantum dan konsep informasi yang menyerupai “perjalanan waktu” daripada konstruksi mesin fisik. Di sisi lain, fiksi ilmiah memungkinkan eksplorasi bebas tentang perjalanan waktu; beberapa karya merujuk prinsip sains nyata (seperti Interstellar), tapi banyak juga yang melepaskan diri dari hukum fisika untuk kebutuhan cerita. Hingga kini, belum ada publikasi ilmiah yang melaporkan realisasi mesin waktu aktual – penelitian terbaru hanya menunjukkan bahwa fenomena serupa waktu dapat dimanfaatkan dalam teori kuantum

nature.compubmed.ncbi.nlm.nih.gov.

 Dengan demikian, rintangan teoretis dan eksperimental saat ini masih membuat mesin waktu menjadi gagasan futuristik, bukan teknologi yang dapat diwujudkan segera.

Sumber: 

Berbagai literatur ilmiah dan sumber kredibel (jurnal fisika, artikel penelitian, sumber NASA, dan analisis kritis fiksi ilmiah) telah dikaji untuk merangkum pandangan saat ini tentang kemungkinan perjalanan waktu

en.wikipedia.orgen.wikipedia.orgphy.cam.ac.uklatimes.comen.wikipedia.org.


Informasi yang tidak ditemukan dalam sumber-sumber ini digambarkan sebagai bagian dari konteks umum atau konsensus ilmiah saat ini.

Sabtu, 27 September 2025

tempat sampah buka-tutup otomatis (ukuran agak besar)

 



1 — Komponen (what to buy / use)

Komponen yang sudah kamu punya

  • Arduino Uno (sudah)

  • Sensor ultrasonik HC-SR04 (sudah)

  • Servo (sudah) — catatan: tipe servo kecil (SG90) mungkin tidak kuat untuk tutup besar. Baca bagian mekanik & upgrade.

Komponen yang disarankan (wajib/kuatkan proyek)

  • Servo torsi tinggi (rekomendasi: MG996R, MG995, atau metal-gear high-torque) — jika tutup besar pakai ini.

  • Power supply portable: 1 × baterai lithium 18650 (3400 mAh) + modul proteksi / holder, atau power bank kecil.

  • Modul pengisian LiPo via panel surya: Adafruit Solar LiPo Charger (atau modul solar charger berbasis CN3065 / MT3608+TP4056 + regulator stabil) — jangan sambungkan panel langsung ke TP4056 tanpa regulator solar charger.

  • Step-up booster 5V (mis. MT3608 atau modul boost) jika baterai 3.7V dibutuhkan menjadi 5V untuk Arduino + servo.

  • Diode blokade (mis. Schottky) dan fuse (opsional) untuk keamanan.

  • Kabel power terpisah (servo harus punya sumber 5V terpisah atau sangat stabil).

  • Struktur bin: papan kayu/ acrylic / kotak plastik ukuran yang kamu mau; engsel kuat; poros/lever; baut; karet peredam.

  • Baut/rod/lever untuk menghubungkan servo ke tutup; atau link arm 3D printed.

Saran alternatif mekanik

  • Untuk tutup lebih besar: gunakan servo torsi tinggi atau motor DC dengan gearbox + limit switches dan H-bridge. Tapi tetap pakai servo jika lid ringan atau dengan counterweight.


2 — Desain mekanik singkat (cara supaya tutup bin agak besar masih bisa dibuka oleh servo kecil)

  1. Pakai lever arm pendek pada servo (mis. 2–3 cm) yang mengurangi stroke tapi meningkatkan torsi di poros tutup jika dipasangkan dengan rasio tuas.

  2. Tambah counterweight di sisi lain tutup sehingga servo hanya mengatasi sebagian beban (kurangi beban vertikal).

  3. Gunakan engsel bearing yang halus (kurangi gesekan).

  4. Jika servo kecil tetap tidak cukup: ganti ke MG996R (torque ~9 kg·cm) atau gunakan gearbox.

  5. Pastikan pemasangan servo ke kotak kokoh (plat aluminium atau printed mount). Pakai penguat di titik sambungan.


3 — Skematik wiring sederhana

Asumsi: Arduino Uno, HC-SR04, 1 servo, baterai 3.7V + boost ke 5V.

[BATTERY 3.7V] --> [Solar Charger Module] --> [Battery pack]
Battery pack --> [Boost converter 5V] --> +5V rail
+5V rail --> VIN (atau 5V pin on Arduino)  (lebih aman: ke 5V pin jika regulator sudah dipakai)
GND (common) --> Arduino GND

HC-SR04:
VCC --> +5V
GND --> GND
Trig --> Arduino digital pin 9
Echo --> Arduino digital pin 8

Servo:
VCC (red) --> +5V rail (jangan sambungkan servo langsung ke 5V dari Arduino USB)
GND (brown) --> GND
Signal (orange) --> Arduino digital pin 10

(Opsional) Push-button for manual open close --> Arduino digital pin 7 (pull-down or use INPUT_PULLUP)

Catatan penting listrik

  • Pastikan GND semua modul di-common-kan (battery, boost, Arduino, servo).

  • Servo dapat menyebabkan spike — gunakan capacitor (1000 µF) di +5V dekat servo untuk menstabilkan tegangan.

  • Jika servo menarik arus besar, pertimbangkan supply terpisah untuk servo (tetap common GND).


4 — Kode Arduino (siap upload)

Kode ini menggunakan HC-SR04 untuk mendeteksi objek/hand, membuka tutup dengan servo, dan menutup kembali setelah delay. Juga menggunakan attach/detach servo supaya mengurangi konsumsi sedikit.

#include <Servo.h>

#define TRIG_PIN 9
#define ECHO_PIN 8
#define SERVO_PIN 10
#define MANUAL_BTN 7  // optional

Servo lidServo;

// tunable parameters
const int OPEN_ANGLE = 85;      // sudut buka (ubah sesuai rig)
const int CLOSED_ANGLE = 10;    // sudut tutup
const unsigned long KEEP_OPEN_MS = 3000; // berapa lama terbuka setelah mendeteksi (ms)
const long DIST_THRESHOLD_CM = 20; // jarak trigger (cm)

unsigned long lastOpenTime = 0;
bool isOpen = false;

void setup() {
  Serial.begin(9600);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(MANUAL_BTN, INPUT_PULLUP); // optional: tombol ground saat ditekan

  lidServo.attach(SERVO_PIN);
  lidServo.write(CLOSED_ANGLE);
  delay(500);
  lidServo.detach(); // detach to reduce current draw when idle
}

long readDistanceCM() {
  // send pulse
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  long duration = pulseIn(ECHO_PIN, HIGH, 30000); // timeout 30ms
  if (duration == 0) return 9999; // no echo

  long distanceCm = duration / 58; // speed of sound conversion
  return distanceCm;
}

void openLid() {
  lidServo.attach(SERVO_PIN);
  for (int a = CLOSED_ANGLE; a <= OPEN_ANGLE; a += 3) {
    lidServo.write(a);
    delay(20);
  }
  lastOpenTime = millis();
  isOpen = true;
  lidServo.detach();
}

void closeLid() {
  lidServo.attach(SERVO_PIN);
  for (int a = OPEN_ANGLE; a >= CLOSED_ANGLE; a -= 3) {
    lidServo.write(a);
    delay(20);
  }
  isOpen = false;
  lidServo.detach();
}

void loop() {
  // manual override button (active LOW)
  if (digitalRead(MANUAL_BTN) == LOW) {
    openLid();
    delay(200);
  }

  long dist = readDistanceCM();
  // Serial.println(dist);

  if (!isOpen && dist <= DIST_THRESHOLD_CM) {
    openLid();
  }

  if (isOpen && (millis() - lastOpenTime > KEEP_OPEN_MS)) {
    closeLid();
  }

  delay(150); // main loop delay
}

Catatan kode

  • Ubah OPEN_ANGLE, CLOSED_ANGLE, dan DIST_THRESHOLD_CM sesuai jarak/rig kamu.

  • Servo attach/detach mengurangi konsumsi saat idle.

  • Jika kamu tambahkan LED indikator atau buzzer, beri pin dan logika tambahan.


5 — Perhitungan baterai & panel surya (langkah demi langkah)

Aku jelaskan asumsi & perhitungan digit-per-digit supaya jelas.

Asumsi konsumsi:

  • Arduino Uno: 50 mA @ 5 V.
    Power = V × I = 5 × 0.05 = 0.25 W.
    Energi per hari = 0.25 W × 24 h = 6 Wh.

  • HC-SR04: 15 mA @5 V.
    Power = 5 × 0.015 = 0.075 W.
    Energi per hari = 0.075 W × 24 h = 1.8 Wh.

  • Servo (rata-rata, puncak saat bergerak): 500 mA @5 V saat bergerak.
    Power = 5 × 0.5 = 2.5 W.
    Waktu bergerak per cycle kira-kira 4 detik (buka + tutup).
    Waktu per cycle dalam jam = 4 s / 3600 = 0.001111... h.
    Energi per cycle = 2.5 W × 0.001111... h = 0.002777... Wh.
    Jika 50 cycle/hari → energi servo = 0.002777... × 50 = 0.138888... Wh ≈ 0.14 Wh.

Total energi sehari (belum efisiensi):

  • Arduino 6 Wh

  • HC-SR04 1.8 Wh

  • Servo 0.14 Wh
    Total = 6 + 1.8 + 0.14 = 7.94 Wh ≈ 8 Wh per hari

Tambahkan margin & kerugian (konverter, charger inefficiency)
Ambil faktor keamanan/kerugian 40%:
Energi yang perlu disediakan = 8 Wh × 1.4 = 11.2 Wh → bulatkan ke 12 Wh per hari.

Konversi kapasitas baterai (mAh)
Jika pakai baterai 3.7 V (typical Li-ion 18650):
mAh = (Wh / V) × 1000
= (12 Wh / 3.7 V) × 1000
= 3.243243... × 1000 mAh ≈ 3243 mAh

→ Jadi 1 × 18650 3400 mAh (nilai komersial ~3300–3500 mAh) cukup untuk beban ini sehari (dengan asumsi manajemen charging yang baik). Untuk cadangan cuaca buruk, pakai 2 × 18650 di parallel.

Panel surya sizing
Asumsi Peak Sun Hours ≈ 4 jam/hari (Indonesia bagus, pakai 3–5; aku pakai 4).
Asumsi sistem efisiensi = 70% (kerugian charger, kabel, dll).
Panel watt yang diperlukan = Energi harian / (sun hours × efisiensi)
= 12 Wh / (4 h × 0.7)
= 12 / 2.8
= 4.2857 W

→ Pilih panel komersial sedikit lebih besar: 6 W – 10 W panel (misal panel 6W atau 10W 6V) + solar charger yang sesuai.

Ringkasan rekomendasi listrik

  • Battery: minimum 1 × 18650 ~3400 mAh (lebih baik 2 in parallel untuk redundancy).

  • Solar panel: pilih 6W atau 10W untuk charge handal.

  • Solar charge controller: gunakan modul charger khusus LiPo/solar (contoh: Adafruit Solar LiPo Charger) + step-up 5V untuk Arduino.


6 — Tips untuk kestabilan & keamanan

  • Jangan tarik power servo dari Arduino 5V regulator (Uno onboard) — gunakan supply 5V terpisah/boost.

  • Tambah capacitor elektrolitik 1000 µF di dekat servo power untuk meredam drop tegangan.

  • Gunakan fuse 1A pada jalur +5V sebagai proteksi.

  • Gunakan modul charger yang dirancang untuk panel surya (mengatasi variasi tegangan panel).

  • Pertimbangkan sensor tambahan (limit switch) untuk mengetahui posisi tutup jika memakai motor DC.


7 — Struktur file README / isi ZIP (copy-paste-ready)

# Tempat Sampah Otomatis (Arduino + Solar)
Proyek: Tempat sampah buka-tutup otomatis menggunakan Arduino Uno, HC-SR04, servo, dan tenaga surya (panel + baterai).

## Fitur
- Otomatis membuka tutup saat ada objek/hand pada jarak tertentu.
- Menutup otomatis setelah delay.
- Ditenagai oleh baterai Li-ion yang di-charge oleh panel surya.
- Mekanik diperkuat untuk ukuran bin yang agak besar (gunakan servo torsi tinggi dan counterweight).

## Komponen
- Arduino Uno
- HC-SR04 ultrasonic
- Servo torsi tinggi (rekom: MG996R)
- 18650 Li-ion 3400 mAh + holder + protection
- Solar panel 6W - 10W
- Solar LiPo charger (Adafruit Solar Charger atau setara)
- Boost converter 5V
- Kapasitor 1000µF, diode, fuse
- Kabel, baut, engsel, plat mounting

## Wiring
(Lihat file wiring.txt atau diagram pada folder)

## Code
File: `trash_bin.ino` (kode utama Arduino)

## Mekanik
Panduan mounting, lever arm, dan counterweight. (Lihat folder mechanical/)

## Perhitungan daya
Asumsi & perhitungan dimasukkan di docs/power_calc.txt

## Cara Pakai
1. Pasang sensor di bibir tutup, pastikan sudut tidak memantul ke lantai.
2. Hubungkan power sesuai wiring.
3. Upload `trash_bin.ino` ke Arduino.
4. Letakkan panel di lokasi terkena sinar matahari.

## Catatan keamanan
- Jangan sambungkan panel langsung ke TP4056 tanpa solar charger.
- Pastikan semua koneksi rapi dan ada fuse.

## Lisensi
MIT

8 — Opsional: upgrade & fitur tambahan (ide)

  • Mode hemat daya: gunakan Arduino Pro Mini 3.3V (lebih rendah draw) dan deep sleep — untuk mengurangi ukuran battery.

  • Tambah LED indikator baterai dan pengukur voltase (voltage divider + ADC).

  • Tambah sensor cahaya LDR untuk hanya aktif di siang/malam tertentu.

  • Tambah Wi-Fi (ESP32) untuk monitoring status baterai & log buka/tutup.



Minggu, 21 September 2025

🗿

 

Dr. Prof. Panglima Teori Palesyyyy, PhD (imaginer)
“Jika pqp \Rightarrow q, dan aku mengetahui rumus konkrit quantum-ledakan-atom-hiperbolik dalam skala tak-ber-nalar, maka dengan peningkatan 50% reaktivitas kita akan memasuki rezim meta-superposisi di mana planet akan ‘melengkapi dirinya menjadi tidak-planet’.”

Rumus (fiksi, jangan dipakai di dunia nyata):

ChaosIndex=(Qϕ×πabsurd)eNonsenseFactor×(1+0.50)\text{ChaosIndex} = \frac{(Q_\phi \times \pi_{\text{absurd}})^{\sqrt{e}}}{\text{NonsenseFactor}} \times (1 + 0.50)

Di mana:

  • QϕQ_\phi = jumlah kuantum imaginari yang hanya ada di kafe jam 3 pagi;

  • πabsurd\pi_{\text{absurd}} = konstanta yang berubah setiap kali kamu menertawakan persamaan;

  • NonsenseFactor\text{NonsenseFactor} = jumlah meme yang diperlukan untuk menetralkan efeknya.

Hasilnya? Jika ChaosIndex>TingkatKepalsuan\text{ChaosIndex} > \text{TingkatKepalsuan}, planet akan mengeluh — bukan meledak. Terapkan topi lab dan kopi ekstra. 🧪☕🗿



Selasa, 16 September 2025

Mengulang Dan Bernostalgia - (Ayo Belajar Geometri)

 

Apa Itu Geometri?

Geometri berasal dari bahasa Yunani, "geo" yang berarti "bumi" dan "metron" yang berarti "pengukuran." Jadi, secara harfiah, geometri adalah ilmu yang mempelajari pengukuran bumi. Tapi dalam konteks matematika, geometri adalah cabang yang mengkaji bentuk, ukuran, posisi relatif objek, dan sifat-sifat ruang.

Geometri mencakup banyak konsep, dari yang paling sederhana hingga yang paling kompleks. Di sini, kita akan fokus pada beberapa konsep utama yang akan menjadi fondasi yang kuat untukmu.

Titik, Garis, dan Bidang

Ini adalah tiga elemen dasar dalam geometri. Kita bisa membayangkannya sebagai "atom" dari semua bentuk geometris.

  • Titik: Titik tidak memiliki ukuran atau dimensi. Ia hanya menunjukkan lokasi. Kita sering melambangkan titik dengan huruf kapital, seperti titik A atau titik B.
  • Garis: Garis adalah kumpulan titik-titik yang terbentang lurus tak terbatas di kedua arah. Garis tidak memiliki ketebalan.

Gambar a line in geometry

Kita bisa menamai garis dengan dua titik yang ada di atasnya, seperti garis AB, atau dengan huruf kecil, seperti garis l.

  • Bidang: Bidang adalah permukaan datar dua dimensi yang terbentang tak terbatas. Ia memiliki panjang dan lebar, tetapi tidak memiliki ketebalan. Kita bisa menamai bidang dengan tiga titik yang tidak segaris (non-kolinear), seperti bidang ABC, atau dengan huruf Yunani, seperti bidang π.

Bangun Datar dan Bangun Ruang

Geometri juga dibagi menjadi dua kategori besar: bangun datar dan bangun ruang.

  • Bangun Datar (Geometri Dua Dimensi): Ini adalah objek yang berada di satu bidang. Mereka hanya memiliki panjang dan lebar. Contohnya termasuk segitiga, persegi, lingkaran, dan jajaran genjang.
  • Bangun Ruang (Geometri Tiga Dimensi): Ini adalah objek yang memiliki volume dan berada di ruang. Mereka memiliki panjang, lebar, dan tinggi. Contohnya termasuk kubus, balok, bola, dan limas.

Gambar a cube, cone and sphere



Konsep Penting dalam Geometri

1. Sudut

Sudut terbentuk ketika dua garis atau sinar bertemu di satu titik (verteks). Ukuran sudut diukur dalam derajat atau radian.

Jenis-jenis sudut termasuk:

  • Sudut Lancip: Ukurannya kurang dari 90∘.
  • Sudut Siku-siku: Ukurannya tepat 90∘.
  • Sudut Tumpul: Ukurannya lebih dari 90∘ tetapi kurang dari 180∘.
  • Sudut Lurus: Ukurannya tepat 180∘.

2. Teorema Pythagoras

Ini adalah salah satu teorema paling terkenal dalam matematika, dan sangat penting dalam geometri. Teorema ini hanya berlaku untuk segitiga siku-siku. Teorema ini menyatakan bahwa kuadrat dari sisi miring (hipotenusa) sama dengan jumlah kuadrat dari dua sisi lainnya. Secara matematis, jika sisi-sisi segitiga adalah a, b, dan c (di mana c adalah sisi miring), maka:

a2+b2=c2

3. Luas dan Volume

  • Luas: Luas adalah ukuran permukaan dua dimensi. Setiap bangun datar memiliki rumus luasnya sendiri. Misalnya, luas persegi panjang adalah panjang kali lebar (L=p×l), dan luas segitiga adalah setengah alas kali tinggi (L=21​×alas×tinggi).
  • Volume: Volume adalah ukuran ruang yang ditempati oleh suatu objek tiga dimensi. Misalnya, volume kubus adalah sisi kali sisi kali sisi (V=s3), dan volume bola adalah 34​πr3.

kita bisa langsung praktik menghitung! Mari kita fokus pada cara menghitung keliling, luas, dan volume untuk beberapa bangun yang paling umum.


1. Menghitung Luas dan Keliling Bangun Datar

Persegi

Persegi adalah bangun datar dengan empat sisi yang sama panjang.

  • Keliling: Jumlahkan panjang keempat sisinya.

    Keliling=s+s+s+s=4×s

    di mana s adalah panjang sisi.
  • Luas: Kalikan panjang sisi dengan sisi.

    Luas=s×s=s2

Contoh: Sebuah persegi memiliki sisi sepanjang 5 cm.

  • Kelilingnya adalah 4×5 cm=20 cm.
  • Luasnya adalah 52=25 cm2.

Persegi Panjang

Persegi panjang memiliki dua pasang sisi yang sama panjang (panjang dan lebar).

  • Keliling: Jumlahkan panjang keempat sisinya.

    Keliling=p+l+p+l=2×(p+l)

    di mana p adalah panjang dan l adalah lebar.
  • Luas: Kalikan panjang dengan lebar.

    Luas=p×l

Contoh: Sebuah persegi panjang memiliki panjang 8 m dan lebar 3 m.

  • Kelilingnya adalah 2×(8+3) m=2×11 m=22 m.
  • Luasnya adalah 8×3=24 m2.

Lingkaran

Lingkaran adalah bentuk melingkar yang tidak memiliki sudut. Untuk lingkaran, kita menggunakan jari-jari (r) atau diameter (d) dan konstanta π (Pi). Nilai π kira-kira 3.14 atau 722​.

  • Keliling (disebut juga "circumference"):

    Keliling=2×π×ratauπ×d
  • Luas:

    Luas=π×r2

Contoh: Sebuah lingkaran memiliki jari-jari 7 cm.

  • Kelilingnya adalah 2×722​×7 cm=44 cm.
  • Luasnya adalah 722​×72=722​×49=22×7=154 cm2.

2. Menghitung Volume Bangun Ruang

Kubus

Kubus adalah bangun ruang dengan enam sisi berbentuk persegi yang sama.

  • Volume: Kalikan panjang sisi, lebar sisi, dan tinggi sisi (semuanya sama).

    Volume=s×s×s=s3

Contoh: Sebuah kubus memiliki sisi 4 m.

  • Volumenya adalah 43=64 m3.

Balok

Balok adalah bangun ruang tiga dimensi dengan panjang, lebar, dan tinggi yang berbeda.

  • Volume: Kalikan panjang, lebar, dan tinggi.

    Volume=p×l×t

Contoh: Sebuah balok memiliki panjang 10 cm, lebar 4 cm, dan tinggi 5 cm.

  • Volumenya adalah 10×4×5=200 cm3.

Bola

Bola adalah bangun ruang melingkar yang sempurna.

  • Volume:

    Volume=34​×π×r3

Contoh: Sebuah bola memiliki jari-jari 3 cm.

  • Volumenya adalah 34​×3.14×33=34​×3.14×27=4×3.14×9=113.04 cm3.