分享你的发明或小制作的制作过程

请详细描述你的发明或小制作,包括制作材料、步骤和遇到的挑战及解决方法。

3 个回答

cls10000

# 我的数学小制作:计算器 ## 材料准备 - Arduino UNO开发板 - 面包板 - 跳线若干 - 16x2液晶显示屏 - 4x4矩阵键盘 - 蜂鸣器 - 电阻(220欧姆) - 杜邦线若干 ## 步骤1:连接硬件 首先,我们需要将液晶显示屏、矩阵键盘和蜂鸣器连接到Arduino UNO开发板上。具体连接方式如下: 1. 将液晶显示屏的VSS接到Arduino的GND,VDD接到5V,VO接到10K电位器的中间引脚,RS接到D8,RW接到GND,E接到D9,D4接到D10,D5接到D11,D6接到D12,D7接到D13。 2. 将矩阵键盘的行连接到Arduino的数字引脚2到5,列连接到数字引脚6到9。 3. 将蜂鸣器的正极接到Arduino的D3,负极接到GND。 ## 步骤2:编写代码 接下来,我们需要编写Arduino代码来实现计算器的功能。以下是一个简单的示例代码: ```cpp #include // 初始化液晶显示屏 LiquidCrystal lcd(10, 9, 8, 7, 6, 5); // 定义按键矩阵的行和列 const int rows[] = {2, 3, 4, 5}; const int cols[] = {6, 7, 8, 9}; // 存储按键值的变量 char keys[4][4] = { {'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', '*'}, {'C', '0', '=', '/'} }; // 存储输入的数字和运算符的变量 String input = ""; void setup() { // 设置液晶显示屏的大小和初始位置 lcd.begin(16, 2); lcd.print("Calculator"); } void loop() { for (int i = 0; i < 4; i++) { digitalWrite(rows[i], LOW); for (int j = 0; j < 4; j++) { if (digitalRead(cols[j]) == LOW) { lcd.setCursor(input.length(), 1); lcd.print(keys[i][j]); input += keys[i][j]; delay(200); } } digitalWrite(rows[i], HIGH); } // 检查是否按下了等号键 if (input.indexOf('=') != -1) { // 在这里添加计算表达式的逻辑 // ... lcd.clear(); lcd.print("Result: "); lcd.setCursor(8, 1); lcd.print(result); // 假设result是计算结果 delay(2000); lcd.clear(); input = ""; } } ``` ## 步骤3:上传代码并测试 将编写好的代码上传到Arduino UNO开发板,然后按下矩阵键盘上的按键,观察液晶显示屏上显示的内容是否符合预期。如果一切正常,你的计算器就完成了!

十六

# 我的数学小制作:计算器 ## 材料准备 - Arduino UNO开发板 - 面包板 - 跳线若干 - 16x2液晶显示屏 - 4x4矩阵键盘 - 蜂鸣器 - 电阻(220欧姆) - 杜邦线若干 ## 步骤1:连接硬件 首先,我们需要将液晶显示屏、矩阵键盘和蜂鸣器连接到Arduino UNO开发板上。具体连接方式如下: 1. 将液晶显示屏的VSS接到Arduino的GND,VDD接到5V,VO接到10K电位器的中间引脚,RS接到D8,RW接到GND,E接到D9,D4接到D10,D5接到D11,D6接到D12,D7接到D13。 2. 将矩阵键盘的行连接到Arduino的数字引脚2到5,列连接到数字引脚6到9。 3. 将蜂鸣器的正极接到Arduino的D3,负极接到GND。 ## 步骤2:编写代码 接下来,我们需要编写Arduino代码来实现计算器的功能。以下是一个简单的示例代码: ```cpp #include // 初始化液晶显示屏 LiquidCrystal lcd(10, 9, 8, 7, 6, 5); // 定义按键矩阵的行和列 const int rows[] = {2, 3, 4, 5}; const int cols[] = {6, 7, 8, 9}; // 存储按键值的变量 char keys[4][4] = { {'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', '*'}, {'C', '0', '=', '/'} }; // 存储输入的数字和运算符的变量 String input = ""; void setup() { // 设置液晶显示屏的大小和初始位置 lcd.begin(16, 2); lcd.print("Calculator"); } void loop() { for (int i = 0; i < 4; i++) { digitalWrite(rows[i], LOW); for (int j = 0; j < 4; j++) { if (digitalRead(cols[j]) == LOW) { lcd.setCursor(input.length(), 1); lcd.print(keys[i][j]); input += keys[i][j]; delay(200); } } digitalWrite(rows[i], HIGH); } // 检查是否按下了等号键 if (input.indexOf('=') != -1) { // 在这里添加计算表达式的逻辑 // ... lcd.clear(); lcd.print("Result: "); lcd.setCursor(8, 1); lcd.print(result); // 假设result是计算结果 delay(2000); lcd.clear(); input = ""; } } ``` ## 步骤3:上传代码并测试 将编写好的代码上传到Arduino UNO开发板,然后按下矩阵键盘上的按键,观察液晶显示屏上显示的内容是否符合预期。如果一切正常,你的计算器就完成了!

健天

当然可以!我最近制作了一个简易太阳能充电器。首先,我需要准备以下材料:一块太阳能板、一个小型充电电路板、一些导线、一个USB接口和一个废弃的塑料瓶。 制作步骤如下: 1. 将塑料瓶剪成两半,然后将其中一半的瓶身剪出一个圆形的孔,以便让太阳能板嵌入。 2. 将太阳能板固定在塑料瓶的圆形孔中,确保它能够接收到充足的阳光。 3. 将充电电路板连接到太阳能板和USB接口上,用导线将它们串联起来。 4. 将组装好的太阳能充电器放在阳光下,让它充电一段时间。 5. 当充电完成后,将USB接口插入需要充电的设备,就可以开始充电了。 在制作过程中,我遇到的最大挑战是如何确保太阳能板能够稳定地固定在塑料瓶上。我尝试了几种不同的方法,如使用热熔胶或者双面胶,但都不太理想。最后,我发现使用橡皮筋将太阳能板固定在瓶身上效果最好,既稳固又方便拆卸。 通过这次制作,我学到了很多关于太阳能充电器的知识,也锻炼了自己的动手能力和解决问题的能力。希望我的分享能对你有所帮助!