Daftar Isi:

Pemecah Persamaan Kuadrat 2-Tombol: 5 Langkah
Pemecah Persamaan Kuadrat 2-Tombol: 5 Langkah

Video: Pemecah Persamaan Kuadrat 2-Tombol: 5 Langkah

Video: Pemecah Persamaan Kuadrat 2-Tombol: 5 Langkah
Video: CARA CEPAT MENENTUKAN FAKTOR DAN AKAR PERSAMAAN KUADRAT‼️ 2024, November
Anonim
Image
Image

pengantar

selamat datang di instruksi pertama saya!

Saya memulai proyek ini untuk memperluas pengetahuan pemrograman saya. Seringkali, Anda hanya menggabungkan kode sumber yang berbeda untuk membuat program yang Anda butuhkan. Tujuan saya adalah menulis kode program saya sendiri untuk berinteraksi dengan alat. Saya suka membuat alat sederhana untuk menghitung. Beberapa bulan yang lalu, saya mendukung seorang teman untuk memecahkan persamaan kuadrat.

Bazing! ini adalah kasus penggunaan!

Saya menggunakan kembali kotak logam tua. Saya lebih suka tampilan minimalis dan antarmuka alat. itulah alasan mengapa saya hanya ingin menggunakan 2 tombol untuk memberikan input. Pertarungan akan ditampilkan oleh layar LCD sederhana.

Perlengkapan

Daftar material:

kotak

2 tombol Gaya arcade

Arduino Nano, atau serupa

Layar LCD 1602 dengan adaptor I2C

sakelar hidup/mati

kabel

2x 10k Ohm resistor

baterai 9v blok

konektor untuk baterai 9v

papan tempat memotong roti

lain-lain (sepotong kayu, sudut logam, pengikat kabel, sekrup, ring)

peralatan:

gergaji

besi solder

mesin bor

komputer untuk pemrograman

Langkah 1: Latar Belakang Matematika

Perangkat lunak
Perangkat lunak

Latar belakang matematika

Persamaan kuadrat 2 tombol menunjukkan nilai di mana fungsi kuadrat memotong sumbu X. Fungsi kuadrat dapat melintasi sumbu X tidak pernah, sekali atau dua kali.

Ada berbagai cara untuk menghitung nilai-nilai ini. Untuk alat saya, saya menggunakan rumus PQ (saya tidak yakin, apakah ungkapan ini akan digunakan di seluruh dunia).

Persamaan kuadrat memiliki bentuk:

kapak²+bx+c=0

Untuk menghitung titik persimpangan, bagi formulir dengan x²+px+q=0 dengan p= b/a; q=c/a

rumus PQ:

x1 = -p/2 + kuadrat((p/2)²-q)

x2 = -p/2 - kuadrat((p/2)²-q)

Hasil x bisa mendapatkan nilai 0, 1 atau 2. Itu tergantung pada nilai di bawah akar kuadrat.

Apakah nilainya > 0, maka Rumus PQ memiliki dua solusi.

Apakah nilainya = 0, maka Rumus PQ memiliki satu solusi

adalah nilai < 0, maka Rumus PQ tidak memiliki solusi. Fungsi tidak melintasi Sumbu X.

Langkah 2: Perangkat Lunak

Perangkat lunak

Untuk pemrograman saya menggunakan Arduino IDE resmi. Target saya adalah membuat program perangkat lunak saya sendiri. Antarmuka saya harus memiliki dua tombol. Satu tombol untuk melangkah di antara level yang berbeda, tombol kedua untuk mengubah nilai di level yang berbeda.

Untuk menyelesaikan Rumus PQ, saya membuat struktur di atas:

Yang pasti, saya tidak menemukan kembali roda. Untuk membuat kode, saya menggunakan modul:

- bangkit kembali

- menampilkan

Poin-poin berikut adalah tantangan terbesar:

- Bagaimana saya bisa memilih tanda? Saya memecahkan tantangan ini dengan fungsi modulo (tautan). Kode membagi input dengan 2. Apakah inputnya bilangan ganjil, nilainya menjadi negatif, jika tidak, angkanya positif.

- Setelah menjalankan semua level, saya harus mendeklarasikan semua nilai ke 0.

