树梅派学习 10. 倾斜传感器使用

版权声明:(谢厂节的博客)博主文章绝大部分非原创,转载望留链接。 https://blog.csdn.net/xundh/article/details/81842948

电路图

这里写图片描述

接线图

这里写图片描述

程序代码

#include <wiringPi.h>
#include <stdio.h>

#define TiltPin     0
#define Gpin        1
#define Rpin        2

void 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);
    }
    else
        printf("LED Error");
}

int main(void)
{
    if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen
        printf("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变色。

猜你喜欢

转载自blog.csdn.net/xundh/article/details/81842948