{"id":4667,"date":"2026-01-14T09:10:38","date_gmt":"2026-01-14T17:10:38","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4667"},"modified":"2026-01-14T09:10:38","modified_gmt":"2026-01-14T17:10:38","slug":"project-28-sensors-vibration-mk24","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4667","title":{"rendered":"Project #28 \u2013 Sensors \u2013 Vibration  \u2013 Mk24"},"content":{"rendered":"<div style=\"width: 1200px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4667-1\" width=\"1200\" height=\"675\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #Vibration #Buzzer #SparkFunESP32WROOM  #ESP32 #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02a.jpg\" alt=\"Vibration\" width=\"720\" height=\"707\" class=\"alignnone size-full wp-image-4669\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02a-300x295.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02b.jpg\" alt=\"Vibration\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4670\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02b-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02c.jpg\" alt=\"Vibration\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4671\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/01\/DL2601Mk02c-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>Crowtail &#8211; Vibration Sensor 2.0<\/strong><\/p>\n<p>The Crowtail &#8211; Vibration Sensor is Used to trigger the effect of various vibration with Normally closed type vibration sensor SW &#8211; 420. It is widely used to reported the theft alarm, intelligent car, earthquake alarm, motorcycle alarm, etc. This module is compared with the normally open type vibration sensor module, vibration trigger for longer periods of time, can drive the relay module .<\/p>\n<p><strong>Crowtail &#8211; Buzzer 2.0<\/strong><\/p>\n<p>The buzzer module is for making sound in your project. It sounds when activated by a logic HIGH signal. The buzzer module can be also connected to an analog pluse-width modulation (PWM) output to generate various of tones.<\/p>\n<p><strong>DL2601Mk02<\/strong><\/p>\n<p>1 x SparkFun Thing Plus &#8211; ESP32 WROOM<br \/>\n1 x Adafruit SHARP Memory Display<br \/>\n1 x Crowtail &#8211; Vibration Sensor 2.0<br \/>\n1 x Crowtail &#8211; Buzzer 2.0<br \/>\n1 x Terminal Block Breakout FeatherWing<br \/>\n1 x Lithium Ion Battery &#8211; 1000mAh<br \/>\n1 x Micro USB Cable<\/p>\n<p><strong>DL2601Mk02p<\/strong><\/p>\n<p><strong>DL2601Mk02p.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/****** Don Luc Electronics \u00a9 ******\r\nSoftware Version Information\r\nProject #28 \u2013 Sensors \u2013 Vibration \u2013 Mk24\r\n28-24\r\nDL2601Mk02p.ino\r\nDL2601Mk02\r\n1 x SparkFun Thing Plus - ESP32 WROOM\r\n1 x Adafruit SHARP Memory Display\r\n1 x Crowtail - Vibration Sensor 2.0\r\n1 x Crowtail - Buzzer 2.0\r\n1 x Terminal Block Breakout FeatherWing\r\n1 x Lithium Ion Battery - 1000mAh\r\n1 x Micro USB Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ EEPROM Library to Read and Write EEPROM with Unique ID for Unit\r\n#include &quot;EEPROM.h&quot;\r\n\/\/ SHARP Memory Display\r\n#include &lt;Adafruit_SharpMem.h&gt;\r\n#include &lt;Adafruit_GFX.h&gt;\r\n\r\n\/\/ Vibration Sensor\r\n\/\/ Declare the pin for the Vibration sensor\r\nint iVibration = 17;\r\n\/\/ Declare the pin for the buzzer\r\nint iBuzzer = 21;\r\n\/\/ Initialize soundValue to 0\r\nint iVibrationValue = 0;\r\n\/\/ Vibration\r\nString sVibration = &quot;&quot;;\r\n\r\n\/\/ SHARP Memory Display\r\n#define SHARP_SCK  13\r\n#define SHARP_MOSI 12\r\n#define SHARP_SS   27\r\n\/\/ Set the size of the display here, e.g. 144x168!\r\nAdafruit_SharpMem display(SHARP_SCK, SHARP_MOSI, SHARP_SS, 144, 168);\r\n\/\/ The currently-available SHARP Memory Display (144x168 pixels)\r\n\/\/ requires &gt; 4K of microcontroller RAM; it WILL NOT WORK on Arduino Uno\r\n\/\/ or other &lt;4K &quot;classic&quot; devices.\r\n#define BLACK 0\r\n#define WHITE 1\r\n\r\n\/\/ Software Version Information\r\n\/\/ EEPROM Unique ID Information\r\n#define EEPROM_SIZE 64\r\nString uid = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;28-24&quot;;\r\n\r\nvoid loop() {\r\n  \r\n  \/\/ Vibration Sensor\r\n  isVibration();\r\n\r\n  \/\/ isDisplayVibration\r\n  isDisplayVibration();\r\n\r\n}\r\n<\/pre>\n<p><strong>getDisplay.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ SHARP Memory Display\r\n\/\/ SHARP Memory Display - UID\r\nvoid isDisplayUID() {\r\n\r\n    \/\/ Text Display \r\n    \/\/ Clear Display\r\n    display.clearDisplay();\r\n    display.setRotation(4);\r\n    display.setTextSize(3);\r\n    display.setTextColor(BLACK);\r\n    \/\/ Don Luc Electronics\r\n    display.setCursor(0,10);\r\n    display.println( &quot;Don Luc&quot; );\r\n    display.setTextSize(2);\r\n    display.setCursor(0,40);\r\n    display.println( &quot;Electronics&quot; );\r\n    \/\/ Version\r\n    \/\/display.setTextSize(3);\r\n    display.setCursor(0,70);\r\n    display.println( &quot;Version&quot; );\r\n    \/\/display.setTextSize(2);\r\n    display.setCursor(0,95);   \r\n    display.println( sver );\r\n    \/\/ EEPROM\r\n    display.setCursor(0,120);\r\n    display.println( &quot;EEPROM&quot; );\r\n    display.setCursor(0,140);   \r\n    display.println( uid );\r\n    \/\/ Refresh\r\n    display.refresh();\r\n    delay( 100 );\r\n    \r\n}\r\n\/\/ Display Vibration\r\nvoid isDisplayVibration() {\r\n\r\n    \/\/ Text Display Vibration\r\n    \/\/ Clear Display\r\n    display.clearDisplay();\r\n    display.setRotation(4);\r\n    display.setTextSize(2);\r\n    display.setTextColor(BLACK);\r\n    \/\/ Sound Sensor\r\n    display.setCursor(0,5);\r\n    display.println( &quot;Vibration&quot; );\r\n    display.setTextSize(3);\r\n    display.setCursor(0,55);\r\n    display.println( sVibration );\r\n    \/\/ Refresh\r\n    display.refresh();\r\n    delay( 100 );\r\n\r\n}\r\n<\/pre>\n<p><strong>getEEPROM.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ isUID EEPROM Unique ID\r\nvoid isUID()\r\n{\r\n  \r\n  \/\/ Is Unit ID\r\n  uid = &quot;&quot;;\r\n  for (int x = 0; x &lt; 7; x++)\r\n  {\r\n    uid = uid + char(EEPROM.read(x));\r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>getVibration.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Vibration Sensor\r\n\/\/ is Vibration\r\nvoid isVibration(){\r\n\r\n  \/\/ Sound\r\n  iVibrationValue = digitalRead( iVibration );\r\n\r\n  \/\/ If the sensor value is HIGH?\r\n  if( iVibrationValue == HIGH )\r\n\t{\r\n\t\t\r\n    \/\/ Buzzer\r\n    digitalWrite( iBuzzer, LOW);\r\n\r\n    \/\/ No, return false\r\n    sVibration = &quot;False&quot;;\r\n\r\n\r\n\t}\r\n\telse\r\n\t{\r\n\t\t\r\n  \r\n    \/\/ Buzzer\r\n    digitalWrite( iBuzzer, HIGH);\r\n\r\n    \/\/ Yes, return true\r\n    sVibration = &quot;True&quot;;\r\n\r\n\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n \r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n   \/\/ EEPROM Size\r\n  EEPROM.begin(EEPROM_SIZE);\r\n  \r\n  \/\/ EEPROM Unique ID\r\n  isUID();\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ SHARP Display Start &amp; Clear the Display\r\n  display.begin();\r\n  \/\/ Clear Display\r\n  display.clearDisplay();\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Vibration Sensor\r\n  pinMode( iVibration, INPUT);\r\n  \/\/ Buzzer\r\n  pinMode(iBuzzer, OUTPUT);\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Display UID\r\n  \/\/ Don Luc\r\n  \/\/ Electronic\r\n  \/\/ Version\r\n  \/\/ EEPROM\r\n  isDisplayUID();\r\n\r\n  \/\/ Delay 5 Second\r\n  delay( 5000 );\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>People can contact us:<\/strong> https:\/\/www.donluc.com\/?page_id=1927<\/p>\n<p><strong>Consultant, R&#038;D, Electronics, IoT, Teacher and Instructor<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc&#8230;)<\/li>\n<li>IoT<\/li>\n<li>Wireless (Radio Frequency, Bluetooth, WiFi, Etc&#8230;)<\/li>\n<li>Robotics<\/li>\n<li>Automation<\/li>\n<li>Camera and Video Capture Receiver Stationary, Wheel\/Tank , Underwater and UAV Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial,  Marine and UAV<\/li>\n<li>Machine Learning<\/li>\n<li>Artificial Intelligence (AI)<\/li>\n<li>RTOS<\/li>\n<li>Sensors, eHealth Sensors, Biosensor, and Biometric<\/li>\n<li>Research &#038; Development (R &#038; D)<\/li>\n<li>Consulting<\/li>\n<\/ul>\n<p><strong>Follow Us<\/strong><\/p>\n<p><strong>Luc Paquin \u2013 Curriculum Vitae &#8211; 2026<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/LucPaquinCVEng2026Mk01.pdf<br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.com\/<br \/>\n<strong>Web:<\/strong> https:\/\/www.jlpconsultants.com\/<br \/>\n<strong>Facebook:<\/strong> https:\/\/www.facebook.com\/neosteam.labs.9\/<br \/>\n<strong>YouTube:<\/strong> https:\/\/www.youtube.com\/@thesass2063<br \/>\n<strong>DFRobot:<\/strong> https:\/\/learn.dfrobot.com\/user-10186.html<br \/>\n<strong>Elecrow:<\/strong> https:\/\/www.elecrow.com\/share\/sharepj\/center\/no\/760816d385ebb1edc0732fd873bfbf13<br \/>\n<strong>TikTok:<\/strong> https:\/\/www.tiktok.com\/@luc.paquin8<br \/>\n<strong>Hackster:<\/strong> https:\/\/www.hackster.io\/luc-paquin<br \/>\n<strong>LinkedIn:<\/strong> https:\/\/www.linkedin.com\/in\/jlucpaquin\/<\/p>\n<p><strong>Don Luc<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8212;&#8212; #DonLucElectronics #DonLuc #Vibration #Buzzer #SparkFunESP32WROOM #ESP32 #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; Crowtail &#8211; Vibration Sensor 2.0 The Crowtail &#8211; Vibration Sensor is Used to trigger the effect of various vibration with Normally closed type vibration sensor SW &#8211; 420. It is widely used to reported the theft &#8230; <a title=\"Project #28 \u2013 Sensors \u2013 Vibration  \u2013 Mk24\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4667\" aria-label=\"Read more about Project #28 \u2013 Sensors \u2013 Vibration  \u2013 Mk24\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[294,47,50,49,38,80,59,115,5,287,58,82,10,43],"tags":[86,6,92,102,4,87,19,83,85,24,9,84,27,248,109,33,392,34,108],"class_list":["post-4667","post","type-post","status-publish","format-standard","hentry","category-sensors","category-adafruit","category-arduino","category-consultant","category-digitalelectronics","category-esp32","category-fritzing","category-e-mentor","category-microcontrollers","category-program","category-arduino-programming","category-program-esp32","category-projects","category-sparkfun","tag-adafruit","tag-arduino","tag-battery","tag-components","tag-consultant","tag-display","tag-electronics","tag-esp32","tag-fritzing","tag-microcontroller","tag-programming","tag-programming-esp32","tag-projects-2","tag-sensors","tag-sparkfun","tag-technology","tag-vibration","tag-video-blog","tag-vlog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4667"}],"version-history":[{"count":1,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4667\/revisions"}],"predecessor-version":[{"id":4672,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4667\/revisions\/4672"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}