#include <wiringPi.h>
#include <stdio.h>#define TiltPin 0
#define Gpin 1
#define Rpin 2void LED(char* color)
{pinMode(Gpin, OUTPUT);pinMode(Rpin, OUTPUT);if (color == "RED"){digitalWrite(Rpin, HIGH);digitalWrite(Gpin, LOW);}else if (color == "GREEN"){digitalWrite(Rpin, LOW);digitalWrite(Gpin, HIGH);}elseprintf("LED Error");
}int main(void)
{if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screenprintf("setup wiringPi failed !");return 1; }pinMode(TiltPin, INPUT);LED("GREEN");while(1){if(0 == digitalRead(TiltPin)){delay(10);if(0 == digitalRead(TiltPin)){LED("RED");printf("Tilt!n");}}else if(1 == digitalRead(TiltPin)){delay(10);if(1 == digitalRead(TiltPin)){while(!digitalRead(TiltPin));LED("GREEN");}}}return 0;
}
gcc tilt_switch.c -o tilt_switch -lwiringPi -lpthread
./tilt_switch
运行效果:
发生倾斜时,倾斜传感器绿灯亮,三色LED变色。
本文发布于:2024-01-28 12:50:49,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064174547546.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |