【嵌入式-1】学习笔记

前言

这学期开了一门《嵌入式应用系统开发》的课程,本身学软件,对硬件方面也不是特别精通,整理一下我自己学习过程中的想法和笔记分享出来仅供参考。

0 实验目的

模拟雷达 重点 1 串口数据传输和读取 2 绘图控件和绘图坐标系

1 实验前的准备

首先在阅读本教程之前,假设你是有一定C#基础的,因为我是利用C#来编程的,然后开始我们这次实验。
所要用的的工具如下:

  • VS2010
  • Arduino
  • 51单片机
  • 舵机
  • 超声波测距模块
    (所用到部件大致如下图:接线部分不做详细介绍)
    在这里插入图片描述
2 连接上单片机

连接单片机后,会有未识别的设备显示=>桌面电脑图标,属性找到设备管理器,设备里找到未识别设备=>右键更新驱动=>找到arduino所在路径下drivers文件夹选中,更新驱动=>提示警告一律不管,更新,成功后关闭窗口=>打开arduino后注意首先修改工具里端口的选择

3 单片机代码部分
#include <Servo.h>
const int TrigPin = 2;
const int EchoPin = 3;
Servo myservo; 
int p,cm,flag=0;

void setup()
{
Serial.begin(9600);
p=30;
 myservo.attach(9);  // 设置舵机控制针脚
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop(){
char op=  Serial.read();
if(op=='y')  {p=30,flag=1;}
else if(op=='x') flag=0;

if(flag==1){
   
     myservo.write(p);  delay(50); 
  
   digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
   delayMicroseconds(20);
   digitalWrite(TrigPin, HIGH);
   delayMicroseconds(20);
   digitalWrite(TrigPin, LOW);
   cm = pulseIn(EchoPin, HIGH)*0.017;   //时间与距离的换算公式

  if(cm>=100)  cm=100;
     
   Serial.println(cm*2);
   delay(100);
   p++;
  }
}
4 C#代码部分

VS中建立C#窗体程序
查找端口号部分:

public void find_sp()
      {
          comboBox1.Items.Clear();   //下拉框清空,否则每次刷新找端口得到的内容会追加出现重复的选项
          foreach (string s in SerialPort.GetPortNames())  //列出所有端口号作为下拉框的可选项添加到控件中供选择
              comboBox1.Items.Add(s);
          comboBox1.SelectedIndex = comboBox1.Items.Count - 1;   //默认选择最后一个
      }
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值