OrangePi Zero2 全志H616开发学习文档、基础IO蜂鸣器、超声波测距、舵机PWM基础开发

一.平台介绍

OrangePi开发板不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款简单、有趣、实用的工具,你可以用它去打造你身边的世界。

在这里插入图片描述

特性

  • CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器
  • GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0
  • 运行内存 1GBDDR3(与GPU共享)
  • 存储 TF卡插槽_课程配套硬件16G,测试128G可支持、2MBSPIFlash
  • WIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、BT5.0
  • 视频输出 MicroHDMI20a
  • 电源 USBTypeC接口输入
  • 外设 带有I2Cx1、SPIx1、UARTx1以及多个GPIO口
  • 电源指示灯和状态指示灯

二.基于官方外设开发

2.1 wiringPi外设SDK安装

git clone https://github.com/orangepi-xunlong/wiringOP //下载源码
cd wiringOP //进入文件夹
sudo ./build clean //清除编译信息
sudo ./build //编译

通过windows浏览器打开https://github.com/orangepi-xunlong/wiringOP
下载压缩包
把压缩包通过xterm传到开发板
解压 unzip xxx.zip
cd xxx
sudo ./build
gpio readall

验证指令:gpio readall,结果如下方所示:

在这里插入图片描述

2.2基本IO口应用——蜂鸣器开发

在这里插入图片描述

  • 代码:

    #include <stdio.h>
    #include <wiringPi.h>
    #include <unistd.h>
    #define BEEP 0 //设置针脚0为蜂鸣器的控制引脚
    int main (void)
    {
         
        wiringPiSetup () ;//初始化wiringPi库i
    
        pinMode (BEEP, OUTPUT) ;//设置IO口的输入输出,输出
    
        while(1){
         
            //sleep(1);
            usleep(100000);
            digitalWrite (BEEP, HIGH) ; //设置IO口输出低电平,蜂鸣器响
            //sleep(1);
            usleep(100000);
            digitalWrite (BEEP, LOW) ; //设置IO口输出低电平,蜂鸣器响
        }
    
        return 0;
    }
    
  • 简单编译shell脚本来gcc编译函数

    ./build beep.c
    gcc $1 -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
    shell脚本处理参数,可以通过$?来处理,这里的$1是要编译的文件
    

2.3超声波测距

  • 测距原理基本说明

    超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离。

    在这里插入图片描述

  • 超声波模块HC-SR04

    !在这里插入图片描述

  • 时序

    在这里插入图片描述

  • 时间函数

    gettimeofday 是一个在 Unix 及类 Unix 系统(如 Linux)中广泛使用的系统调用,它的目的是获取当前系统的日期和时间,精确到微秒级别。这个函数允许程序获取自1970年1月1日以来的秒数(即Unix时间戳)以及额外的微秒部分。这对于需要高精度时间测量的应用特别有用,例如在性能测试、计时、实时系统或是任何需要精确时间管理的场景。

    #include <sys/time.h>
    
    int gettimeofday(struct timeval *tv, struct timezone *tz);
    //结构体:
    struct timeval
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值