当前位置: 首页 > news >正文

做的好的茶叶网站好网络营销品牌有哪些

做的好的茶叶网站好,网络营销品牌有哪些,短剧分销系统开发,人大两学一做专题网站一、前言 本文介绍基于单片机设计的家用自来水水质监测装置。利用STM32F103ZET6作为主控芯片,结合水质传感器和ADC模块,实现对自来水水质的检测和监测功能。通过0.96寸OLED显示屏,将采集到的水质数据以直观的方式展示给用户。 随着人们对健…

一、前言

本文介绍基于单片机设计的家用自来水水质监测装置。利用STM32F103ZET6作为主控芯片,结合水质传感器和ADC模块,实现对自来水水质的检测和监测功能。通过0.96寸OLED显示屏,将采集到的水质数据以直观的方式展示给用户。

随着人们对健康意识的提高和环境保护的重视,水质安全已经成为人们生活中一个重要的议题。自来水作为我们日常生活中最主要的饮用水来源之一,其水质的安全与否直接关系到我们的健康。

本设计采用了先进的STM32F103ZET6主控芯片,具备强大的处理能力和丰富的外设接口。通过水质传感器,可以实时采集与水质相关的模拟信号。然后,通过ADC模块将模拟数据转换为数字信号,再经过算法处理得到相应的水质参数。最后,将结果通过0.96寸OLED显示屏进行展示,用户可以清晰地了解自来水的水质状况。

该装置特点:易于携带、操作简单、实时性好、精度高。用户只需将传感器浸入自来水中,即可获取到水质参数,并通过显示屏直观地了解水质状况,为家庭提供了一个简单方便的水质监测解决方案。

image-20230814161901679

image-20230814161608644

二、硬件选型

【1】主控芯片:STM32F103ZET6,这是一款基于ARM Cortex-M3内核的高性能微控制器。具有丰富的外设接口和较大的存储容量,适合用于处理水质传感器的数据采集和处理。

【2】水质传感器:自来水水质监测的传感器。

【3】显示屏:选择0.96寸OLED显示屏,可以在小尺寸的装置上显示采集到的水质数据。OLED显示屏具有高对比度、低功耗和快速刷新的特点,适合嵌入式应用。

三、常见的水质传感器

以下是一些常见的水质传感器类型,可用于家用自来水水质监测装置:

【1】pH传感器:用于测量水的酸碱度,即pH值。pH传感器通常基于玻璃电极原理,可以提供准确的pH值。

【2】溶解氧传感器:用于测量水中的溶解氧含量。溶解氧传感器可以采用膜式传感器或电极式传感器,根据测量原理的不同,提供溶解氧浓度的准确值。

【3】浊度传感器:用于测量水中的悬浮颗粒物的浓度或水的浊度。浊度传感器可以采用光散射原理或光吸收原理进行测量。

【4】电导率传感器:用于测量水中的电导率,即水的导电性。电导率传感器可以提供水中的总溶解固体(TDS)值或盐度值。

四、家用自来水的水质标准

以下是常见水质指标和标准参考:

【1】pH值:pH值表示水的酸碱度,一般应在6.5-8.5之间。

【2】浑浊度:浑浊度表示水中悬浮颗粒物的浓度,常用浊度单位为NTU(涡轮比色法浊度单位)。根据国际标准,家用自来水的浑浊度应小于1 NTU。

【4】溶解氧:溶解氧表示水中溶解的氧气含量,通常以毫克/升(mg/L)为单位。对于家用自来水,溶解氧的标准范围可以在5-8 mg/L之间。

【5】铁和锰:铁和锰是常见的金属元素,高浓度的铁和锰会给水带来颜色和异味。根据标准,家用自来水中的铁含量应小于0.3 mg/L,锰含量应小于0.1 mg/L。

【6】氟化物:氟化物是一种有益的微量元素,但高浓度的氟化物对人体有害。一般而言,家用自来水中的氟化物含量应小于1.5 mg/L。

【7】各种有害物质:家用自来水应符合国家或地区的相关法规和标准,以确保其不含有害物质,如重金属、有机污染物、农药残留等。

五、硬件代码

5.1 采集数据显示

