Isi kandungan:
- Langkah 1: Latar Belakang Matematik
- Langkah 2: Perisian
- Langkah 3: Perkakasan
- Langkah 4: Pendawaian
- Langkah 5: Penambahbaikan Masa Depan
Video: Penyelesai Persamaan Kuadratik 2-Butang: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Pengenalan
selamat datang ke arahan pertama saya!
Saya memulakan projek ini untuk menambah pengetahuan pengaturcaraan saya. Selalunya, anda hanya menggabungkan kod sumber yang berbeza untuk membuat program yang anda perlukan. Tujuan saya adalah menulis kod program saya sendiri untuk berinteraksi dengan alat. Saya suka membuat alat mudah untuk mengira. Beberapa bulan yang lalu, saya menyokong rakan untuk menyelesaikan persamaan kuadratik.
Bazinga! ini adalah kes penggunaan!
Saya menggunakan semula kotak logam lama. Saya lebih suka penampilan dan antara muka alat yang minimalis. itulah sebabnya mengapa saya hanya mahu menggunakan 2 butang untuk memberi input. Pertandingan akan ditunjukkan dengan paparan LCD sederhana.
Bekalan
senarai bahan:
kotak
Gaya 2 butang Arcade
Arduino Nano, atau serupa
Paparan LCD 1602 dengan penyesuai I2C
suis hidup / mati
wayar
Perintang 2x 10k Ohm
sekatan bateri 9v
penyambung untuk bateri 9v
papan roti
lain-lain (sekeping kayu, sudut logam, ikatan kabel, skru, mesin basuh)
alat:
gergaji
besi pematerian
mesin gerudi
komputer untuk pengaturcaraan
Langkah 1: Latar Belakang Matematik
Latar belakang matematik
Persamaan kuadratik 2 butang menunjukkan nilai di mana fungsi kuadratik melintasi paksi-X. Fungsi kuadratik boleh melintasi paksi-X, sekali atau dua kali.
Terdapat pelbagai cara untuk mengira nilai-nilai ini. Untuk alat saya, saya menggunakan formula PQ (saya tidak pasti, adakah ungkapan ini akan digunakan di seluruh dunia).
Persamaan kuadratik mempunyai bentuk:
ax² + bx + c = 0
Untuk mengira titik persilangan, bahagikan borang dengan x² + px + q = 0 dengan p = b / a; q = c / a
Formula PQ:
x1 = -p / 2 + sqrt ((p / 2) ²-q)
x2 = -p / 2 - sqrt ((p / 2) ²-q)
Hasilnya x dapat nilai 0, 1 atau 2. Itu bergantung pada nilai di bawah punca kuasa dua.
Adakah nilai> 0, maka PQ-Formula mempunyai dua penyelesaian.
Adakah nilai = 0, maka PQ-Formula mempunyai satu penyelesaian
adalah nilai <0, maka Formula PQ tidak mempunyai penyelesaian. Fungsi tidak melepasi X-Axis.
Langkah 2: Perisian
Perisian
Untuk pengaturcaraan saya menggunakan Arduino IDE rasmi. Sasaran saya adalah membuat program perisian saya sendiri. Antara muka saya harus mempunyai dua butang. Satu butang untuk melangkah antara tahap yang berbeza, butang kedua untuk mengubah nilai dalam tahap yang berbeza.
Untuk menyelesaikan PQ-Formula, saya membuat struktur di atas:
Yang pasti, saya tidak mencipta semula roda. Untuk membuat kod, saya menggunakan modul:
- lantun
- paparan
Perkara berikut adalah cabaran terbesar:
- Bagaimana saya boleh memilih tanda? Saya menyelesaikan cabaran ini dengan fungsi modulo (pautan). Kod membahagi input dengan 2. Adakah input adalah nombor ganjil, nilainya menjadi negatif, jika tidak, bilangannya positif.
- Setelah melalui semua peringkat, saya harus menyatakan semua nilai ke 0.
- Teks yang dipaparkan hanya menghapus watak hantar. Sekiranya kod menghantar perkataan dengan 4 aksara, hanya 4 aksara ini akan dimuat semula. Sekiranya kata sebelumnya mempunyai lebih banyak watak, watak akan tetap ada. Untuk memperbaikinya, teks yang dipaparkan akan diisi dengan kosong. Semua 16 watak berturut-turut akan dimuat semula.
Kod akhir dilampirkan.
Langkah 3: Perkakasan
Perkakasan
Bahagian tersebut disenaraikan di atas. Untuk projek ini, perkakasannya mudah. Saya hanya memerlukan mikropemproses Arduino, butang 2 dan paparan. Baiklah, jika anda mahu memasukkan ke dalam kotak, anda juga memerlukan kotak dan bekalan kuasa.
Saya menggunakan semula kotak logam lama. Saya menggerudi lubang ke dalam butang untuk memasang suis untuk bekalan kuasa. Penutup kotak mendapat 3 lubang. Saya menggerudi dua lubang untuk butang besar dan memotong tetingkap untuk paparan. Saya meletakkan sebatang kayu kecil di belakang penutup untuk mempunyai lebih banyak barang untuk memperbaiki paparan dan butang. Untuk meningkatkan paparan kotak itu terdapat pelekat.
Untuk bekalan kuasa, saya cadangkan bateri blok 9V yang boleh dicas semula. Saya menyambungkan bateri melalui suis kuasa ke Arduino. Bateri dipasang pada kotak dengan sudut logam kecil. Penyambung bateri hanya dipasang dengan ikatan kabel.
Mikroprosesor adalah klon dari Arduino nano. Untuk kes penggunaan ini, prestasinya mencukupi. Attiny 85, misalnya mikroprosesor Digispark, ditolak. Arduino adalah "roti naik" di sebelah paparan.
Paparannya adalah paparan LCD 1602. anda boleh menggunakan 16 aksara dalam dua baris. Anda boleh mendapatkan paparan ini di banyak mesin yang berbeza alat. Terdapat dua cara yang berbeza untuk menggunakan paparan ini. Anda boleh menyambungkan paparan terus ke pengawal atau anda boleh menggunakan alat tambah untuk berkomunikasi dengan paparan melalui I2C. I2C adalah protokol standard. Saya menggunakannya, kerana lebih mudah menyambungkan paparan ke pengawal. Anda hanya memerlukan 4 kabel dan bukannya 16, VCC hingga 5V, GND ke GND, SDA hingga A4, SCL hingga A5. Paparan dipasang dengan skru ke penutup kotak.
Butang besar! mereka mempunyai gaya permainan arked khas. Saya sukakannya! Butang disambungkan ke pin digital 4 dan 7. Jangan lupa Resistor 10K!
Untuk membuka penutup, misalnya untuk menukar bateri, saya menggunakan kabel yang lebih panjang yang dipasang ke papan roti.
Langkah 4: Pendawaian
Langkah 5: Penambahbaikan Masa Depan
Penambahbaikan Masa Depan
Setelah menyelesaikan projek, anda selalu menemui bug atau ciri untuk diperbaiki. Dalam projek ini, saya dengan senang hati hanya menemui beberapa poin, saya akan bertambah baik untuk masa depan.
Untuk lain kali, saya akan meningkatkan eksploitasi di dalam kotak. Saya membetulkan paparan, suis kuasa, dan butang pada awal projek ini. Pada akhirnya, saya mendapat sedikit masalah untuk mencari ruang yang cukup untuk bateri dan mikropemproses di dalam kotak. Apabila saya meletakkan butang dan paparan lebih di luar, saya tidak akan menghadapi masalah dengan ruang bahagian-bahagian di dalam kotak.
Buat masa ini saya tidak mempunyai kes penggunaan untuk menyelesaikan persamaan kuadratik. Untuk memperbaiki alat, saya ingin mengembangkan alat ini dengan perkara-perkara matematik yang lebih jauh, misalnya kalkulus asas atau formula seperti formula binominal atau ayat Pythagoras.
Disyorkan:
Penyelesai Mata Rubik's Cube Blindfolded Real-Time Menggunakan Raspberry Pi dan OpenCV: 4 Langkah
Penyelesai Rubin's Cube Blindfolded Real-Time Menggunakan Raspberry Pi dan OpenCV: Ini adalah versi ke-2 alat kubus Rubik yang dibuat untuk menyelesaikan masalah dengan penutup mata. Versi pertama dikembangkan oleh javascript, anda dapat melihat projek RubiksCubeBlindfolded1 Tidak seperti sebelumnya, versi ini menggunakan perpustakaan OpenCV untuk mengesan warna dan
Q-Bot - Penyelesai Cube Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)
Q-Bot - Rubber's Open Source Rubber Open Source: Bayangkan anda mempunyai Rubik's Cube, anda tahu bahawa teka-teki membentuk tahun 80-an yang dimiliki oleh semua orang tetapi tidak ada yang benar-benar tahu bagaimana menyelesaikannya, dan anda mahu mengembalikannya ke corak asalnya. Nasib baik hari ini sangat mudah untuk mencari instruksi penyelesaian
Penyelesai Lalu Lintas: 7 Langkah
Traffic Solver: Traffic Solver mengautomasikan kawalan lalu lintas dalam satu lorong di zon pembinaan. Agar sistem ini berfungsi tanpa kemalangan di antara, mesti ada dua unit, satu di setiap sisi. Kedua-dua unit akan mempunyai motor dan alat pegangan berputar yang
Bot Penyelesai Rubik Cube: 5 Langkah (dengan Gambar)
Rubics Cube Solver Bot: Membuat robot autonomi yang menyelesaikan kubus Rubik fizikal. Ini adalah projek di bawah Robotics Club, IIT Guwahati. Ia dibuat dengan menggunakan bahan mudah yang boleh didapati dengan mudah. Terutamanya kami menggunakan motor Servo & Arduino untuk mengawal mereka, Akrilik dia
Makro Persamaan Kuadratik di Excel: 3 Langkah
Makro Persamaan Kuadratik di Excel: anda dapat menyelesaikan persamaan kuadratik dengan mudah dengan pergi ke makro yang dijalankan oleh makro. Saya ahli baru dan benar-benar memerlukan apa-apa maklum balas yang boleh anda berikan. Nikmati tidak menggunakan kertas menyelesaikan persamaan ini