สารบัญ:

เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX: 5 ขั้นตอน
เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX: 5 ขั้นตอน

วีดีโอ: เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX: 5 ขั้นตอน

วีดีโอ: เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX: 5 ขั้นตอน
วีดีโอ: On Running 2023 รวมทุกรุ่น คลิปเดียวจบ เลือกยังไง มีรุ่นไหนบ้าง? - Run2Paradise 2024, กรกฎาคม
Anonim
เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX
เครื่องคิดเลขที่ง่ายและมาตรฐานด้วย CloudX

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีสร้างเครื่องคิดเลขแบบธรรมดาและได้มาตรฐานด้วย CloudX โปรดคลิก หากคุณไม่เคยอ่านอะไรบนแป้นพิมพ์ที่เชื่อมต่อกับ CloudX มาก่อน ที่นี่ เป้าหมายของเราคือการสอนวิธีพัฒนา เครื่องคิดเลขฮาร์ดแวร์ของตัวเองโดยใช้ cloudX M633

เป้าหมายของเราคือสามารถออกแบบเครื่องคิดเลขที่สามารถบวก (+), การลบ (-), การคูณ (*) และการหาร (/) โดยให้ผลลัพธ์เป็นทศนิยมต่ำสุด 0.0000001 และจำนวนเต็มสูงถึง 90000000 เครื่องคิดเลข มีความสามารถในการตรวจจับข้อผิดพลาดทางคณิตศาสตร์ เป็นต้น เด็ก นักเรียน และนักทำงานอดิเรกทุกคนควรสามารถทำโครงงานที่ยอดเยี่ยมนี้ได้

ขั้นตอนที่ 1: ข้อกำหนดฮาร์ดแวร์

ความต้องการของฮาร์ดแวร์
ความต้องการของฮาร์ดแวร์
ความต้องการของฮาร์ดแวร์
ความต้องการของฮาร์ดแวร์

ไมโครคอนโทรลเลอร์ CloudX 1x

1x CloudX ซอฟท์การ์ด

1x สาย USB

1x 4x4 ปุ่มกดเมทริกซ์

1x 16x2 LCD สายจัมเปอร์

ตัวต้านทาน 1x1kΩ

ตัวต้านทาน 4x 10kΩ

ขั้นตอนที่ 2: การเชื่อมต่อ PIN

การเชื่อมต่อ PIN
การเชื่อมต่อ PIN
การเชื่อมต่อ PIN
การเชื่อมต่อ PIN
การเชื่อมต่อ PIN
การเชื่อมต่อ PIN

หมุดเชื่อมต่อ CloudX พร้อม LCD และหมุดเชื่อมต่อ CloudX พร้อมปุ่มกด

ขั้นตอนที่ 3: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

ขั้นตอนที่ 4: ซอฟต์แวร์

/* * ไฟล์: Smart KeyPad Lock System.c

* ผู้แต่ง: hoodie

*

* สร้างเมื่อ 20 มีนาคม 2018, 11:21 น.

*/

#รวม

#รวม

#รวม

#รวม

#define NumberOfRows 4 // ตั้งค่าการแสดงผลเป็นสี่แถว

#define NumberOfColumns 4 // ตั้งค่าการแสดงผลเป็นสามคอลัมน์

ถ่าน ปุ่มกดอักขระ [NumberOfRows][NumberOfColumns] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C', '0', '=', '/'

};

ถ่าน RowPins[NumberOfRows] = {7, 8, 9, 10};

ถ่าน ColumnsPins[NumberOfColumns] = {11, 12, 13, 14};

ถ่านคีย์, a=0, ตรวจสอบ =0, operation=0, signa=0, signb=0;

ลงนามคำตอบลอยตัว;

ถ่าน * ตอบ;

ถ่าน Aanswer[10];

ลงนามอินพุทยาว;

ถ่าน Ainputa[10];

ลงนามยาว inputb;

ถ่าน Ainputb[10];

ติดตั้ง(){

การตั้งค่าปุ่มกด (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

จอแอลซีดีการตั้งค่า (1, 2, 3, 4, 5, 6);

lcdCmd(lcd_clear);

lcdCmd (เคอร์เซอร์_off);

lcdWriteText(1, 1, " เครื่องคิดเลขด้วย");

lcdWriteText(2, 1, " CLOUDX ");

ความล่าช้า (2000);

lcdCmd(lcd_clear);

lcdCmd (เคอร์เซอร์_กะพริบ);

วน (){

คีย์=getKey();

if(Keys!=0 && Keys=='C'){

lcdCmd(lcd_clear);

lcdCmd (เคอร์เซอร์_กะพริบ);

สำหรับ (a=0; a<10; a++){

ไอน์ปุตา[a]=0;

Ainputb[a]=0;

ตอบ[a]=0;

}

ก=0;

การดำเนินการ=0;

ตรวจสอบ = 0;

ซิกน่า =0;

signb =0;

}

if(check == 1 && Keys!=0 && Keys=='='){

lcdCmd (เคอร์เซอร์_off);

inputa = atoi(ไอน์ปุตา);

inputb = atoi(Ainputb);

if(signa=='-'){

อินพุต = -(อินพุต);

}

if(signb=='-'){

inputb = -(อินพุตb);

}

ถ้า (การดำเนินการ == '+'){

ตอบ = inputa + inputb;

longTostr(Aanswer, คำตอบ, ธ.ค.);

}

ถ้า (การดำเนินการ == '-'){

คำตอบ = inputa - inputb;

longTostr(Aanswer, คำตอบ, ธ.ค.);

}

ถ้า (การดำเนินการ == '*'){

ตอบ = inputa * inputb;

longTostr(Aanswer, คำตอบ, ธ.ค.);

}

ถ้า (การดำเนินการ == '/'){

คำตอบ = (ลอย)อินพุต / (ลอย)อินพุตb;

Panswer = floatTostr(คำตอบ);

ถ้า (อินพุต > inputb){

ตอบ[5]=0;

}

}

ถ้า (การดำเนินการ == '/'){

lcdWriteText(2, 1, "ตอบ:");

lcdWriteTextCP(คำตอบ);

}

อื่น {

lcdWriteText(2, 1, "ตอบ:");

lcdWriteTextCP (คำตอบ);

}

}

if(Keys!=0 && (Keys=='+' || Keys=='-' || Keys=='*' || Keys=='/')){

if(operation != 0 && a==0 && signb ==0 && (Keys=='-'||Keys=='+')){

lcdWriteCP (คีย์);

if(Keys=='-' || Keys=='+'){

signb = คีย์;

}

}

if(operation == 0 && a == 0 && signa ==0 && (Keys=='-'||Keys=='+')){

lcdWriteCP (คีย์);

if(Keys=='-' || Keys=='+'){

signa = คีย์;

}

}

if(operation == 0 && a != 0){

lcdWriteCP (คีย์);

การดำเนินการ = คีย์;

ก=0;

}

}

ถ้า (Keys!=0 && (Keys=='0'||Keys=='1'||Keys=='2'||Keys=='3'||Keys=='4'||Keys=' ='5'||คีย์=='6'||คีย์=='7'||คีย์=='8'||คีย์=='9')){

ถ้า (การดำเนินการ != 0){

lcdWriteCP (คีย์);

Ainputb[a] = คีย์;

++;

ตรวจสอบ=1;

}

ถ้า (การดำเนินการ == 0){

lcdWriteCP (คีย์);

Ainputa [a] = คีย์;

++;

}

}

}

}

ขั้นตอนที่ 5:

แนะนำ: