Tilt sensor
En Tilt sensor är en sensor som kan mäta lutningen på ett objekt. Tilt sensorn består av en rullande boll och en platta. Står sensorn upprätt så ligger bollen mot plattan och strömmen går igenom sensorn men om sensorn lutas så rullar bollen ifrån plattan och strömmen bryts. Detta är något som används främst i flygplan för att hålla koll på lutningen av planet och veta hur man ska undvika hinder.
I den här kretsen kopplade jag en lampa till sensorn så att ju mer lutning det är på sensorn ju starkare lyser lampan.
Jag har gjort denna krets själv i tinkercad med hjälp utav en kod som jag hittade.
Koden:
/* Better Debouncer
- This debouncing circuit is more rugged, and will work with tilt switches!
*
int inPin = 2; // the number of the input pin
int outPin = 13; // the number of the output pin
int LEDstate = HIGH; // the current state of the output pin
int reading; // the current reading from the input pin
int previous = LOW; // the previous reading from the input pin
// the following variables are long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long debounce = 50; // the debounce time, increase if the output flickers
void setup()
{
pinMode(inPin, INPUT);
digitalWrite(inPin, HIGH); // turn on the built in pull-up resistor
pinMode(outPin, OUTPUT);
}
void loop()
{
int switchstate;
reading = digitalRead(inPin);
// If the switch changed, due to bounce or pressing…
if (reading != previous) {
// reset the debouncing timer
time = millis();
}
if ((millis() – time) > debounce) {
// whatever the switch is at, its been there for a long time
// so lets settle on it!
switchstate = reading;
// Now invert the output on the pin13 LED if (switchstate == HIGH) LEDstate = LOW; else LEDstate = HIGH;
}
digitalWrite(outPin, LEDstate);
// Save the last reading so we keep a running tally
previous = reading;
}
Källor:
https://www.kamgcoffee.net/blog/what-is-a-tilt-sensor-and-how-does-it-work/