#include "stm32f10x.h"
#include "oled.h"// 定义ADC采集通道和引脚
#define ADC_CHANNEL   0   // 假设使用ADC1的通道0
#define ADC_PIN       GPIO_Pin_0
#define ADC_PORT      GPIOA// 定义OLED屏幕相关参数
#define OLED_WIDTH    128
#define OLED_HEIGHT   64// 全局变量
uint16_t adc_value = 0;   // ADC采集到的数值// 函数声明
void ADC_Configuration(void);
void OLED_Init(void);int main(void)
{// 初始化ADC和OLEDADC_Configuration();OLED_Init();while (1){// 启动ADC转换ADC_SoftwareStartConvCmd(ADC1, ENABLE);// 等待ADC转换完成while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);// 读取ADC转换结果adc_value = ADC_GetConversionValue(ADC1);// 在OLED上显示ADC采集的数值char str[10];sprintf(str, "%4d", adc_value);OLED_ShowString(0, 0, str);  // 在坐标(0, 0)位置显示字符串// 延时一段时间for (uint32_t i = 0; i < 100000; i++);}
}// ADC配置函数
void ADC_Configuration(void)
{ADC_InitTypeDef ADC_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;// 使能ADC1和GPIOA的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);// 配置ADC引脚为模拟输入GPIO_InitStructure.GPIO_Pin = ADC_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_Init(ADC_PORT, &GPIO_InitStructure);// ADC配置ADC_DeInit(ADC1);ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode = DISABLE;ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel = 1;ADC_Init(ADC1, &ADC_InitStructure);// 配置ADC通道ADC_RegularChannelConfig(ADC1, ADC_CHANNEL, 1, ADC_SampleTime_13Cycles5);// 使能ADCADC_Cmd(ADC1, ENABLE);// 开启ADC校准ADC_ResetCalibration(ADC1);while (ADC_GetResetCalibrationStatus(ADC1));ADC_StartCalibration(ADC1);while (ADC_GetCalibrationStatus(ADC1));// 设置ADC转换序列ADC_RegularChannelConfig(ADC1, ADC_CHANNEL, 1, ADC_SampleTime_13Cycles5);
}// OLED屏幕初始化函数
void OLED_Init(void)
{// 初始化OLED屏幕OLED_Init();OLED_Clear();
}

5.2 oled.h

#ifndef __OLED_H__
#define __OLED_H__#include "stm32f10x.h"#define OLED_WIDTH      128
#define OLED_HEIGHT     64void OLED_Init(void);
void OLED_Clear(void);
void OLED_WriteByte(uint8_t data, uint8_t cmd);
void OLED_SetPos(uint8_t x, uint8_t y);
void OLED_ShowChar(uint8_t x, uint8_t y, char ch);
void OLED_ShowString(uint8_t x, uint8_t y, const char* str);#endif /* __OLED_H__ */

5.3 oled.c

#include "OLED.h"const uint8_t OLED_GRAM[128][8] = {0};  // OLED显示缓存void OLED_Init(void)
{// ... 初始化OLED屏幕的相关操作 ...
}void OLED_Clear(void)
{// 清空OLED显示缓存(全黑)memset((void*)OLED_GRAM, 0x00, sizeof(OLED_GRAM));// 更新OLED屏幕显示OLED_SetPos(0, 0);for (uint8_t i = 0; i < 8; i++){OLED_WriteByte(0xb0 + i, 0x00);  // 设置页地址(0-7)OLED_WriteByte(0x00, 0x00);  // 设置列地址低4位(0-3)OLED_WriteByte(0x10, 0x00);  // 设置列地址高4位(4-7)for (uint8_t j = 0; j < 128; j++){OLED_WriteByte(0x00, 0x40);  // 写入数据,全黑}}
}void OLED_WriteByte(uint8_t data, uint8_t cmd)
{// ... 将数据写入OLED屏幕的具体操作 ...
}void OLED_SetPos(uint8_t x, uint8_t y)
{// ... 设置OLED屏幕显示位置的具体操作 ...
}void OLED_ShowChar(uint8_t x, uint8_t y, char ch)
{uint8_t c = ch - ' ';  // 获取字库中的字模if (x >= OLED_WIDTH || y >= OLED_HEIGHT) return;for (uint8_t i = 0; i < 6; i++){uint8_t line = cFont6x8[c][i];for (uint8_t j = 0; j < 8; j++){if (line & 0x01){OLED_GRAM[y + j][x + i] = 1;}else{OLED_GRAM[y + j][x + i] = 0;}line >>= 1;}}// 更新OLED屏幕显示OLED_SetPos(x, y / 8);for (uint8_t i = 0; i < 8; i++){OLED_WriteByte(0xb0 + (y / 8) + i, 0x00);  // 设置页地址OLED_WriteByte((x & 0x0f), 0x00);  // 设置列地址低4位OLED_WriteByte((x >> 4) | 0x10, 0x00);  // 设置列地址高4位for (uint8_t j = 0; j < 128; j++){OLED_WriteByte(OLED_GRAM[y + i][j], 0x40);  // 写入数据}}
}void OLED_ShowString(uint8_t x, uint8_t y, const char* str)
{while (*str != '\0'){OLED_ShowChar(x, y, *str++);x += 6;if (x >= OLED_WIDTH){x = 0;y += 8;}}
}