- Teks yang ditampilkan hanya menghapus karakter pengiriman. Jika kode mengirim kata dengan 4 karakter, hanya 4 karakter ini yang akan dimuat ulang. Jika kata sebelumnya memiliki lebih banyak karakter, karakter akan tetap ada. Untuk memperbaikinya, teks yang ditampilkan akan diisi dengan bagian yang kosong. Semua 16 karakter berturut-turut akan dimuat ulang.

Kode terakhir terlampir.

Langkah 3: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

Perangkat keras

Bagian-bagiannya tercantum di atas. Untuk proyek ini, perangkat kerasnya sederhana. Saya hanya membutuhkan mikroprosesor Arduino, 2 tombol dan layar. Oke, jika Anda ingin dimasukkan ke dalam kotak, Anda membutuhkan kotak dan catu daya juga.

Saya menggunakan kembali kotak logam tua. Saya mengebor lubang ke tombol untuk menyambungkan sakelar untuk catu daya. Penutup kotak mendapat 3 lubang. Saya mengebor dua lubang untuk tombol besar dan memotong jendela untuk tampilan. Saya menempelkan sepotong kayu kecil di belakang penutup untuk memiliki lebih banyak barang untuk memperbaiki tampilan dan tombol. Untuk meng-upgrade tampilan kotak mendapat stiker.

Untuk catu daya, saya merekomendasikan baterai blok 9V yang dapat diisi ulang. Saya menghubungkan baterai melalui sakelar daya ke Arduino. Baterai dipasang ke kotak dengan sudut logam kecil. Konektor untuk baterai hanya diperbaiki dengan ikatan kabel.

Mikroprosesor adalah tiruan dari Arduino nano. Untuk kasus penggunaan ini, kinerjanya cukup. Attiny 85, misalnya mikroprosesor Digispark, ditolak. Arduino adalah "bread board" di sebelah layar.

Layarnya adalah layar LCD 1602. Anda dapat menggunakan 16 karakter dalam dua baris. Anda dapat menemukan tampilan ini di banyak mesin dan alat yang berbeda. Ada dua cara berbeda untuk menggunakan tampilan ini. Anda dapat menghubungkan layar langsung ke pengontrol atau Anda dapat menggunakan add-on untuk berkomunikasi dengan layar melalui I2C. I2C adalah protokol standar. Saya menggunakannya, karena lebih mudah untuk menghubungkan layar ke pengontrol. Anda hanya perlu 4 kabel bukan 16, VCC ke 5V, GND ke GND, SDA ke A4, SCL ke A5. Layar dipasang dengan sekrup ke penutup kotak.

Tombolnya sangat besar! mereka memiliki gaya permainan arcade yang khas. Saya suka itu! Tombol terhubung ke pin digital 4 dan 7. Jangan lupa Resistor 10K!

Untuk membuka penutup, misalnya untuk mengganti baterai, saya menggunakan kabel yang lebih panjang yang dicolokkan ke papan tempat memotong roti.

Langkah 4: Pengkabelan

Pengkabelan
Pengkabelan

Langkah 5: Peningkatan di Masa Depan

Perbaikan masa depan

Setelah menyelesaikan proyek, Anda selalu menemukan bug atau fitur untuk perbaikan. Dalam proyek ini, saya senang hanya menemukan beberapa poin, saya akan meningkatkan untuk masa depan.

Untuk waktu berikutnya, saya akan meningkatkan eksploitasi di dalam kotak. Saya memperbaiki tampilan, sakelar daya, dan tombol di awal proyek ini. Pada akhirnya, saya agak kesulitan menemukan ruang yang cukup untuk baterai dan mikroprosesor di dalam kotak. Ketika saya meletakkan tombol dan tampilan lebih banyak di luar, saya tidak akan kesulitan dengan ruang untuk bagian-bagian di dalam kotak.

Saat ini saya tidak memiliki use case untuk menyelesaikan persamaan kuadrat. Untuk menyempurnakan alat ini, saya ingin memperluas alat dengan hal-hal matematika lebih lanjut, misalnya kalkulus dasar atau rumus seperti rumus binominal atau kalimat Pythagoras.

Direkomendasikan: