{"id":622,"date":"2021-03-23T13:35:19","date_gmt":"2021-03-23T13:35:19","guid":{"rendered":"https:\/\/starthardware.org\/en\/?p=622"},"modified":"2021-03-27T13:43:35","modified_gmt":"2021-03-27T13:43:35","slug":"raylfx-military-training-area","status":"publish","type":"post","link":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/","title":{"rendered":"RaylFX \u2013 Military Training Area"},"content":{"rendered":"\n<p>This module of the <a href=\"https:\/\/starthardware.org\/en\/raylfx-effects-for-model-railroads-and-model-making-with-arduino-nano\/\" target=\"_blank\" rel=\"noreferrer noopener\">RaylFX system<\/a> controls a military training area and offers some exciting action. It has a shooting range control on which six LEDs simulate muzzle flashes. An audio module provides the corresponding rifle bang. How often and how fast the shots are fired is randomly determined so that there is no chance of boredom.<\/p>\n\n\n\n<p>For the friends of larger caliber there is the control for a tank. Here a stepper motor is used to e.g. align the tank turret to the target or to move the whole tank. The sequence has three phases: forward, backward, forward. After a short pause a shot is released. The firing sound is played from the sound module and an LED flashes acts as the muzzle flash. A blink of an eye later, the charge hits a bomb crater. Again, an LED flashes as an explosion, an solenoid hits the impact site from below and flings dirt upward. A red and a yellow LED simulate another small fire in the crater, then ghostly silence reigns over the scene again. The frequency of the two animations can easily be set in the configuration section in the code.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"sp-dsgvo sp-dsgvo-embedding-container sp-dsgvo-embedding-youtube \"><div class=\"sp-dsgvo-blocked-embedding-placeholder sp-dsgvo-blocked-embedding-placeholder-youtube\">  <div class=\"sp-dsgvo-blocked-embedding-placeholder-header\"><img decoding=\"async\" class=\"sp-dsgvo-blocked-embedding-placeholder-header-icon\" src=\"https:\/\/starthardware.org\/en\/wp-content\/plugins\/shapepress-dsgvo\/public\/images\/embeddings\/icon-youtube.svg\"\/>We need your consent to load the content of YouTube.<\/div>  <div class=\"sp-dsgvo-blocked-embedding-placeholder-body\"><p>If you click on this video we will play the video, load scripts on your device, store cookies and collect personal data. This enables [Google Ireland Limited, Irland] to track activities on the Internet and to display advertising in a target group-oriented manner. There is a data transfer to the USA, which does not have EU-compliant data protection. You will find further information <a target=\"_blank\" href=\"#\" class=\"sp-dsgvo-navigate-privacy-policy\">here<\/a>.<\/p>   <div class=\"sp-dsgvo-blocked-embedding-button-container\"> <a href=\"#\" class=\"sp-dsgvo-direct-enable-popup sp-dsgvo-blocked-embedding-button-enable\" data-slug=\"youtube\">Click here to enable this content.<\/a><\/div>  <\/div><\/div><div class=\"sp-dsgvo-hidden-embedding-content sp-dsgvo-hidden-embedding-content-youtube\" data-sp-dsgvo-embedding-slug=\"youtube\">Jmx0O2RpdiBjbGFzcz0mcXVvdDtudi1pZnJhbWUtZW1iZWQmcXVvdDsmZ3Q7Jmx0O2lmcmFtZSB0aXRsZT0mcXVvdDtSYWlsRlggVHJ1cHBlbnXMiGJ1bmdzcGxhdHomcXVvdDsgd2lkdGg9JnF1b3Q7MTIwMCZxdW90OyBoZWlnaHQ9JnF1b3Q7Njc1JnF1b3Q7IHNyYz0mcXVvdDtodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9MSG9HdEJzSHEwUT9mZWF0dXJlPW9lbWJlZCZxdW90OyBmcmFtZWJvcmRlcj0mcXVvdDswJnF1b3Q7IGFsbG93PSZxdW90O2FjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUmcXVvdDsgYWxsb3dmdWxsc2NyZWVuJmd0OyZsdDsvaWZyYW1lJmd0OyZsdDsvZGl2Jmd0Ow==<\/div><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Components<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>1x <a href=\"https:\/\/amzn.to\/2MCr0Yc\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino Nano<\/a>*<\/li><li>1x <a href=\"https:\/\/amzn.to\/36nY4KH\" target=\"_blank\" rel=\"noreferrer noopener\">Breadboard and jumper wires<\/a>*<\/li><li><a href=\"https:\/\/amzn.to\/3oqcUqo\" target=\"_blank\" rel=\"noreferrer noopener\">LEDs<\/a>* <\/li><li><a href=\"https:\/\/amzn.to\/37MqeyK\" target=\"_blank\" rel=\"noreferrer noopener\">Jumper wires<\/a>* or <a rel=\"noreferrer noopener\" href=\"https:\/\/amzn.to\/3prCcpv\" target=\"_blank\"><\/a><a href=\"https:\/\/amzn.to\/3prCcpv\" target=\"_blank\" rel=\"noreferrer noopener\">ribbon jumper wires<\/a>* to pull apart<\/li><li>1x <a href=\"https:\/\/amzn.to\/3jCHX1v\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><a href=\"https:\/\/amzn.to\/3jCHX1v\" target=\"_blank\" rel=\"noreferrer noopener\">Stepper motors and driver boards<\/a>*<\/li><li>1x <a rel=\"noreferrer noopener\" href=\"https:\/\/amzn.to\/3ofDLVO\" target=\"_blank\">DFPlayer-Mini<\/a>* MP3 player module<\/li><li>1x SD-card for the MP3 player module<\/li><li>1x <a rel=\"noreferrer noopener\" href=\"https:\/\/amzn.to\/3a1OyxQ\" target=\"_blank\">Speaker<\/a>*<\/li><li>10x 220 Ohm resistors<\/li><li>1x 1 kOhm resistor<\/li><li>1x Diode z.B. <a href=\"https:\/\/amzn.to\/36NwFSQ\" target=\"_blank\" rel=\"noreferrer noopener\">1N4001<\/a>*<\/li><li>1x <a href=\"https:\/\/amzn.to\/3aFmjW1\" target=\"_blank\" rel=\"noreferrer noopener\">Switching relay module*<\/a> for solenoidcontrol<\/li><li>1x <a href=\"https:\/\/www.amazon.de\/Elektromagneten-Automatisierungskontrolle-300mA-Einziehbarer-Bereich\/dp\/B07MYY33HB\/ref=sr_1_15?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3FAZUUEBPED8K&amp;dchild=1&amp;keywords=arduino%2Belektromagnet&amp;qid=1612699855&amp;sprefix=arduino%2Belektromag%2Caps%2C163&amp;sr=8-15&amp;th=1\" target=\"_blank\" rel=\"noreferrer noopener\">Solenoid<\/a> <a href=\"https:\/\/www.amazon.de\/Elektromagneten-Automatisierungskontrolle-300mA-Einziehbarer-Bereich\/dp\/B07MYY33HB\/ref=sr_1_15?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3FAZUUEBPED8K&amp;dchild=1&amp;keywords=arduino%2Belektromagnet&amp;qid=1612699855&amp;sprefix=arduino%2Belektromag%2Caps%2C163&amp;sr=8-15&amp;th=1\" target=\"_blank\" rel=\"noreferrer noopener\">with return spring<\/a>* <\/li><li>1x <a href=\"https:\/\/amzn.to\/3tzZw6N\" target=\"_blank\" rel=\"noreferrer noopener\">Power supply for solenoid<\/a>*<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wiring Diagram<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large fritzing\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"807\" src=\"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-1024x807-1.jpg\" alt=\"RailFX military training area module for model railway and model making - shooting range and tanks\" class=\"wp-image-626\" srcset=\"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-1024x807-1.jpg 1024w, https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-1024x807-1-300x236.jpg 300w, https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-1024x807-1-768x605.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The circuit is based on the Arduino Nano board. The LEDs of the shooting range are connected to the cathode (short leg) at the Arduino pins 13, A0, A1, A2, A3 and A5. The anode (long leg) connects the LED to the 5V+ via a 220 Ohm resistor. Instead of the big 5mm LEDs you can of course also use SMD LEDs and enamelled wire.<\/p>\n\n\n\n<p>For the stepper motor I&#8217;m using the 28BYJ-48 with the ULN2003 driver board. It is connected to the Arduino pins 5, 6, 7 and 8. The whole set should cost around three euros. The LED for the muzzle flash of the tank is connected to pin 12. <\/p>\n\n\n\n<p>The solenoid for the bomb crater is operated with an external power supply unit that is triggered by the switching relay module. The voltage of the power supply must match the solenoid. A diode in the reverse direction intercepts the induced voltage that occurs when the solenoid is switched off.<\/p>\n\n\n\n<p>The switching relay module is connected to 5V+, GND and the digital pin 4 of the Arduino board.<\/p>\n\n\n\n<p>The explosion is visualized with the LED at pin 9 of the Arduino. It flashes on impact. Additionally, the LEDs at pins 10 and 11 simulate an afterburn in the bomb crater. <\/p>\n\n\n\n<p>The animations are accompanied acoustically by the DF-Player module. It is connected to the Arduino with pins 2 and 3. Additionally it receives the supply voltage 5V+ and GND. The DF-Player plays MP3 files from a SD card. The card should be formatted in FAT-16 or FAT-32. The files must be stored on the SD card in the directory 001.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/starthardware.org\/wp-content\/uploads\/2021\/02\/001.zip\" class=\"wp-block-file__button\" download>Download Sounds<\/a><\/div>\n\n\n\n<p>Further info about the DF-Player on this page: <a href=\"https:\/\/starthardware.org\/en\/dfplayer-mini-mp3-player-for-arduino\/\" target=\"_blank\" rel=\"noreferrer noopener\">DFPlayer Mini-MP3-Player for Arduino<\/a>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Normally the control signal of the <a href=\"https:\/\/starthardware.org\/en\/raylfx-effects-for-model-railroads-and-model-making-with-arduino-nano\/\" target=\"_blank\" rel=\"noreferrer noopener\">RaylFX control module <\/a>is applied to pin A4. It controls the time of day, but is not required for this module.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Code Settings<\/h2>\n\n\n\n<p>The following settings can be made in the code:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Likelihood of gun being fired<\/li><li>Likelihood of tank firing<\/li><li>Volume<\/li><li>Number of guns at the shooting range<\/li><\/ul>\n\n\n\n<p>In the following part of the program you can adjust the above parameters:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int firingLikelihood = 10;                   \/\/ likelihood of rifle being fired\nint tankfiringLikelihood = 20;               \/\/ likelihood of tank firing\n\nint volume = 20;                             \/\/ volume of the DFPlayer (0 \u2013 30);\n\nint mp3Count = 6;                            \/\/ amount of MP3 files on the SD card\nint mp3Duration&#091;] = {2, 1, 1, 6, 5, 16};     \/\/ duration of MP3 files in seconds\n\nint gunCount = 6;                            \/\/ number of guns at the shooting range<\/code><\/pre>\n\n\n\n<p>The military training area module uses the <em>CheapStepper <\/em>library. This library must be installed first. For this go in the Arduino menu to Sketch&gt;Include Library&gt;Manage Libraries \u2026 and search for <em>CheapStepper <\/em>in the search field. Install the current version of the <em>CheapStepper<\/em> library by <em>Henry Tyler<\/em>.<\/p>\n\n\n\n<p>It also requires the <em>DFRobotDFPlayerMini<\/em> library by <em>DFRobot<\/em>. Install it as you did with the <em>CheapStepper<\/em> library.<\/p>\n\n\n\n<p>When uploading you have to make sure that the correct board is selected in the Arduino menu. To do this, &#8220;ATmega328P (Old Bootlaoder)&#8221; must also be selected in the Processor subitem of the Tools menu.<\/p>\n\n\n\n<p>The following program code can be easily copied with the above mentioned changes and loaded onto the Arduino nano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Code for the RaylFX Military Training Area Module<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>  \/*\n     Rayl-FX Military Training Area Module\n             Shooting Range \/ Gun Range\n\n     StartHardware.org\/en\n*\/\n\n#include &lt;CheapStepper.h&gt;\n#include \"SoftwareSerial.h\"                 \/\/ required for the DFPlayer\n#include \"DFRobotDFPlayerMini.h\"            \/\/ required for the DFPlayer\n\n\/* ***** ***** Settings ***** ***** ***** *****  ***** ***** ***** *****  ***** ***** ***** ***** *\/\n\nint firingLikelihood = 10;                  \/\/ likelihood of rifle being fired\nint tankfiringLikelihood = 20;              \/\/ likelihood of tank firing\n\nint volume = 20;                            \/\/ volume of the DFPlayer (0 \u2013 30);\n\nint mp3Count = 6;                           \/\/ amount of MP3 files on the SD card\nint mp3Duration&#091;] = {2, 1, 1, 6, 5, 16};    \/\/ duration of MP3 files in seconds\n\nint gunCount = 6;                           \/\/ number of guns at the shooting range\n\n\/* ***** ***** From here begins the program code, which does not need to be adjusted ***** ***** ***** ***** *\/\n\nint gunPins&#091;6] = {13, 14, 15, 16, 17, 19};\nint magnetPin = 4;                          \/\/ pin of the relay to which the solenoid is connected\nint cannonPin = 12;\nint impactPin = 9;\nint fire1Pin = 10;\nint fire2Pin = 11;\n\n\/* Timer Variablen *\/\nlong cooldown = 2000;                       \/\/ general waiting time in the loop\n\n\/* Create Objects *\/\nSoftwareSerial mySoftwareSerial(3, 2);      \/\/ RX, TX for the DFPlayer\nDFRobotDFPlayerMini myDFPlayer;             \/\/ DFPlayer object\n\nCheapStepper stepper1 (5, 6, 7, 8);         \/\/ creating stepper motor object fur tank turret\n\nvoid setup() {\n  Serial.begin(115200);                     \/\/ starts the serial communication\n  mySoftwareSerial.begin(9600);             \/\/ starts the serial communication for DFPlayer\n\n  stepper1.setRpm(16);\n  pinMode(magnetPin, OUTPUT);\n  pinMode(cannonPin, OUTPUT);\n  pinMode(impactPin, OUTPUT);\n\n  for (int i = 0; i &lt; 6; i++) {\n    pinMode(gunPins&#091;i], OUTPUT);\n    digitalWrite(gunPins&#091;i], HIGH);\n  }\n\n  digitalWrite(cannonPin, HIGH);\n  digitalWrite(impactPin, HIGH);\n\n  \/* DFPlayer Setup *\/\n  Serial.println(F(\"Initializing DFPlayer ... \"));\n  if (!myDFPlayer.begin(mySoftwareSerial)) {  \/\/ use softwareSerial to communicate with DFPlayer\n    Serial.println(F(\"Error: Check connection to DFPlayer and SD-card\"));\n  }\n  Serial.println(F(\"DFPlayer Mini online.\"));\n  myDFPlayer.volume(volume);                  \/\/ volume is assigned\n}\n\nvoid loop() {\n  if (random(firingLikelihood)&lt;2) shootingRange();\n  if (random(tankfiringLikelihood)&lt;2) tankShot();\n  delay(cooldown);\n}\n\nvoid shootingRange() {\n  \/\/ gun firing order on the shooting range\n  int theRepeations = random(30);\n  for (int i = 0; i &lt; theRepeations; i++) {\n    myDFPlayer.playFolder(1, 3);\n    int theGun = random(gunCount);\n    delay(100);\n    digitalWrite(gunPins&#091;theGun], LOW);\n    delay(50);\n    digitalWrite(gunPins&#091;theGun], HIGH);\n    delay(random(1000));\n  }\n}\n\nvoid tankShot() {\n  \/\/ firing order for the cannon\n  \n  myDFPlayer.playFolder(1, 4);\n  \n  for (int i = 0; i &lt;= 1000; i++) {\n    stepper1.run();\n    stepper1.newMoveDegrees (true, 1);\n    delay(1);\n  }\n\n  for (int i = 0; i &lt;= 1200; i++) {\n    stepper1.run();\n    stepper1.newMoveDegrees (false, 1);\n    delay(1);\n  }\n\n  for (int i = 0; i &lt;= 200; i++) {\n    stepper1.run();\n    stepper1.newMoveDegrees (true, 1);\n    delay(1);\n  }\n\n  delay(2000);\n  myDFPlayer.playFolder(1, 1);\n  delay(50);\n  digitalWrite(cannonPin, LOW);\n  delay(20);\n  digitalWrite(cannonPin, HIGH);\n  delay(1500);\n  myDFPlayer.playFolder(1, 2);\n  delay(50);\n  digitalWrite(impactPin, LOW);\n  delay(30);\n  digitalWrite(impactPin, HIGH);\n  delay(50);\n  digitalWrite(magnetPin, HIGH);\n  digitalWrite(impactPin, LOW);\n  delay(100);\n  digitalWrite(magnetPin, LOW);\n  digitalWrite(impactPin, HIGH);\n  for (int i = 0; i &lt; 5; i++) {\n    analogWrite(fire1Pin, 125 + random(125));\n    analogWrite(fire2Pin, 125 + random(125));\n    delay(random(500) + 50);\n  }\n  for (int i = 0; i &lt; 5; i++) {\n    analogWrite(fire2Pin, 125 + random(125));\n    delay(random(500) + 50);\n  }\n  analogWrite(fire1Pin, 255);\n  analogWrite(fire2Pin, 255);\n}\n\nvoid printDetail(uint8_t type, int value) {     \/\/ DF Player error code\n  switch (type) {\n    case TimeOut:\n      Serial.println(F(\"Time Out!\"));\n      break;\n    case WrongStack:\n      Serial.println(F(\"Stack Wrong!\"));\n      break;\n    case DFPlayerCardInserted:\n      Serial.println(F(\"Card Inserted!\"));\n      break;\n    case DFPlayerCardRemoved:\n      Serial.println(F(\"Card Removed!\"));\n      break;\n    case DFPlayerCardOnline:\n      Serial.println(F(\"Card Online!\"));\n      break;\n    case DFPlayerUSBInserted:\n      Serial.println(\"USB Inserted!\");\n      break;\n    case DFPlayerUSBRemoved:\n      Serial.println(\"USB Removed!\");\n      break;\n    case DFPlayerPlayFinished:\n      Serial.print(F(\"Number:\"));\n      Serial.print(value);\n      Serial.println(F(\" Play Finished!\"));\n      break;\n    case DFPlayerError:\n      Serial.print(F(\"DFPlayerError:\"));\n      switch (value) {\n        case Busy:\n          Serial.println(F(\"Card not found\"));\n          break;\n        case Sleeping:\n          Serial.println(F(\"Sleeping\"));\n          break;\n        case SerialWrongStack:\n          Serial.println(F(\"Get Wrong Stack\"));\n          break;\n        case CheckSumNotMatch:\n          Serial.println(F(\"Check Sum Not Match\"));\n          break;\n        case FileIndexOut:\n          Serial.println(F(\"File Index Out of Bound\"));\n          break;\n        case FileMismatch:\n          Serial.println(F(\"Cannot Find File\"));\n          break;\n        case Advertise:\n          Serial.println(F(\"In Advertise\"));\n          break;\n        default:\n          break;\n      }\n      break;\n    default:\n      break;\n  }\n}<\/code><\/pre>\n\n\n<ul class=\"wp-block-latest-posts__list is-grid columns-3 wp-block-latest-posts\"><\/ul>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-primary\"><a class=\"wp-block-button__link\" href=\"https:\/\/starthardware.org\/en\/category\/projects\/arduino-projects\/raylfx\/\" target=\"_blank\" rel=\"noreferrer noopener\">View all RaylFX modules \u00bb<\/a><\/div>\n<\/div>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>This module of the RaylFX system controls a military training area and offers some exciting action. It has a shooting range control on which six LEDs simulate muzzle flashes. An audio module provides the corresponding rifle bang. How often and how fast the shots are fired is randomly determined so that there is no chance&hellip;&nbsp;<a href=\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">RaylFX \u2013 Military Training Area<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":625,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[5,9],"tags":[],"class_list":["post-622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-projects","category-raylfx"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RaylFX \u2013 Military Training Area<\/title>\n<meta name=\"description\" content=\"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RaylFX \u2013 Military Training Area\" \/>\n<meta property=\"og:description\" content=\"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/\" \/>\n<meta property=\"og:site_name\" content=\"StartHardware - Tutorials for Arduino\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-23T13:35:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-27T13:43:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Hermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/starthardware.org\/en\/#website\",\"url\":\"https:\/\/starthardware.org\/en\/\",\"name\":\"StartHardware - Tutorials for Arduino\",\"description\":\"Arduino, Electronics, Fun\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/starthardware.org\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg\",\"contentUrl\":\"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg\",\"width\":1024,\"height\":576,\"caption\":\"RaylFX Arduino military training area shooting range effects model railway model making diorama\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#webpage\",\"url\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/\",\"name\":\"RaylFX \u2013 Military Training Area\",\"isPartOf\":{\"@id\":\"https:\/\/starthardware.org\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#primaryimage\"},\"datePublished\":\"2021-03-23T13:35:19+00:00\",\"dateModified\":\"2021-03-27T13:43:35+00:00\",\"author\":{\"@id\":\"https:\/\/starthardware.org\/en\/#\/schema\/person\/37dd49804e351d0045589790d695d99c\"},\"description\":\"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.\",\"breadcrumb\":{\"@id\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/starthardware.org\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RaylFX \u2013 Military Training Area\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/starthardware.org\/en\/#\/schema\/person\/37dd49804e351d0045589790d695d99c\",\"name\":\"David Hermann\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/starthardware.org\/en\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c1f55f9c9addf2633dc5513f65e57c6b11de8c1d05cab7a65be1e402233d543?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c1f55f9c9addf2633dc5513f65e57c6b11de8c1d05cab7a65be1e402233d543?s=96&d=mm&r=g\",\"caption\":\"David Hermann\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RaylFX \u2013 Military Training Area","description":"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/","og_locale":"en_US","og_type":"article","og_title":"RaylFX \u2013 Military Training Area","og_description":"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.","og_url":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/","og_site_name":"StartHardware - Tutorials for Arduino","article_published_time":"2021-03-23T13:35:19+00:00","article_modified_time":"2021-03-27T13:43:35+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Hermann","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/starthardware.org\/en\/#website","url":"https:\/\/starthardware.org\/en\/","name":"StartHardware - Tutorials for Arduino","description":"Arduino, Electronics, Fun","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/starthardware.org\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#primaryimage","inLanguage":"en-US","url":"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg","contentUrl":"https:\/\/starthardware.org\/en\/wp-content\/uploads\/2021\/03\/raylfx-arduino-military-training-area-shooting-range-effects-model-railway-model-making-title-1024x576-1.jpg","width":1024,"height":576,"caption":"RaylFX Arduino military training area shooting range effects model railway model making diorama"},{"@type":"WebPage","@id":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#webpage","url":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/","name":"RaylFX \u2013 Military Training Area","isPartOf":{"@id":"https:\/\/starthardware.org\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#primaryimage"},"datePublished":"2021-03-23T13:35:19+00:00","dateModified":"2021-03-27T13:43:35+00:00","author":{"@id":"https:\/\/starthardware.org\/en\/#\/schema\/person\/37dd49804e351d0045589790d695d99c"},"description":"RaylFX \u2013 Create a model military training area and model gun range. Control sound, muzzle flashes and a solenoid with Arduino Nano.","breadcrumb":{"@id":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/starthardware.org\/en\/raylfx-military-training-area\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/starthardware.org\/en\/raylfx-military-training-area\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/starthardware.org\/en\/"},{"@type":"ListItem","position":2,"name":"RaylFX \u2013 Military Training Area"}]},{"@type":"Person","@id":"https:\/\/starthardware.org\/en\/#\/schema\/person\/37dd49804e351d0045589790d695d99c","name":"David Hermann","image":{"@type":"ImageObject","@id":"https:\/\/starthardware.org\/en\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/5c1f55f9c9addf2633dc5513f65e57c6b11de8c1d05cab7a65be1e402233d543?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c1f55f9c9addf2633dc5513f65e57c6b11de8c1d05cab7a65be1e402233d543?s=96&d=mm&r=g","caption":"David Hermann"}}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/posts\/622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/comments?post=622"}],"version-history":[{"count":38,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/posts\/622\/revisions"}],"predecessor-version":[{"id":793,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/posts\/622\/revisions\/793"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/media\/625"}],"wp:attachment":[{"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/media?parent=622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/categories?post=622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/starthardware.org\/en\/wp-json\/wp\/v2\/tags?post=622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}