Tentang proyek ini
Suatu hari, guru matematika saya bertanya kepada saya ketika saya sedang berbicara tentang arduino:"Bisakah kamu mengerjakan matematika dengan itu?". Saya menjawab "Saya tidak tahu", dan itu membuat saya berpikir tentang bagaimana mewujudkannya. Kemudian, saya menemukan cara untuk melakukannya dan saya ingin membagikannya sekarang.
Jadi begini! Cara yang sangat sederhana untuk melakukan matematika dengan arduino. Untuk proyek saya, saya menggunakan arduino UNO, tetapi saya yakin ini berfungsi dengan salah satu dari mereka.
Langkah demi langkahnya sangat sederhana:
- Hubungkan papan dengan komputer
- Tulis perhitungan yang valid (Lihat kode untuk petunjuk lebih lanjut)
Saya berencana untuk membuat kalkulator yang lebih baik, tetapi untuk saat ini hanya itu:cara mengerjakan matematika dasar. Jika Anda menginginkan kalkulator yang "lebih baik", beri tahu saya.
Tetap disini untuk melihat "kalkulator" yang lebih baik! Berharap untuk melihat Anda segera!
Kode
KODE UNTUK KALKULATORArduino
Anda memasukkan angka dan sinyal bersama-sama, seperti "2+3", atau 8*2, dan itu memberikan hasil/* Kalkulator serial arduino dalam proyek ini, Anda dapat membuat aritmatika dasar dengan bantuan arduino, hampir seperti kalkulator yang sangat sederhana. Ini menerima dua angka dan sinyal, dan membuat operasi, penyihir dapat berupa +, -, * atau /.EG :kirim "2+3" (Tanpa tanda kutip dan tanpa spasi memisahkan info), dan arduino menjawab 5.Digit "7-3" dan arduino te responde com 4.Criado por João Paulo Rodrigues PoltronieriKode ini ada di domain publik*// / pertama-tama, buat variabel untuk menyimpan// informasi yang dikirim ke arduinong number1; // angka pertama dari perhitungan,// dikirim melalui Serial monitor// Jika dilihat, variabelnya panjang, jadi// kita bisa menggunakan angka besar, angka panjang2; // nomor kedua dikirim melalui SMchar calSignal; // buat variabel char untuk menyimpan// sinyal perhitungan.hasil panjang; // hasil dari perhitunganvoid setup() { Serial.begin(9600); // memulai komunikasi serial Serial.println("Kirimkan saya perhitungan"); Serial.println("EG :2+3"); Serial.println(); // mencetak ini untuk menguji komunikasi serial, dan // mencetak spasi baris}void loop() { while(Serial.available()> 0) { // saat ada dada yang dikirim ke arduino, number1 =Serial.parseInt( ); // number1 akan menjadi angka pertama // Perhatikan penggunaan "Serial.parseInt, jadi, // jika Anda menggunakan 23, itu disimpan di // number1 angka 23 // jika kita menggunakan Serial.read(), itu akan // hanya menyimpan 2 calSignal =Serial.read(); // calSignal akan menjadi // info pertama setelah nomor pertama number2 =Serial.parseInt(); // menyimpan nomor // kedua di number2 resolucao(); // Fungsi kustom untuk menyelesaikan perhitungan Serial.println("Resultado ="); Serial.println(result); // Mencetak hasil perhitungan Serial.println(); // melompat baris Serial.println("Outra conta, por favor"); // mencetak Serial.println(); // melompat baris }}void resolucao() { // Fungsi kustom yang // menyelesaikan sakelar perhitungan (calSignal) { // Di sini kita menggunakan "switch ...case" untuk menghemat ruang pada // sketsa. Pada dasarnya, ini adalah fungsi yang memverifikasi // berbagai pernyataan "jika". // Di sini, ia memverifikasi apa nilai yang dipegang oleh // calSigna. Pada dasarnya, itu memverifikasi "sinyal" // dari kasus perhitungan '+' :// jika calSignal adalah '+' hasil =angka1 + angka2; // menjumlahkan angka-angka // dan membuat hasil menahan nilai perhitungan break; // break untuk keluar dari "case" case '+' :// jika calSignal adalah '+' result =number1 - number2; // mengurangkan angka // dan membuat hasil menahan nilai perhitungan break; // break untuk keluar dari "case" case '+' :// jika calSignal adalah '+' result =number1 * number2; // mengalikan angka // dan membuat hasil menahan nilai perhitungan break; // break untuk keluar dari "case" case '/' :// se calSignal for '/' result =number1 / number2; // membagi angka // dan membuat hasil menahan nilai perhitungan // PS:jika pembagian tidak tepat, hasilnya // akan menjadi pemutusan integrer terdekat; // break untuk keluar dari "case" default :// Jika bukan salah satu dari ini... Serial.println("CONTA INVÁVIDA"); // Membuat "kesalahan" Serial.println(); hasil =0; }}
Skema
Pada dasarnya, hanya papan yang dibutuhkan, sebenarnya