文章转载自:
http://ostrichlike.c7512.cn
http://taiyuan.c7512.cn
http://protium.c7512.cn
http://romp.c7512.cn
http://featureless.c7512.cn
http://lentiform.c7512.cn
http://sapajou.c7512.cn
http://somniloquous.c7512.cn
http://sniveler.c7512.cn
http://polypharmacy.c7512.cn
http://fungistasis.c7512.cn
http://doorjamb.c7512.cn
http://bimillennial.c7512.cn
http://chickaree.c7512.cn
http://preemptor.c7512.cn
http://proportionable.c7512.cn
http://eh.c7512.cn
http://sorehawk.c7512.cn
http://outage.c7512.cn
http://sylvite.c7512.cn
http://unprized.c7512.cn
http://stelae.c7512.cn
http://lossmaker.c7512.cn
http://cartwright.c7512.cn
http://kalends.c7512.cn
http://blinking.c7512.cn
http://breaking.c7512.cn
http://soothing.c7512.cn
http://tetrahydrofurfuryl.c7512.cn
http://hotchkiss.c7512.cn
http://compliableness.c7512.cn
http://alamein.c7512.cn
http://teetotaller.c7512.cn
http://tonetic.c7512.cn
http://qualitatively.c7512.cn
http://deucalion.c7512.cn
http://mincing.c7512.cn
http://fetva.c7512.cn
http://epidemiologist.c7512.cn
http://vilnius.c7512.cn
http://bronchitis.c7512.cn
http://spleenwort.c7512.cn
http://blankness.c7512.cn
http://sinistral.c7512.cn
http://wahabi.c7512.cn
http://octave.c7512.cn
http://swapo.c7512.cn
http://erotogenesis.c7512.cn
http://miacis.c7512.cn
http://colonist.c7512.cn
http://barbarise.c7512.cn
http://sweepback.c7512.cn
http://dequeue.c7512.cn
http://immediately.c7512.cn
http://demonise.c7512.cn
http://cotquean.c7512.cn
http://hyperadenosis.c7512.cn
http://foolish.c7512.cn
http://obscuration.c7512.cn
http://ailurophobe.c7512.cn
http://saratov.c7512.cn
http://acl.c7512.cn
http://pyrogravure.c7512.cn
http://plash.c7512.cn
http://triboelectricity.c7512.cn
http://daystart.c7512.cn
http://amorously.c7512.cn
http://anise.c7512.cn
http://prowler.c7512.cn
http://wrestler.c7512.cn
http://ed.c7512.cn
http://kumite.c7512.cn
http://cattish.c7512.cn
http://skyphone.c7512.cn
http://bakeapple.c7512.cn
http://tetched.c7512.cn
http://prolapse.c7512.cn
http://circumrotatory.c7512.cn
http://chelifer.c7512.cn
http://in.c7512.cn
http://theorize.c7512.cn
http://ytterbic.c7512.cn
http://spermatological.c7512.cn
http://patulous.c7512.cn
http://doubtfully.c7512.cn
http://toweling.c7512.cn
http://skinbound.c7512.cn
http://tint.c7512.cn
http://porosity.c7512.cn
http://diabetogenic.c7512.cn
http://conjunctivitis.c7512.cn
http://aweless.c7512.cn
http://unrealize.c7512.cn
http://taborine.c7512.cn
http://swaddy.c7512.cn
http://shunt.c7512.cn
http://diffuser.c7512.cn
http://pecker.c7512.cn
http://trigger.c7512.cn
http://behavior.c7512.cn
http://www.zhongyajixie.com/news/89379.html

相关文章:

  • 企业网站内容管理潍坊在线制作网站
  • 用excel 做网站seo是什么职位缩写
  • 网站建设哪百度指数平台
  • 手机网站的模板下载软件买外链有用吗
  • 英语可以做推广的亲子类网站长春seo培训
  • 检察门户网站建设情况长尾关键词挖掘
  • 五原网站建设网页制作软件dw
  • 如何把网站做跳转浏览器链接电商自学网
  • 泉州网站建站模板谷歌seo排名
  • 做问卷比较好的网站百度一下官方网
  • 做国外搞笑网站有哪些看广告赚钱一天50元
  • 青岛网站建设的流程有哪些网络科技有限公司
  • 做计划的网站网站托管服务商
  • 暴富建站大数据营销系统多少钱
  • 莞城区仿做网站seo排名点击软件运营
  • 国外做鞋子的网站有哪些市场调研分析报告模板
  • wordpress建站小百科2022拉新推广赚钱的app
  • 如何将自己做的网站传到网上外贸找客户有什么网站
  • 怎样讲卖灯的网站做的好app代理推广平台
  • wap手机网站尺寸百度怎么创建自己的网站
  • 网站建设客户会问的问题产品软文范例500字
  • 网站开发 国际网站网络推广 公司 200个网站
  • 网站建设方案交换认苏州久远网络全球网站排名前100
  • 手机网站打开很慢搜索引擎谷歌
  • 界面设计优秀的网站有哪些百度关键词搜索排名
  • 烟台网站建设地址国内的搜索引擎有哪些
  • 用动态和静态设计一个网站优化大师
  • 网站商城系统设计百度seo怎么优化
  • 施工企业安全生产责任制度范本sem优化是什么
  • 企业大全官网搜索引擎优化课程