วิธีสร้างเครื่องคำนวณคณิตศาสตร์อย่างง่ายโดยใช้ Arduino

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างเครื่องคิดเลขโดยใช้ Arduino ซึ่งสามารถคำนวณเลขคณิตที่ซับซ้อนได้ไกลกว่าเครื่องคิดเลขธรรมดา



คำขวัญของโพสต์นี้ไม่ใช่การสร้างเครื่องคิดเลขโดยใช้ Arduino แต่เพื่อแสดงความสามารถทางคณิตศาสตร์ของ Arduino ซึ่งทำการตีความและคำนวณข้อมูลที่ซับซ้อนต่างๆจากเซ็นเซอร์และอุปกรณ์ต่อพ่วงอื่น ๆ

สำหรับโปรเจ็กต์สนุก ๆ นี้คุณต้องใช้สาย USB และ Arduino ที่คุณเลือก เราจะได้ผลลัพธ์จากการคำนวณของเราผ่านการตรวจสอบซีเรียลของ Arduino IDE หากคุณคุ้นเคยกับพื้นฐานของภาษา C โครงการนี้เป็นเรื่องง่ายและคุณสามารถสร้างโปรแกรมของคุณเองซึ่งจะคำนวณทางคณิตศาสตร์ที่ซับซ้อนยิ่งขึ้น ที่นี่เราจะใช้ไฟล์ส่วนหัว #include ซึ่งอยู่ในคอมไพเลอร์ Arduino IDE ดังนั้นคุณไม่จำเป็นต้องดาวน์โหลดไลบรารีใด ๆ



เรายังสามารถเชื่อมต่อจอ LCD และคีย์บอร์ดกับ Arduino และสร้างเครื่องคำนวณทางวิทยาศาสตร์ได้ แต่มันขึ้นอยู่กับบทความอื่น หากคุณคุ้นเคยกับ 'Turbo C ++' โปรแกรมแรกของเราจะมีการเพิ่มตัวเลขสองตัวการคำนวณทางคณิตศาสตร์ทั้งหมดจะดำเนินการภายใน CPU ของคอมพิวเตอร์ แต่ที่นี่การคำนวณทางคณิตศาสตร์ทั้งหมดจะดำเนินการในไมโครคอนโทรลเลอร์ Arduino เริ่มต้นด้วยการบวกการลบการหารและการคูณ

นี่คือโปรแกรมที่มีสองตัวแปร a และ b โดยใช้สองตัวแปรนี้เราสามารถคำนวณที่ระบุไว้ข้างต้นโดยใช้ตัวดำเนินการ“ +, -, * /” ซึ่ง ได้แก่ การบวกการลบการคูณการหารตามลำดับ

โปรแกรม:

//-------------------Program Developed by R.Girish---------------//
#include
float a = 500
float b = 105.33
float add
float sub
float divide
float mul
void setup()
{
Serial.begin(9600)
Serial.println('Simple Arduino Calculator:')
Serial.println('n')
Serial.print('a = ')
Serial.println(a)
Serial.print('b = ')
Serial.println(b)
Serial.println('n')
Serial.print('Addition: ')
Serial.print('a + b = ') // add
add=a+b
Serial.println(add)
Serial.print('Multiplication: ')
Serial.print('a * b = ') // multiply
mul=a*b
Serial.println(mul)
Serial.print('Division: ')
Serial.print('a / b = ') // divide
divide=a/b
Serial.println(divide)
Serial.print('Subtraction: ')
Serial.print('a - b = ') // subtract
sub=a-b
Serial.println(sub)
}
void loop() // we need this to be here even though its empty
{
}
//-------------------Program Developed by R.Girish---------------//

เอาท์พุท:

ในโปรแกรมข้างต้นเรากำลังใช้“ Float” ซึ่งทำหน้าที่เป็นทศนิยมเรากำลังใช้“ Serial.print ()” ในการพิมพ์ค่าในจอภาพแบบอนุกรมส่วนที่เหลือของโปรแกรมนั้นสามารถอธิบายได้ด้วยตนเอง คุณสามารถเปลี่ยนตัวแปร a และ b ในโปรแกรมด้วยค่าของคุณเอง

มาย้ายสิ่งที่น่าสนใจมากขึ้นพื้นที่ของวงกลม สูตรสำหรับพื้นที่วงกลมคือ pi * radius ^ 2 หรือ pi คูณรัศมีกำลังสอง เนื่องจากค่าของ pi เป็นค่าคงที่เราจึงจำเป็นต้องกำหนดค่าในโปรแกรมโดยใช้ 'float' เนื่องจากค่าของ pi คือ 3.14159 ซึ่งมีจุดทศนิยมในการเล่น

โปรแกรม:

