1. 程式人生 > >樹梅派學習 11. 振動感測器實驗和幹簧管感測器

樹梅派學習 11. 振動感測器實驗和幹簧管感測器

振動感測器

電路圖:
這裡寫圖片描述

接線圖:
這裡寫圖片描述

實體接線圖:

程式:

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

#define VibratePin  0
#define Gpin        1
#define Rpin        2

int tmp = 0;

void LED(int color)
{
    pinMode(Gpin, OUTPUT);
    pinMode(Rpin, OUTPUT);
    if (color == 0)
    {
        digitalWrite(Rpin, HIGH);
        digitalWrite(Gpin, LOW);
    }
    else
if (color == 1) { digitalWrite(Rpin, LOW); digitalWrite(Gpin, HIGH); } else printf("LED Error"); } void Print(int x){ if (x != tmp){ if (x == 0) printf("...ON\n"); if (x == 1) printf("OFF..\n"); tmp = x; } } int
main(void) { int status = 0; int tmp = 0; int value = 1; if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen printf("setup wiringPi failed !"); return 1; } pinMode(VibratePin, INPUT); while(1){ value = digitalRead(VibratePin); if
(tmp != value){ status ++; if (status > 1){ status = 0; } LED(status); Print(status); delay(1000); } } return 0; }

幹簧管感測器

線路圖:
這裡寫圖片描述
程式碼:

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

#define ReedPin     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(ReedPin, INPUT);
    LED("GREEN");

    while(1){
        if(0 == digitalRead(ReedPin)){
            delay(10);
            if(0 == digitalRead(ReedPin)){
                LED("RED"); 
                printf("Detected Magnetic Material!\n");    
            }
        }
        else if(1 == digitalRead(ReedPin)){
            delay(10);
            if(1 == digitalRead(ReedPin)){
                while(!digitalRead(ReedPin));
                LED("GREEN");
            }
        }
    }
    return 0;
}

相關推薦

梅派學習 11. 振動感測器實驗感測器

振動感測器 電路圖: 接線圖: 實體接線圖: 程式: #include <wiringPi.h> #include <stdio.h> #define Vib

梅派學習 5. RGB LED實驗

原理圖: 接線: c語言程式: #include <wiringPi.h> #include <softPwm.h> #include <stdio.h>

梅派學習 19. 超聲波感測器實驗

超聲波感測器: 接線圖: 程式: #!/usr/bin/env python import RPi.GPIO as GPIO import time TRIG = 11 ECH

梅派學習 16. 可調電阻實驗

電位器電路圖: 接線圖: 實體圖: 程式碼: PCF8591.py 程式碼同上一節。 potentiometer.py #!/usr/bin/env python impo

梅派學習 14. 雨滴檢測上報系統

這一次搭建一個雨滴檢測併發送微信訊息到手機上。 Created with Raphaël 2.1.2雨滴檢測傳送微信訊息 硬體端:雨滴檢測 雨滴檢測感測器原理圖: 接線圖: 程式 PCF8591.py #!/usr/bin/en

【Spark深入學習-11】Spark基本概念運行模式

nmf 磁盤 大數據平臺 並不是 鼠標 .cn 管理系統 大型數據集 spa ----本節內容------- 1.大數據基礎 1.1大數據平臺基本框架 1.2學習大數據的基礎 1.3學習Spark的Hadoop基礎 2.Hadoop生態基本介紹 2.1

二叉11)----求二叉的鏡像,遞歸非遞歸方式

temp right 二叉樹 -a data nbsp rac art urn 1、二叉樹定義: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; type

機器學習(七)—Adaboost 梯度提升GBDT

獲得 決策樹 info gin 否則 它的 均方差 但是 ont 1、Adaboost算法原理,優缺點:   理論上任何學習器都可以用於Adaboost.但一般來說,使用最廣泛的Adaboost弱學習器是決策樹和神經網絡。對於決策樹,Adaboost分類用了CART分類樹,

ID3決策中連續值的處理+周志華《機器學習》圖4.8圖4.10繪製

轉載自 https://blog.csdn.net/Leafage_M/article/details/80137305 用一句話總結這篇部落格的內容就是: 對於當前n條資料,相鄰求平均值,得到n-1個分割值,要點如下: ①連續數值特徵的熵計算就是對上面的n-1個分割值不停嘗試, 嘗試得

Arduino 入門學習筆記6 溫度感測器實驗

實驗的溫度感測器使用熱敏電阻;大部分熱敏電阻是負溫度係數(NTC),其電阻隨溫度升高而降低。由於它們的電阻隨溫度變化劇烈變化,所以熱敏電阻是最敏感的溫度感測器。 模擬溫度感測器模組使用NTC熱敏電阻,使用一個內建比較器:LM393,它可以使模組同時輸出數字和模擬訊號。該模組可用於溫度

UE4 Behavior Tree 行為【1】基礎學習-行為書節點彙總意義總結

是從左往右執行,要配合AIController、Nav Mesh Bounds Volume使用,和Sequence、Selector、Black Board、Task、Decorator、Service配合使用! Sequence說明:從左往右執行,如果是Tures就迴圈下去一直執行,如

mongodb基礎學習11-複製集分片結合使用

  實際的使用中複製集和分片是結合使用的,即一個分片由一個複製集構成,多個分片儲存資料庫的資料   呼叫指令碼啟動兩個複製集   啟動configsvr的節點   啟動mongos   增加分片,這次要加上覆制集的id,節點為複製集的主節點   下面來看一下效果   對資料庫啟

mxnet深度學習實戰:跑自己的資料實驗一些問題總結

用mxnet跑自己的資料 0 程式碼編譯   git clone https://github.com/dmlc/mxnet.git   git clone https://github.com/dmlc/mshadow.git   git clone https://gi

梅派-溫溼度感測器

#!/usr/bin/python #coding=utf-8 import RPi.GPIO as GPIO import time import requests import urllib import urllib2 import random import MySQL

C++11學習筆記:std::movestd::forward原始碼分析

std::move和std::forward是C++0x中新增的標準庫函式,分別用於實現移動語義和完美轉發。下面讓我們分析一下這兩個函式在gcc4.6中的具體實現。 預備知識 引用摺疊規則: X& + & => X& X&& +

決策基本理論學習以及Python程式碼實現詳細註釋

首先是樹的概念我們都比較熟悉了,然後決策樹其實就是一棵樹,通過在每一個幾點通過特徵的不同,走向不同的子樹直到走到葉子節點找到分類的標籤,算是完成了分類的過程。分類的過程不難理解,主要的是資料構造過程。 首先是構造的依據是什麼呢,以什麼依據作為特徵使用的選擇條件

感測器系列之4.1振動感測實驗

4.1 振動感測實驗 一、實驗目的 掌握LPC2378晶片的程式設計方法 掌握震動感測器的使用方法 掌握震動感測器在實際中的應用。 二、實驗材料 具有串列埠通訊的電腦一臺 ADS1.2 開發環境 J-Link-ARM模擬器一個 LPC2

11.8計算機導論計算機基礎實驗課收穫

堅持上好每一節“水課”。 計算機基礎實驗上老師講了關於資料在計算機中的儲存。 字長: 每臺計算機都有一個字長,對於字長為w位的電腦而言,虛擬地址的範圍是0~2^w-1,程式最多訪問2^w個位元組 整數編碼: 如圖所示: 最高位代表符號位,而符號位代表意義是-2^w-1。如圖

關於B學習總結B+,B*的簡介

概念 B樹,英文是B-tree,是一種平衡多路樹,這個不叫B減樹,就是B樹。 B樹是一種多路樹。因為他的子節點不止2個,可以是多個。 B樹是一種平衡樹。所謂平衡樹,指的是他的左右兩個子樹的高度差小於等於1,而且左右子樹的子樹高度差也小於等於1。其實B樹算是一種特殊的平衡樹,

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章節--為OfficeSP解決方式開發集成Apps Office新的App模型

align epo 挑戰 bsp apps rep 過去 content enter BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第11章節--為Office和SP解決方式開發集成Apps Office新的App模型