《学Arduino的一些程序》由会员分享,可在线阅读,更多相关《学Arduino的一些程序(14页珍藏版)》请在金锄头文库上搜索。
1、超声波实验1.什么是超声波?波长和频率? 超声波是一种频率高于20000赫兹的声波。它每秒的振动次数甚高,超出了人耳听觉的一般上限,这种听不见的声波叫做超声波,它和可闻声本质是一样的,都是一种机械振动模式,通常以纵波的方式在弹性介质内传播,是一种能播形式。超声波的波长向性好。超声波是频率大于两万的声波,在空气中声音传播的速度近似等于340m/s.可得=v/f=0.017 (故其在空气中波长小于0.017m)2. 超声波有哪些类型?A型超声波检查A型超声波适用于一些含液性病变,如诊断胸腔积液并定位穿刺点,腹水探测,还可测量脏器大小及距离等.A超灵敏度较高,设备简单,易于操作,但不能显示横断面图象
2、,故在诊断上有较大的局限性.近年来,许多脏器的检查已被新型的B型显像仪所取代.B型超声波检查B超目前正广泛应用于心脏、腹部脏器以及其他许多方面的检查,特别是在妇产科领域的应用,由于超声诊断的结果能较快得到证实,且对胎儿和母体无损伤,因此对妊娠子宫的探查有较大的实用价值.M型超声波检查M型超声波又称超声心动图,主要用于心脏的检查,包括检查心腔大小,室间隔厚度,心脏瓣膜的形态与活动度以及心内肿瘤等.但单用M型超声波诊断心脏疾病有一定的局限性,如能和B超、D超、声学造影等联合运用,互为补充,则可以对许多疾病做出有价值的诊断,还可避免带有创伤性和危险性的心脏导管检查.D型超声波检查D型超声波又称多普勒
3、超声法,它可通过获取血流方向、速率及血流动力学资料,经过分析、计算,诊断出心脏和血管的病变,也可间接了解某些组织的供血情况.超声波测距代码:const int echopin=3; / echo接3端口const int trigpin=2; / trig接2端口int led_1 = 10; / led灯接10端口int led_2 = 11;int led_3 = 12;int led_4 = 13;void setup() Serial.begin(9600); pinMode(echopin,INPUT); /设定echo为输入模式 pinMode(trigpin,OUTPUT);/设
4、定trig为输出模式 pinMode(led_1,OUTPUT);/设定led为输出模式 pinMode(led_2,OUTPUT); pinMode(led_3,OUTPUT); pinMode(led_4,OUTPUT);void loop() digitalWrite(trigpin,LOW); delayMicroseconds(20); digitalWrite(trigpin,HIGH); delayMicroseconds(100); digitalWrite(trigpin,LOW); /发一个10ms的高脉冲去触发TrigPin float juli = pulseIn(ec
5、hopin,HIGH);/接收高电平时间 juli = juli/58.0;/计算距离 Serial.print(juli); /输出距离 Serial.println(cm); /输出单位 if(juli=10 & juli=25 & juli=50 & juli=100) digitalWrite(led_4,HIGH); digitalWrite(led_1,LOW); digitalWrite(led_2,LOW); elsedigitalWrite(led_4,LOW); digitalWrite(led_2,LOW); digitalWrite(led_3,LOW); digita
6、lWrite(led_1,LOW); /距离小于10cm时,led写入高电平 delay(100); /循环间隔60uS距离为0-10cm距离为10-25cm距离为25-50cm距离为50-100cm光敏电阻的代码:int photocellPin =A2;int led_1=10;int led_2=11;int led_3=12;int led_4=13;int val=0;void setup() pinMode(led_1,OUTPUT); pinMode(led_2,OUTPUT); pinMode(led_3,OUTPUT); pinMode(led_4,OUTPUT); Serial.begin(9600);void loop()val=analogRead(photocellPin);if(val256 & val512 & val768) digitalWrite(led_1,LOW); digitalWrite(led_2,LOW); digitalWrite(led_3,LOW); digitalWrite(led_4,HIGH); 取值范围0-256取值范围256-512取值范围为512-768取值范围768-1024