Difference between revisions of "Sensor-Crash"

From Microduino Wiki
Jump to: navigation, search
Line 1: Line 1:
{{Language|Sensor-Crash Sensor}}
+
{| style="width: 800px;"
{| style="width: 80%;"
+
|-
 +
|[[File: Microduino Crash-rect-v1.jpg|300px|left]] ||
 +
::<p style="color: #000000;font-size:200%"><br><br><br><br><br>'''Sensor-Crash'''</p>
 +
::Product serial number:'''<big style="color: #00A0A6">MSDS11</big>'''
 +
|-
 +
|[[File: Add-to-cart.jpg|300px|left|link=https://shop108263663.taobao.com/?spm=a230r.7195193.1997079397.2.ek3cAW]]||
 +
::<p style="color: #000000;font-size:120%">Sensor-Crash can detect collision, and it can be used as a button switch or a limit switch.
 +
</p>
 +
|}
 +
<br>
 +
<br>
 +
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
[[File: Microduino_Crash-rect-v1.jpg|400px|thumb|right| Microduino-Crash Sensor]]
+
<p style="color: #333333;font-size:155%">'''Technical Specifications'''</p>
 +
*Voltage:
 +
**3.3V~5V working voltage
  
The product number of Sensor-Crash is: '''MSDS11'''
+
*Technical parameter
 +
**The sensor signal '''<big style="color: #F0483C"> is HIGH before the sensor is pressed, and it changes into LOW after the sensor is pressed.</big>'''
 +
**Usually, a mechanical switch has mechanical dither, so when using it, you’d better use program to prevent that.
  
Sensor-Crash is a crash sensor, which is used to detect whether a crash has happened.
+
*Connection  
 
+
**This sensor can be connect to the following ports of Core: '''D2~D13''','''A0~A7'''
 
+
<br>
 
+
----
 
+
<br>
==Introduction of Sensor Pin==
+
<p style="color: #333333;font-size:155%">'''Pins'''</p>
{{ST_Pinout
+
{| border="0" cellpadding="10" width="90%"
|st_name=Crash Sensor
 
|pin3=Digital Input
 
}}
 
 
 
=About=
 
 
 
==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
+
|width="35%" valign="center" align="left"|
! Voltage Level
+
*IN'''<big style="color: #00A0A6">(Digital signal)</big>'''
|-
+
**PIN1: GND
|Sensor is not pressed
+
**PIN2: VCC
|HIGH
+
**PIN3: Digital signal input
|-
+
**PIN4: NC(empty)
|Sensor is pressed
+
|width="35%" valign="top" align="center"|
|LOW
+
[[file: Sensor_backpin.png|130px|center]]
 +
|width="25%" valign="top" align="center"|
 
|}
 
|}
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''Programming Manual'''</p>
 +
You can learn about Arduino IDE programming to control modules, referring to [[AVR Core: Getting_started |Getting Started]].
 +
<p style="color: #333333;font-size:120%">'''Common usage'''</p>
 +
The signal of Crash can be read directly with [[digitalRead()]]: high (1, true) or low (0, false).
 +
<source lang="cpp">
 +
#define PIN_KEY 4  //The key is connected to pin 4. 
  
===Programming===
+
void setup() {
<tab name="Arduino for Microduino" style="width:100%;">
+
   Serial.begin(9600); //Set the baud rate of serial communication.
==Introduction==
+
   pinMode(PIN_KEY, INPUT);//Set the input state of the key.
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:
+
   if (digitalRead(PIN_KEY)//Detect the state of the key
 
+
   {
  //Perform a digital read and store the value into pin_state variable
+
     Serial.println("KEY RELEASED");//Print “KEY RELEASED” from the serial port
  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
   else if(pin_state == LOW){
+
   {
     Serial.println("Crash sensor is pressed!");
+
     Serial.println("KEY PRESSED");// Print “KEY PRESSED” from the serial port.
 
   }
 
   }
  else{}
 
 
  //delay 100ms between loops
 
  delay(100);
 
 
}
 
}
</syntaxhighlight>
+
</source>
Copy and paste the code above to the Arduino IDE or
+
<p style="color: #333333;font-size:120%">'''Advanced Usage'''</p>
 +
[_07_m_Sensor_Key] libraries reference page provides the completed details and samples of how to use Crash sensor.
 +
*<p style="font-size:125%">Libraries Syntax Manual</p>[[Sensor_Key_Reference]]
 +
<br>
 +
[[file: Sensor_Key-idecode.JPG|400px|center]]
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''Documentation'''</p>
 +
*CAD drawing of the sensor: '''[[File:Sensor_CAD.zip]]'''
 +
*Download libraries from GitLab: [https://git.microduino.cn/hardware/libraries/tree/master/_07_m_Sensor_Key _07_m_Sensor_Key Library download]
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''Relative Tutorials'''</p>
 +
*[[Short and long press of the switch]]
 +
*[[State and action of the switch]]
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''Q&A'''</p>
 +
*Why does it seem that the results of being pressed and being released are reverse?
 +
**Because the signal is HIGH before Sensor-Crash is pressed, and after it is pressed, the signal changes into LOW.
  
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:Microduino-sensorhub_Crash.JPG|thumb|400px|left]]
+
<br>
<br style="clear: left"/>
+
----
 
+
<br>
===Result===
+
<p style="color: #333333;font-size:135%">'''History'''</p>
*After download, open the serial monitor.  
+
*The latest version was updated with a [[Sensor_Key_Reference]] instructions of libraries.  
*The static sensor signal is HIGH. After being pressed, it changes into LOW.
+
*[https://wiki.microduino.cn/index.php?title=Sensor-Temperature-D1/zh&oldid=20510 2017/6/1]
 
+
<br>
==Application==
+
<br>
*Key switch
+
----
*Limit switch
+
<br>
 
+
<p style="color: #333333;font-size:135%">'''Gallery'''</p>
===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|thumb|480px|center|mCookie-Crash-Front]]
+
[[file: MicroduinoCrash-F.JPG|250px|center]]
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
[[file: Microduino-Crash-b.JPG|thumb|480px|center|mCookie-Crash-Back]]
+
[[file: Microduino-Crash-b.JPG|250px|center]]
 