//-------------------Program Developed by R.Girish---------------//
#include
float pi = 3.14159
float radius = 50
float area
void setup()
{
Serial.begin(9600)
Serial.println('Arduino Area Calculator:')
Serial.print('n')
Serial.print('Radius = ')
Serial.print(radius)
Serial.print('n')
area = pi*sq(radius)
Serial.print('The Area of circle is: ')
Serial.println(area)
}
void loop()
{
// we need this to be here even though it is empty
}
//-------------------Program Developed by R.Girish---------------//

เอาท์พุท:

เครื่องคิดเลขคณิตศาสตร์อย่างง่ายโดยใช้ Arduino

อีกครั้งคุณสามารถเปลี่ยนค่าของคุณเองในโปรแกรม เรากำลังใช้“ sq ()” ซึ่งใช้กำลังสองของจำนวนในวงเล็บ ตอนนี้เราจะไปที่ระดับถัดไป ในโปรแกรมนี้เราจะใช้ทฤษฎีบทพีทาโกรัสในการคำนวณด้านตรงข้ามมุมฉากของสามเหลี่ยม สูตรที่อยู่เบื้องหลังนี้คือ:“ hyp = sqrt (sq (base) + sq (height))” หรือสแควร์รูทของ (ฐานกำลังสอง + กำลังสอง)

โปรแกรม:

//-------------------Program Developed by R.Girish---------------//
#include
float base = 50.36
float height = 45.336
float hyp
void setup()
{
Serial.begin(9600)
Serial.println('Arduino Pythagoras Calculator:')
Serial.print('n')
Serial.print('base = ')
Serial.println(base)
Serial.print('height = ')
Serial.print(height)
Serial.print('n')
hyp=sqrt(sq(base) + sq(height))
Serial.print('The hypotenuse is: ')
Serial.print(hyp)
}
void loop()
{
// we need this to be here even though its empty
}
//-------------------Program Developed by R.Girish---------------//

เอาท์พุท:

คุณสามารถเปลี่ยนค่าของฐานและความสูงด้วยค่าของคุณเองในโปรแกรม เราใช้“ sqrt ()” ซึ่งใช้ค่าฟังก์ชันรากที่สองภายในวงเล็บ ตอนนี้เรามาทำโปรแกรมยอดนิยมที่เราจะได้เรียนรู้ในช่วงเริ่มต้นของหลักสูตรภาษาซีซีรีส์ Fibonacci

โดยสรุปอนุกรมฟีโบนักชีคือการเพิ่มจากสองหมายเลขก่อนหน้าซึ่งให้หมายเลขถัดไปและอื่น ๆ จะเริ่มต้นด้วย 0, 1 เสมอเช่น 0, 1 ดังนั้น 0 + 1 = 1 ชุดถัดไปคือ 0, 1, 1 ดังนั้น 1 + 1 = 2 ชุดต่อไปคือ 0, 1, 1, 2 … .. และอื่น ๆ โปรแกรมที่เขียนในที่นี้คือการค้นหาหมายเลข Fibonacci สำหรับหลักที่ n แรก คุณสามารถเปลี่ยนค่าของ 'n' ในโปรแกรมเพื่อรับซีรีส์ Fibonacci ที่ต้องการได้

โปรแกรม:

//-------------------Program Developed by R.Girish---------------//
#include
int n=6
int first = 0
int Second = 1
int next
int c
void setup()
{
Serial.begin(9600)
Serial.print('Fibonacci series for first ')
Serial.print(n)
Serial.print(' numbers are:nn')
for ( c = 0 c {
if ( c <= 1 )
next = c
else
{
next = first + Second
first = Second
Second = next
}
Serial.println(next)
}
}
void loop()
{
// put your main code here, to run repeatedly:
}
//-------------------Program Developed by R.Girish---------------//

เอาท์พุท:

ดังนั้นสิ่งนี้จะทำให้สมองของคุณได้รับปริมาณที่เพียงพอและสับสนว่าสิ่งที่ออกแบบมาเพื่อควบคุมอุปกรณ์ต่อพ่วงฮาร์ดแวร์กำลังทำการคำนวณทางคณิตศาสตร์ที่ไร้สาระถ้าเป็นเช่นนั้นคุณไม่ได้อยู่คนเดียว

คณิตศาสตร์มีบทบาทสำคัญในอุปกรณ์อิเล็กทรอนิกส์นั่นคือสาเหตุที่หนังสือเรียนของเราเต็มไปด้วยสมการทางคณิตศาสตร์ซึ่งเราไม่เข้าใจด้วยซ้ำและนั่นคือจุดที่เครื่องคิดเลขมาช่วยเราและนี่คือจุดนั้น

หากคุณมีข้อสงสัยเกี่ยวกับวงจรเครื่องคิดเลขง่ายๆโดยใช้ Arduino คุณสามารถแสดงความคิดเห็นที่มีค่าได้




คู่ของ: วงจรจ่ายไฟแปรผัน 0-60V LM317HV ถัดไป: วิธีการผลิตไฟฟ้าจาก Piezo