{"id":4424,"date":"2025-05-09T09:08:50","date_gmt":"2025-05-09T16:08:50","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4424"},"modified":"2025-05-09T11:39:53","modified_gmt":"2025-05-09T18:39:53","slug":"project-12-robotics-vibration-mk29","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4424","title":{"rendered":"Project #12: Robotics &#8211; Vibration &#8211; Mk29"},"content":{"rendered":"<div style=\"width: 720px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4424-1\" width=\"720\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #Vibration #Arduino #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01a.jpg\" alt=\"Vibration\" width=\"720\" height=\"748\" class=\"alignnone size-full wp-image-4426\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01a-289x300.jpg 289w\" 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\/2025\/05\/DL2505Mk01b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01b.jpg\" alt=\"Vibration\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4427\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01b-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\/2025\/05\/DL2505Mk01c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01c.jpg\" alt=\"Vibration\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4428\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/05\/DL2505Mk01c-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- 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<ul>\n<li>1. The product is not vibration, vibration switch is closed on state, output output low level, the green light is lit;<\/li>\n<li>2. When product vibration, the vibration switch instantaneous disconnection, output, output level green light is not bright;<\/li>\n<li>3. The output can be attached directly to the single chip microcomputer, through single chip microcomputer to detect the high and low level, thus to detect if there is a vibration environment, report to the police;<\/li>\n<\/ul>\n<p><strong>DL2505Mk01<\/strong><\/p>\n<p>1 x Crowduino Uno &#8211; SD<br \/>\n1 x Crowtail &#8211; Base Shield<br \/>\n1 x Crowtail &#8211; I2C LCD<br \/>\n1 x Crowtail &#8211; Vibration Sensor 2.0<br \/>\n1 x Crowtail &#8211; Buzzer 2.0<br \/>\n1 x Crowtail &#8211; LED(Green)<br \/>\n1 x USB Battery Pack<br \/>\n1 x USB Mini-B Cable<\/p>\n<p><strong>Crowduino Uno &#8211; SD<\/strong><\/p>\n<p>SCL &#8211; A5<br \/>\nSDA &#8211; A4<br \/>\nBUZ &#8211; 4<br \/>\nVIB &#8211; 5<br \/>\nLED &#8211; 6<br \/>\nVIN &#8211; +5V<br \/>\nGND &#8211; GND<\/p>\n<p><strong>DL2505Mk01p<\/strong><\/p>\n<p><strong>DL2505Mk01p.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 #12: Robotics - Vibration - Mk29\r\nDL2505Mk01p.ino\r\nDL2505Mk01\r\n1 x Crowduino Uno - SD\r\n1 x Crowtail - Base Shield\r\n1 x Crowtail - I2C LCD\r\n1 x Crowtail - Vibration Sensor 2.0\r\n1 x Crowtail - Buzzer 2.0\r\n1 x Crowtail - LED(Green)\r\n1 x USB Battery Pack\r\n1 x USB Mini-B 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 &lt;EEPROM.h&gt;\r\n\/\/ Wire\r\n#include &lt;Wire.h&gt;\r\n\/\/ Liquid Crystal\r\n#include &quot;LiquidCrystal.h&quot;\r\n\r\n\/\/ Vibration\r\nint iVibrationPin = 5;\r\nint iVibrationState = 0;\r\nString ZZ = &quot;&quot;;\r\n\r\n\/\/ Buzzer\r\nint iBuzzer =  4;\r\n\r\n\/\/ Liquid Crystal\r\n\/\/ Connect via i2c\r\nLiquidCrystal lcd(0);\r\n\r\n\/\/ LED Green\r\nint iLEDGreen = 6;\r\n\r\n\/\/ EEPROM Unique ID Information\r\nString uid = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;12-29&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ isVibration\r\n  isVibration();\r\n\r\n  \/\/ Display Vibration\r\n  isDisplayVibration();\r\n\r\n  \/\/ Delay\r\n  delay( 50 );\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\/\/ getDisplay\r\n\/\/ Crowbits - OLED 128X64 UID\r\n\/\/ Display UID\r\nvoid isDisplayUID(){\r\n\r\n  \/\/ Set up the LCD&#039;s number of rows and columns: \r\n  lcd.begin(16, 2);\r\n  \/\/ Print a message to the LCD.\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;Don Luc Electron&quot;);\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 1);\r\n  \/\/ Print a message to the LCD.\r\n  lcd.print( sver );\r\n\r\n}\r\n\/\/ Display Vibration\r\nvoid isDisplayVibration(){\r\n\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Set the cursor to column 0, line 0\r\n  lcd.setCursor(0, 0);\r\n  lcd.print( &quot;Vibration&quot; );\r\n  \/\/ Set the cursor to column 0, line 1\r\n  lcd.setCursor(0, 1);\r\n  lcd.print( ZZ );\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\/\/ EEPROM\r\n\/\/ isUID EEPROM Unique ID\r\nvoid isUID() {\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\r\n\/\/ isVibration\r\nvoid isVibration(){\r\n\r\n  \/\/ Vibration\r\n  iVibrationState = digitalRead(iVibrationPin);\r\n  \/\/ Check if the vibration sensor is vibrating.\r\n  \/\/ If it is, the vibrationState is LOW:\r\n  if (iVibrationState == LOW) {     \r\n       \r\n    \/\/ Turn LED on:\r\n    \/\/ LED Green\r\n    digitalWrite(iLEDGreen, HIGH);  \r\n    \/\/ Buzzer On\r\n    digitalWrite(iBuzzer, HIGH);\r\n    \/\/ High\r\n    ZZ = &quot;High&quot;;\r\n    \r\n  } else {\r\n    \r\n    \/\/ Turn LED off:\r\n    digitalWrite(iLEDGreen, LOW);\r\n    \/\/ Buzzer Off\r\n    digitalWrite(iBuzzer, LOW); \r\n    \/\/ Low\r\n    ZZ = &quot;Low&quot;;\r\n      \r\n  }\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  \/\/ isUID EEPROM Unique ID\r\n  isUID();\r\n  \r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ Initialize the LED Green\r\n  pinMode(iLEDGreen, OUTPUT);\r\n  \/\/ LED Green\r\n  digitalWrite(iLEDGreen, LOW);\r\n\r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ Vibration \r\n  pinMode(iVibrationPin, INPUT);\r\n  \r\n  \/\/ Buzzer\r\n  pinMode(iBuzzer, OUTPUT);\r\n  \/\/ Buzzer Off\r\n  digitalWrite(iBuzzer, LOW);\r\n  \/\/ Low\r\n  ZZ = &quot;Low&quot;;\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Display UID\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>Electronics, IoT, Teacher, Instructor, R&#038;D and Consulting<\/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 and Underwater Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial and Marine<\/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; 2024<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.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>Twitter:<\/strong> https:\/\/twitter.com\/labs_steam<br \/>\n<strong>Pinterest:<\/strong> https:\/\/www.pinterest.com\/NeoSteamLabs\/<br \/>\n<strong>Instagram:<\/strong> https:\/\/www.instagram.com\/neosteamlabs\/<br \/>\n<strong>Patreon:<\/strong> https:\/\/patreon.com\/DonLucElectronics59<br \/>\n<strong>DFRobot:<\/strong> https:\/\/learn.dfrobot.com\/user-10186.html<br \/>\n<strong>Hackster.io:<\/strong> https:\/\/www.hackster.io\/neosteam-labs<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>Twitch:<\/strong> https:\/\/www.twitch.tv\/lucpaquin<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 #Arduino #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; Crowtail &#8211; Vibration Sensor 2.0 The Crowtail- 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 #12: Robotics &#8211; Vibration &#8211; Mk29\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4424\" aria-label=\"Read more about Project #12: Robotics &#8211; Vibration &#8211; Mk29\">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":[94,50,49,38,368,59,115,5,138,287,58,10],"tags":[],"class_list":["post-4424","post","type-post","status-publish","format-standard","hentry","category-robotics-projerts","category-arduino","category-consultant","category-digitalelectronics","category-elecrow","category-fritzing","category-e-mentor","category-microcontrollers","category-patreon","category-program","category-arduino-programming","category-projects"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4424","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=4424"}],"version-history":[{"count":3,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4424\/revisions"}],"predecessor-version":[{"id":4632,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4424\/revisions\/4632"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}