|}
 
|}
 
|}
 
|}
 +
<br>
 +
<p style="font-size:125%">[[MCookie Sensor Serials|Return to Sensor Page]]</p>

Revision as of 06:22, 18 September 2017

Microduino Crash-rect-v1.jpg






Sensor-Crash

Product serial number:MSDS11
Add-to-cart.jpg

Sensor-Crash can detect collision, and it can be used as a button switch or a limit switch.



Technical Specifications

  • Voltage:
    • 3.3V~5V working voltage
  • Technical parameter
    • The sensor signal is HIGH before the sensor is pressed, and it changes into LOW after the sensor is pressed.
    • Usually, a mechanical switch has mechanical dither, so when using it, you’d better use program to prevent that.
  • Connection
    • This sensor can be connect to the following ports of Core: D2~D13,A0~A7




Pins

  • IN(Digital signal)
    • PIN1: GND
    • PIN2: VCC
    • PIN3: Digital signal input
    • PIN4: NC(empty)
Sensor backpin.png




Programming Manual

You can learn about Arduino IDE programming to control modules, referring to Getting Started.

Common usage

The signal of Crash can be read directly with digitalRead(): high (1, true) or low (0, false).

#define PIN_KEY 4   //The key is connected to pin 4.  

void setup() {
  Serial.begin(9600);  //Set the baud rate of serial communication. 
  pinMode(PIN_KEY, INPUT);//Set the input state of the key.
}

void loop() {
  if (digitalRead(PIN_KEY))  //Detect the state of the key 
  {
    Serial.println("KEY RELEASED");//Print “KEY RELEASED” from the serial port
  }
  else
  {
    Serial.println("KEY PRESSED");// Print “KEY PRESSED” from the serial port. 
  }
}

Advanced Usage

[_07_m_Sensor_Key] libraries reference page provides the completed details and samples of how to use Crash sensor.


Sensor Key-idecode.JPG




Documentation




Relative Tutorials




Q&A

  • Why does it seem that the results of being pressed and being released are reverse?
    • Because the signal is HIGH before Sensor-Crash is pressed, and after it is pressed, the signal changes into LOW.






History





Gallery


Return to Sensor Page