树莓派外设开发之控制继电器(组)

目录

  • 控制继电器
  • 控制继电器组

控制继电器

选择7号引脚作为继电器信号输出控制端。

在这里插入图片描述
代码:

#include <wiringPi.h>
#include <stdio.h>
#define SWITCHER 7	// 7为树莓派物理引脚编码和wiringPi编码。在树莓派功能名为GPIO.7int main()
{int cmd;if( wiringPiSetup() == -1){		//调用wiringPI库需要先wiringPiSetup()初始化printf("硬件接口初始化失败\n");return -1;}/* 通用GPIO控制函数 void pinMode (int pin, int mode)* pin:配置的引脚* mode:指定引脚的IO模式* 可取的值:INPUT、OUTPUT、PWM_OUTPUT,GPIO_CLOCK* 作用:配置引脚的IO模式*/pinMode(SWITCHER, OUTPUT);	while(1){printf("请输入0或1:0->断开开关;1->导通开关\n");scanf("%d",&cmd);if(cmd == 1){digitalWrite(SWITCHER,LOW);		// void digitalWrite (int pin, int value)  pin:控制的引脚 value:引脚输出的电平值。可取的值:HIGH,LOW分别代表高低电平 让对一个已近配置为输出模式的 引脚  输出指定的电平信号}else if(cmd == 0){digitalWrite(SWITCHER,HIGH);}else{printf("输入错误\n");}}
}

运行程序:
在这里插入图片描述
继电器绿灯亮起
在这里插入图片描述

控制继电器组

GPIO引脚选择:
在这里插入图片描述

代码:

#include <wiringPi.h>
#include <stdio.h>
#define SWITCHER1 26
#define SWITCHER2 27	
#define SWITCHER3 28
#define SWITCHER4 29int main()
{int cmd;if( wiringPiSetup() == -1){		//调用wiringPI库需要先wiringPiSetup()初始化printf("硬件接口初始化失败\n");return -1;}pinMode(SWITCHER1, OUTPUT);	pinMode(SWITCHER2, OUTPUT);	pinMode(SWITCHER3, OUTPUT);pinMode(SWITCHER4, OUTPUT);		while(1){printf("请输入1~8:1->导通继电器1开关;2->断开继电器1开关;\n3->导通继电器2开关;4->断开继电器2开关;\n5->导通继电器3开关;6->断开继电器3开关;\n7->导通继电器4开关;8->断开继电器4开关\n");scanf("%d",&cmd);if(cmd == 1){digitalWrite(SWITCHER1,LOW);		}else if(cmd == 2){digitalWrite(SWITCHER1,HIGH);}else if(cmd == 3){digitalWrite(SWITCHER2,LOW);}else if(cmd == 4){digitalWrite(SWITCHER2,HIGH);}else if(cmd == 5){digitalWrite(SWITCHER3,LOW);}else if(cmd == 6){digitalWrite(SWITCHER3,HIGH);}else if(cmd == 7){digitalWrite(SWITCHER4,LOW);}else if(cmd == 8){digitalWrite(SWITCHER4,HIGH);}else{printf("输入错误\n");}}
}

运行程序:
在这里插入图片描述
继电器执行效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

piovt table python_python – Pandas:pivot和pivot_table之间的区别...

我有以下数据帧.df.head(30)struct_id resNum score_type_name score_value0 4294967297 1 omega 0.0648401 4294967297 1 fa_dun 2.1856182 4294967297 1 fa_dun_dev 0.0000273 4294967297 1 fa_dun_semi 2.1855914 4294967297 1 ref -1.1911805 4294967297 2 rama -0.7951616…

读《系统虚拟化-原理与实现》-第一章

一、虚拟化的实现: 在系统中加入一个虚拟化层&#xff0c;虚拟化层将下层资源抽象成另一形式的资源&#xff0c;提供给上层使用 1. 是虚拟化迁移的基础 2. 提高了移植性 二、几种虚拟化 1.硬件抽象层上的虚拟化 通过虚拟硬件抽象层来实现虚拟机 2.操作系统层上的虚拟化 操…

怎样查看电脑开机记录

在Windows XP中&#xff0c;我们可以通过“事件查看器”的事件日志服务查看计算机的开、关机时间。因为事件日志服务会随计算机一起启动和关闭&#xff0c;并在事件日志中留下记录。 在这里有必要介绍两个ID号&#xff1a;6006和6005。在事件查看器里ID号为6006的事件表示事件日…

[BZOJ2725/Violet 6]故乡的梦

Description Input Output Sample Input 6 7 1 2 1 2 3 1 3 4 2 4 5 1 5 6 1 1 3 3 4 6 3 1 6 4 1 2 1 3 4 3 6 5 Sample Output 7 6 Infinity 7 HINT 其实这题和[TJOI2012]桥基本差不多&#xff0c;如果不是最短路径上的边&#xff0c;那直接输出最短路即可。否则就按照[TJOI2…

智能家居 (3) ——智能家居工厂模式介绍实现继电器控制灯

目录智能家居工厂模式整体设计框架继电器控制灯代码contrlEquipments.h 文件&#xff08;设备类&#xff09;mainPro.c 文件&#xff08;主函数&#xff09;bathroomLight.c 文件&#xff08;浴室灯&#xff09;secondfloorLight.c 文件&#xff08;二楼灯&#xff09;livingro…

机器人离线编程画圆误差解决方案_工业机器人离线编程-误差分析和解决方案...

编&#xff1a;张山发&#xff1a;03/03/2019按&#xff1a;为便于更多读者朋友了解工业机器人离线编程/仿真&#xff0c;本文中尽量规避专业名词和深入的专业讲解。——————————————————————————————————国内工业机器人应用领域越来越广&…

读《系统虚拟化-原理与实现》-第二章

x86构架及操作系统概述 x86内存构架 地址空间和地址 物理地址空间&#xff1a;内存和其他硬件资源组合到一起&#xff0c;分布在CPU的物理地址空间内&#xff0c;CPU使用物理地址索引这些资源 线性地址空间&#xff1a;一个平台只有一个物理地址空间&#xff0c;但每个程序都…

SCCM OS播发

SCCM OS播发1.在分发点启用PXE支持2.将启动映像包分发到分发点:需要将x86和x64都分发到分发点&#xff0c;如果只分发x64&#xff0c;在客户端pxe启动时会出现 no response from wds server.3.安装好模板机4.使用驱动精灵将驱动备份出来后&#xff0c;导入到SCCM中5.创建任务序…

crm——stark组件核心原理

关于stark组件的简要介绍&#xff1a;启动后、路由加载前定制一段代码。a. 创建一个 stark app 组件b. 编写ready方法1 from django.apps import AppConfig2 3 4 class StarkConfig(AppConfig):5 name stark6 7 def ready(self):8 from django.utils.module_…

智能家居 (4) ——工厂模式火焰报警

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

tplink软件升级有用吗_tp-link路由器固件怎么升级更新

展开全部升级TP-LINK路由器32313133353236313431303231363533e58685e5aeb931333433623061软件方法分为如下三种&#xff0c;请结合实际情况选择升级方法&#xff1a;类型一、云服务器自动推送升级软件路由器WAN口联网成功后&#xff0c;在路由器管理界面登录TP-LINK ID&#xf…

java-多线程操作全(Thread)-Timer简单使用

一、 多线程概念和作用 线程指进程中的一个执行场景&#xff0c;也就是执行流程&#xff0c;那么进程和线程的区别是什么 1.每个进程是一个应用程序&#xff0c;都有独立的内存空间 2.同一个进程中的线程共享其进程中的内存和资源 (共享的内存是堆内存和方法内存&#xff0c;栈…

Apache http强制转为https页面访问(转)

1在httpd.conf文件里使下面模块生效LoadModule rewrite_module modules/mod_rewrite.so2httpd.conf配置文件或者是在httpd-vhost.conf文件里修改<Directory "C:/Apache2.2/docs/1.com">Options Indexes FollowSymLinksAllowOverride All# 上面是http-https时需…

读《系统虚拟化-原理与实现》-第三章

虚拟化概述 概念&#xff1a; 在虚拟环境里&#xff0c;虚拟机监控器&#xff08;VMM&#xff09;抢占了操作系统的位置&#xff0c;编程的物理机的管理者&#xff0c;同时向上层的软件呈现出虚拟的硬件平台&#xff0c;欺骗着上层的操作系统 虚拟机可以看做是物理机的一种高…

智能家居 (5) —— LD3320语音模块二次开发

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

java中事物的注解_编程式事务、XML配置事务、注解实现事务

Spring2.0框架的事务处理有两大类:1 编码式事务 , 这个不说.2 声明式事务 , 就说这个.声明式事务又有三种实现方法:1 (第一种) 最早的方法,用TransactionProxyFactoryBean,他是一个有AOP代理功能的FactoryBean.他返回的对象有事务.还要在spring的配置文件XML中配置,比较麻烦,不…

linux命令整理

1. mkdir ##创建目录 命令 【参数】 路径文件 参数&#xff1a; mkdir -p ##递归创建 mkdir -v ##显示创建目录的过程 示例&#xff1a; [rootXM ~]# mkdir /data [rootXM ~]# mkdir -pv test/{1..3}/{4..6} ##同时创建多个目录及子目录 mkdir: created di…

eclipse搭建SSH框架详解

2019独角兽企业重金招聘Python工程师标准>>> SSH框架是最常用的框架之一&#xff0c;在搭建SSH框架的时候总有人遇到这样&#xff0c;那样的问题。下面我介绍一下SSH框架搭建的全过程。 第一步&#xff1a;准备工作。 下载好eclipse,Struts2,Spring,Hibernate。…

龙芯派启用串口3-5

硬件平台&#xff1a;龙芯派二代 内核版本&#xff1a;linux-3.10 这几天在龙芯派上加了一个无线串口&#xff0c;决定采用串口3来连接串口&#xff0c;在龙芯派上执行 #ls /dev/ttyS* 发现只有ttyS0&#xff0c;查看设备树后发现其他串口的设备树节点都是有的&#xff0c…

智能家居 (7) ——网络服务器线程控制

目录网络线程控制代码inputCommand.hmainPro.csocketControl.c代码测试往期文章网络线程控制代码 inputCommand.h #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wiringPi.h> #include <wiringSerial.h> #include &l…