8309| 9
|
[项目分享] 基于行空板的科学探究 | 吃起来酸的东西就是酸性食物吗 |
本次科学探究实验由:分布在祖国四地的四位老师以线上合作的方式共同完成,是一种全新的团队合作尝试,他们分别是: 江曼老师 杨丽萌老师 温良老师 郭力老师 课程背景 “食物的酸碱性”是人教版高中化学选修1第一册第二章“促进身心健康”的第1节内容。本节内容将食物酸碱性与日常生活饮食相联系,具有趣味性和实用性。食物的酸碱性和化学上溶液的酸碱性不同,对人体有着重要的生理意义。酸碱平衡是人体重要的平衡因素之一,对身体健康和各个器官的正常运行起着重要作用。但人体的自身调控能力有限,我们在日常饮食中摄入酸碱性食物,通过选择不同的食物来维系人体酸碱平衡,保持体内的生理平衡。 本节课联系生活实际,以问题“吃起来酸的东西就是酸性食物吗”为导向,以柠檬汁为实验对象,对比分析柠檬汁在人体内代谢前后的酸碱性,引导学生将化学和日常生活联系,参与提出问题、实验论证、得出结论的探究过程,深刻体会化学与生活的紧密联系,激发学生的好奇心和对化学的学习兴趣。学生结合学习的酸碱性知识,通过自制的实验装置、Gravity模拟PH计等进行实验探究,将信息技术与化学学科融合,通过实验探究认识酸碱性食物的主要性质,了解食物对身体的作用,知道酸碱性食物对人体健康的影响,明白为什么要倡导人们均衡营养,合理膳食。 课前准备 教师准备:使用行空板、模拟PH传感器、SCI采集模块、数据线、泡沫、激光切割椴木板制作实验架台等,准备实验物品有人工胃液、人工肠液、酸碱滴定管、大小烧杯、酒精灯、柠檬。 实验目的
实验依据
探究思路
探究过程制作实验装置 根据使用仪器的尺寸设计合适的实验架台 用激光切割机加工出来,进行组装,如下图所示。 硬件连接及测试 将传感器与行空板连接,编写简单测试程序进行测试后,按照实验要求将它们正确地连接在一起,如图。 编写程序
1. #include "DFRobot_PH.h" 2. #include <EEPROM.h> 3. 4. #define PH_PIN A1 5. float voltage,phValue,temperature = 25; 6. DFRobot_PH ph; 7. 8. void setup() 9. { 10. Serial.begin(115200); 11. ph.begin(); 12. } 13. 14. void loop() 15. { 16. static unsigned long timepoint = millis(); 17. if(millis()-timepoint>1000U){ //time interval: 1s 18. timepoint = millis(); 19. //temperature = readTemperature(); // read your temperature sensor to execute temperature compensation 20. voltage = analogRead(PH_PIN)/1024.0*5000; // read the voltage 21. phValue = ph.readPH(voltage,temperature); // convert voltage to pH with temperature compensation 22. Serial.print("temperature:"); 23. Serial.print(temperature,1); 24. Serial.print("^C pH:"); 25. Serial.println(phValue,2); 26. } 27. ph.calibration(voltage,temperature); // calibration process by Serail CMD 28. } 29. 30. float readTemperature() 31. { 32. //add your code here to get the temperature from your temperature sensor 33. } 柠檬汁PH值数据分析 本实验中对模拟消化前后柠檬汁PH值的探究思路为:
模拟胃液消化组
模拟肠液消化组
兴致勃勃地看到这里,你心中是否留有疑问:这实验结果是不是有误?明明查阅资料柠檬是碱性食物,可实验结果却是PH值6.9<7,显酸性。我们和你有同样的疑问,难道实验失败了?别着急,接着往下看,我们便开始查找资料得知,人工胃液和人工肠液自身的PH值偏酸性,并且其含有的消化酶很少,因此不能和柠檬汁发生充分的体外消化;此外,溶液的温度对实验也会有影响,在专业的体外消化中会用到恒温水浴的装置。由于现有条件的限制,我们重新寻找新的实验方法来验证柠檬是否为碱性食物。 测试柠檬燃烧后PH实验过程 通过查阅资料,食物的酸碱性可根据食物完全燃烧后产生的灰分溶于水后溶液的酸碱性划分,酸性食品是指食品灰分溶于水后溶液呈酸性的食物,碱性食品是指食品灰分溶于水后溶液呈碱性的食物。于是,我们决定用柠檬片煅烧成灰的方法替代柠檬在体内消化代谢的过程。 将柠檬切成片晒干 使用酒精灯加热柠檬片烧成柠檬灰,将柠檬灰放入烧杯中倒入少量水,测得柠檬灰粉末液的PH值为5.02 将柠檬灰粉末液进行过滤,得到过滤后的柠檬灰水溶液 把烧杯置于恒温水中,然后加入过滤后的柠檬灰水溶液,使用SCI采集模块实时记录溶液的PH值编写监测溶液PH值数据的程序:1. from dfrobot_rp2040_suab import * 2. from pinpong.board import Board,Pin 3. from pinpong.board import DS18B20 4. from unihiker import GUI #导入包 5. import time 6. 7. gui=GUI() #实例化GUI类 8. Board().begin() 9. ds_PIN = Pin(Pin.D24) 10. ds1 = DS18B20(ds_PIN) 11. SCI1 = DFRobot_SUAB_IIC(addr=0x21) 12. while SCI1.begin() != 0: 13. print("Initialization Sensor Universal Adapter Board failed.") 14. time.sleep(1) 15. print("Initialization Sensor Universal Adapter Board done.") 16. 17. x_max = 240 18. y_max = 320 19. gui.draw_text(x=60, y=20, text='柠檬灰水溶液检测') 20. gui.draw_text(x=0, y=80, text='PH:') 21. gui.draw_text(x=0, y=120, text='水温:') 22. 23. t1 = gui.draw_text(x=90, y=80, text='0') 24. t2 = gui.draw_text(x=100, y=120, text='0') 25. t3 = gui.draw_text(x=20, y=260, text='') 26. 27. while True: 28. print("SCI数据读取:") 29. 30. PH_Water = SCI1.get_value1(SCI1.eAD,"PH_Water").strip() 31. PH_unit = SCI1.get_unit1(SCI1.eAD,"PH_Water").strip() 32. print("PH:%s %s" % (PH_Water, PH_unit)) 33. t1.config(text = "%s" % PH_Water) 34. 35. temp_c = ds1.temp_c() 36. t2.config(text = "%s℃" % temp_c) 37. t3.config(text = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 38. print("") 柠檬灰水溶液PH值数据采集 结合行空板和python可视化,我们可以方便地实现将实时的酸碱度变化曲线显示在屏幕上(见下图),便于我们及时掌握实验进展的状态。 1. from dfrobot_rp2040_suab import * 2. from pinpong.board import Board,Pin 3. from pinpong.board import DS18B20 4. from unihiker import GUI #导入包 5. import time 6. import numpy as np 7. from matplotlib import pyplot as plt 8. from matplotlib.animation import FuncAnimation 9. import matplotlib.animation as animation 10. import random 11. import datetime as dt 12. 13. gui=GUI() #实例化GUI类 14. Board().begin() 15. SCI1 = DFRobot_SUAB_IIC(addr=0x21) 16. while SCI1.begin() != 0: 17. print("Initialization Sensor Universal Adapter Board failed.") 18. time.sleep(1) 19. print("Initialization Sensor Universal Adapter Board done.") 20. 21. plt.style.use('seaborn-pastel')# 修改图标样式,可以使用print(plt.style.available) 打印样式列表 22. fig = plt.figure() #创建图像fig 23. ax = fig.add_subplot(1, 1, 1) #增加1x1子图 24. #创建两个列表对应折线图的x、y轴数据 25. xs = [] 26. ys = [] 27. a = 0 28. 29. #定义动画函数 30. def animate(i, xs, ys): 31. PH_Water = SCI1.get_value1(SCI1.eAD,"PH_Water").strip() 32. xs.append(dt.datetime.now().strftime('%H:%M:%S'))#x轴显示时间戳,时分秒 33. ys.append(PH_Water) #y轴显示PH值 34. # 限定xs和ys列表数据范围 35. xs = xs[-20:] 36. ys = ys[-20:] 37. # 根据xs,ys绘制折线 38. ax.clear() 39. ax.plot(xs, ys) 40. plt.xticks(rotation=90, ha='right')#坐标数值倾斜45°,数据沿x轴正无穷方向偏移 41. plt.subplots_adjust(left=0.20,bottom=0.20)#限制图标的区域边界 42. plt.title('lemon water PH')#图标标题 43. #调用animation方法,对象:画布fig,动画函数:animate,函数调用数值:(xs, ys),数据更新频率interval=1000 ms 44. #ani = animation.FuncAnimation(fig, animate, fargs=(xs, ys), interval=1000) 45. ani = animation.FuncAnimation(fig=fig, 46. func=animate, 47. fargs=(xs, ys), 48. frames=100, 49. #init_func=init, 50. interval=1000, 51. blit=False) 52. #画布显示 53. plt.show() 收集到加入柠檬灰水溶液的PH值见上述csv文件截图,实验数据表明在恒温水中加入柠檬灰水溶液后,由最初的PH值5.6变到8.1左右。由此实验数据可以看出,柠檬切片晒干烧成灰,加入水制作柠檬灰浸泡液,过滤浸泡液得到柠檬灰水溶液,将其放入恒温水中,经过一段时间反应后的PH值是8.08>7,呈碱性。 反思 为什么模拟胃肠液消化柠檬实验数据有问题?做化学实验本身是一件非常严谨的事情,要考虑到实验的各个方面,在本实验中要注意:
这也让我们明白了要想做好一个实验,一定要提前查阅各种资料,列出可能的影响因素和问题,并在条件允许的情况下一一解决,而且在真正做实验之前可以先拿PH试纸测试混合好溶液的PH值,这样有了前期的测试数据作为依据更容易开展后续的实验。 结论 根据实验验证了食物的酸碱性与食物本身测出来的PH值大小没有直接关系,原来吃起来酸的东西未必就是酸性食物,酸酸的柠檬就是碱性物质。我们人体体液的PH值为7.35-7.45之间,超过这个范围人体就会处于亚健康状态,我们吃入的食物分为酸性食物和碱性食物,所以在日常生活饮食中,大家要保持健康的饮食习惯,进行合理搭配,均衡膳食,通过食物的选择来控制体内的酸碱平衡。 参考文章:
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed