Arduino digitalInput library  1.1
Fabio Durigon
 Tutto Classi File Funzioni Variabili Pagine
digitalInput.cpp
Vai alla documentazione di questo file.
1 /*
2  * pulsante.cpp
3  *
4  * Created on: 11/giu/2011
5  * Author: fabio
6  *
7  * Classe per gestire un ingresso digiale HIGH/LOW
8  *
9  */
10 
45 #include "digitalInput.h"
46 
48 
52 {
53  this->pin=digitalPin;
54  statoPin=0;
55  statoPinPrec=0;
56  pinMode(this->pin,INPUT);
57 }
58 
60 
64 digitalInput::digitalInput(byte digitalPin, bool pullUp)
65 {
66  this->pin=digitalPin;
67  statoPin=0;
68  statoPinPrec=0;
69  pinMode(this->pin,INPUT_PULLUP);
70 }
71 
73 
80 {
81  bool ret=false;
82 
83  statoPin = digitalRead(pin);
84  if (statoPin != statoPinPrec){
85  if (statoPin == HIGH){
86  if (statoPin == stato) ret=true;
87  else ret=false;
88  }
89  else{
90  if (statoPin == stato) ret=true;
91  else ret=false;
92  }
93  }
95  return ret;
96 }
97 
100 {
101  digitalWrite(pin,HIGH);
102 }
103 
105 
111 {
112  if(isChangedTo(LOW) || isChangedTo(HIGH)) return true;
113  else return false;
114 }
115 
117 
123 {
124  return(isChangedTo(LOW));
125 }
126 
128 
134 {
135  return(isChangedTo(HIGH));
136 }
137 
139 
143 {
144  return digitalRead(pin);
145 }
146 
148 digitalInput::operator int()
149 {
150  return read();
151 }