Difference between revisions of "Sensor-Crash"
(Revert back to early version for now until edits can be merged) |
|||
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | {| | + | {{Language|Sensor-Crash Sensor}} |
− | + | {| style="width: 80%;" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {| style="width: | ||
|- | |- | ||
| | | | ||
− | + | [[File: Microduino Crash-rect.jpg|400px|thumb|right| Microduino-Crash Sensor]] | |
− | + | ||
− | + | The product number of Sensor-Crash is: '''MSDS11''' | |
+ | |||
+ | Sensor-Crash is a crash sensor, which is used to detect whether a crash has happened. | ||
+ | |||
+ | |||
+ | |||
− | + | ==Introduction of Sensor Pin== | |
− | + | {{ST_Pinout | |
− | + | |st_name=Crash Sensor | |
+ | |pin3=Digital Input | ||
+ | }} | ||
− | *Connection | + | =About= |
− | **This sensor can be | + | |
− | + | ==Specification== | |
− | + | *Sensor voltage | |
− | + | **3.3V~5V working voltage | |
− | + | ||
− | + | *Size of the sensor | |
+ | **Size of the board: 23.5mm*13mm | ||
+ | **1.27mm-spacing 4Pin interface connected with sensorhub. | ||
+ | **CAD drawing of the sensor: '''[[File:Sensor_CAD.zip]]''' | ||
+ | |||
+ | *Function description | ||
+ | **The static signal of the sensor is HIGH. After being pressed, the signal changes into LOW. | ||
+ | |||
+ | *Connection | ||
+ | **This sensor can be connected to the following interfaces of the core: '''D2~D13''','''A0~A7''' | ||
+ | |||
+ | ==Document== | ||
+ | *Schematic diagram: | ||
+ | *Main sensors: | ||
+ | |||
+ | ==Usage== | ||
+ | |||
+ | ===Basic Functionality=== | ||
+ | The Crash Sensor is a simple Single Pole Single Throw Switch (SPST). When the sensor is not press, the electrical path through it is "open" (electrons cannot flow through it). When the sensor is pressed, the electrical path through it is "closed" (electrons can flow through it). It is an input module which produces a HIGH or LOW voltage depending if pressed or not. A Core module can read the voltage value and determine the state of the Crash Sensor. | ||
+ | {| class="wikitable" | ||
+ | |+Crash Sensor State Table | ||
+ | |- | ||
+ | ! State | ||
+ | ! Voltage Level | ||
+ | |- | ||
+ | |Sensor is not pressed | ||
+ | |HIGH | ||
|- | |- | ||
− | | | + | |Sensor is pressed |
− | + | |LOW | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | void setup() { | + | ===Programming=== |
− | Serial.begin(9600); | + | <tab name="Arduino for Microduino" style="width:100%;"> |
− | pinMode( | + | ==Introduction== |
+ | The Crash Sensor is used as a simple input pin. Therefore, the '''pinMode''' and '''digitalRead''' functions will be used. | ||
+ | ==Key Functions== | ||
+ | *Required Libraries: None | ||
+ | *Key Functions: | ||
+ | ** '''pinMode(pin_number, pin_mode)''' - sets the mode for the pin | ||
+ | ***'''pin_number''' - is the pin number that the sensor is connected to | ||
+ | ***'''pin_mode''' - is the mode to set the pin to. Either '''INPUT''' or '''OUTPUT''' | ||
+ | ** '''digitalRead(pin_number)''' - Reads the value of the pin | ||
+ | ***'''pin_number''' - is the pin number that the sensor is connected to | ||
+ | |||
+ | ==Example== | ||
+ | This is a simple example which outputs the state of the Crash Sensor to the serial port terminal. | ||
+ | |||
+ | '''Note''': Important lines of code are highlighted. | ||
+ | |||
+ | <syntaxhighlight lang="cpp" highlight="1,2,10,11,17,18"> | ||
+ | //Define the pin the sensor is connected to | ||
+ | const int CRASH_SENSOR_PIN = 6; | ||
+ | |||
+ | void setup(){ | ||
+ | // put your setup code here, to run once: | ||
+ | |||
+ | //Initial serial communication port at 9600 baud | ||
+ | Serial.begin(9600); | ||
+ | |||
+ | //Configure the pin into input mode | ||
+ | pinMode(CRASH_SENSOR_PIN, INPUT); | ||
} | } | ||
− | void loop() { | + | void loop(){ |
− | + | // put your main code here, to run repeatedly: | |
− | { | + | |
− | Serial.println(" | + | //Perform a digital read and store the value into pin_state variable |
+ | int pin_state = digitalRead(CRASH_SENSOR_PIN); | ||
+ | |||
+ | //Check if the sensor's state is HIGH (not pressed) | ||
+ | if(pin_state == HIGH){ | ||
+ | Serial.println("Crash sensor is not pressed!"); | ||
} | } | ||
− | + | //Check if the sensor's state is LOW (pressed) | |
− | { | + | else if(pin_state == LOW){ |
− | Serial.println(" | + | Serial.println("Crash sensor is pressed!"); |
} | } | ||
+ | else{} | ||
+ | |||
+ | //delay 100ms between loops | ||
+ | delay(100); | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
− | < | + | Copy and paste the code above to the Arduino IDE or |
− | [ | + | |
− | * | + | Download the above example: n/a |
+ | |||
+ | *Open the Serial Monitor (magnifier glass on top right) and set 9600 baud. This will display the serial output. | ||
+ | </tab> | ||
+ | |||
+ | ===Program Download=== | ||
+ | *Download and unzip the program '''[[File:Sensor_Crash_Test.zip]]''' | ||
+ | *Or create a new sketch and copy & paste this code: '''https://gist.github.com/anonymous/d714e491f22fda1c42dd78f9e92b5eb4''' | ||
+ | |||
+ | ===Programming=== | ||
+ | {{Upload | ||
+ | |nameA=[[Microduino-Core]], [[Microduino-USBTTL]] | ||
+ | |nameB=[[Microduino-USBTTL]] | ||
+ | |boardName=Microduino/mCookie-Core(328p), Atmega328P@16M,5V | ||
+ | |fileName=CrashTest.ino | ||
+ | }} | ||
+ | |||
+ | ===Hardware Setup=== | ||
+ | *Referring to the following diagram, connect the Sensor-Crash to digital port D6 of '''[[Microduino-Sensorhub]]'''. | ||
<br> | <br> | ||
− | [[file: | + | [[file:Microduino-sensorhub_Crash.JPG|thumb|400px|left]] |
− | <br | + | <br style="clear: left"/> |
− | + | ||
− | + | ===Result=== | |
− | + | *After download, open the serial monitor. | |
− | * | + | *The static sensor signal is HIGH. After being pressed, it changes into LOW. |
− | * | + | |
− | + | ==Application== | |
− | + | *Key switch | |
− | + | *Limit switch | |
− | + | ||
− | * | + | ===Projects=== |
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==History== | ||
− | + | ==Gallery== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| border="0" cellpadding="10" width="100%" | {| border="0" cellpadding="10" width="100%" | ||
|- | |- | ||
|width="50%" valign="top" align="left"| | |width="50%" valign="top" align="left"| | ||
− | [[file: MicroduinoCrash-F.JPG| | + | [[file: MicroduinoCrash-F.JPG|thumb|480px|center|mCookie-Crash-Front]] |
|width="50%" valign="top" align="left"| | |width="50%" valign="top" align="left"| | ||
− | [[file: Microduino-Crash-b.JPG| | + | [[file: Microduino-Crash-b.JPG|thumb|480px|center|mCookie-Crash-Back]] |
|} | |} | ||
|} | |} | ||
− | |||
− |
Latest revision as of 20:30, 1 December 2017
Language: | English • 中文 |
---|
The product number of Sensor-Crash is: MSDS11 Sensor-Crash is a crash sensor, which is used to detect whether a crash has happened.
ContentsIntroduction of Sensor Pin
AboutSpecification
Document
UsageBasic FunctionalityThe Crash Sensor is a simple Single Pole Single Throw Switch (SPST). When the sensor is not press, the electrical path through it is "open" (electrons cannot flow through it). When the sensor is pressed, the electrical path through it is "closed" (electrons can flow through it). It is an input module which produces a HIGH or LOW voltage depending if pressed or not. A Core module can read the voltage value and determine the state of the Crash Sensor.
ProgrammingIntroductionThe Crash Sensor is used as a simple input pin. Therefore, the pinMode and digitalRead functions will be used. Key Functions
ExampleThis is a simple example which outputs the state of the Crash Sensor to the serial port terminal. Note: Important lines of code are highlighted. //Define the pin the sensor is connected to
const int CRASH_SENSOR_PIN = 6;
void setup(){
// put your setup code here, to run once:
//Initial serial communication port at 9600 baud
Serial.begin(9600);
//Configure the pin into input mode
pinMode(CRASH_SENSOR_PIN, INPUT);
}
void loop(){
// put your main code here, to run repeatedly:
//Perform a digital read and store the value into pin_state variable
int pin_state = digitalRead(CRASH_SENSOR_PIN);
//Check if the sensor's state is HIGH (not pressed)
if(pin_state == HIGH){
Serial.println("Crash sensor is not pressed!");
}
//Check if the sensor's state is LOW (pressed)
else if(pin_state == LOW){
Serial.println("Crash sensor is pressed!");
}
else{}
//delay 100ms between loops
delay(100);
} Copy and paste the code above to the Arduino IDE or Download the above example: n/a
Program Download
Programming
Hardware Setup
Result
Application
ProjectsHistoryGallery |