element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Arduino
  • Challenges & Projects
  • Project14
  • Open Arduino
  • More
  • Cancel
Open Arduino
Blog Unreal. Resistance is Futile
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Arduino to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: balearicdynamics
  • Date Created: 18 Apr 2018 8:43 AM Date Created
  • Views 4338 views
  • Likes 19 likes
  • Comments 24 comments
  • duck
  • resistance
  • dc motor
  • arduino mega 2560
  • animatronic
  • rose
  • neopixel
  • robotwheelsch
  • servo
  • futile
  • openarduinoch
  • birthday
  • project14
  • borg
  • arduino
  • train
  • motor controller
Related
Recommended

Unreal. Resistance is Futile

balearicdynamics
balearicdynamics
18 Apr 2018
    • Foreword
    • You'll be Assimilated
    • Assimilating the Train
    • Assimilating the Rose
      • Adding light effect
    • Assimilating the Duck
    • Creating a new world: Assimilating the Grass
    • The last step: The Control Box
    • Open Arduino: Software is Open Source
    • Just in case...

Foreword

This is my personal birthday gift to Project14 and Arduino. I have developed this idea starting with few simple points: use cheap and technology poor objects, regenerating them following a theme (look at the title), empower the objects features with electronics, no matter if the gift is practically useless, , try making something unexpected and amazing as any birthday gift should be, use an Arduino.

As I can't wait to virtually give the gift I built, you'll find the video before the explanation on how this has been done. Enjoy.

 

You'll be Assimilated

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Assimilating the Train

The components selection has not followed a precise logic; at least not a human logic. The first idea born seeing a spring-loaded micro train I bought from the near Chinese bazaar for 2 Euros. I thought it was great to try to improve this small game with some electronic. Then during the next two weeks, I went to the Chinese bazaar very frequently, almost every day image

image

Handling this simple toy, things seemed possible so I started developing a motor control for the Train. The steps of the assimilation of the train by a different technology are shown in the gallery below.

 

{gallery}

image

Spring elimination from the train mechanism

image

Reassembling the hacked mechanism

image

Now it can rotate freely

image

Geared DC micro-motor hot glued inside the train cabin

image

The micro-motor shaft exposed

image

Added the front-light

image

Cut the train chassis to host the rail contacts

image

The new train engine

 

To make the sliding contacts of the train I have used two pieces of desoldering wick. Micro-motor rotates at a max of 50 RPM; in the first version I made the transmission to the wheels engine with a 1:1 3D printed gears but the speed was too high for the engine so I designed a second group of gears with the 3:1 ratio. The below image shows the rendering of the first version (left) and the adopted version (right)

image

Rails have been black painted then electrified with adhesive copper tape.

imageimageimage

Assimilating the Rose

A rose is a rose is a rose...

I should admit that this was the easiest component to hack. As a matter of fact, Earth plants are in the lower positions of the evolution rating and their assimilation only required a couple of hours. The cost of the rose (at the Chinese bazaar) was 1 Euro.

image

The flower rotation required the use of another micro-motor. No problem, these are super cheap and I have plenty at home! The original, flexible and thick support of the rose has been replaced by a BBQ wooden stick: 100 pieces, 0.50 Euro; I guess you know where I bought them. The making of the rotating mechanism required another small 3D design of a couple of components shown below.

image

The images below are self-explaining on how I have assembled it.

image

imageimage

Then the rose has been hot-glued inside a cylindric glass to keep it firmly in place.

 

Adding light effect

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

The light effect has been created with a Neopixel ring placed to the base of the glass. This required another small 3D printed set of components

imageimage

image

 

Assimilating the Duck

image

As you can see, this is the more expensive part I have found on the shelf of the Chinese bazaar. But a gift is a gift and this species was fundamental for the creation of my Borg project. The gallery below shows how the duck has been motorized with a full-rotating servo, then metal painted.

 

 

 

{gallery}

image

Proportions loose in this changing world...

image

What's inside a duck?

image

Dissecting...

image

Dissecting...

image

Preparing the right wheel

image

Fixing the servo in place

image

Duck-painting, an essay of Borg art

image

Sounds nice, yes?

 

And also the duck needed a couple of 3D printed pieces, the four legs (four?) supports

image

Creating a new world: Assimilating the Grass

To avoid any kind of biological contamination, my preferred Chinese bazaar provided a fantastic sheet of plastic grass for only 3.50 Euro.

image

After the grass has been glued to a 5 mm MDF base I assembled (hot glued) all the parts on it.

imageimage

Another light effect has been added to a nice green mask. The lights shown in the above image have been created chaining two 8-LEDs Neopixel arrays with the Neopixel ring installed to the bottom of the glass.

The last step was wiring and cabling the parts on the bottom of the scenario.

image

The last step: The Control Box

The control box has been built partially with cardboard, with the top and bottom parts 3d printed.

image

To make things more realistic, a custom potentiometer gauge has been used instead of the traditional ones. The two motors are controlled by an LM298 motor controller wired to an Arduino Mega 2560 . The gallery below shows the control box assembly process.

 

 

{gallery}

image

Testing the components with a breadboarded circuit

image

The 3D printed top box plate

image

The control box cardboard body

image

The control box top plate, bottom view

image

The top side assembled

image

The control box complete, internal view

image

Another view of the control box

image

The box finished

 

Open Arduino: Software is Open Source

The software is available on GitHub at the following address: https://github.com/alicemirror/Unreal

 

Just in case...

If you are lost in space, at the end of this reading, I hope the map below will be useful to reorient in the right quadrant.

image

  • Sign in to reply

Top Comments

  • mcb1
    mcb1 over 7 years ago +4
    Interesting ... Q. Shouldn't the duck be laying Golden eggs? Clever hacking involved, well done. Mark
  • mcb1
    mcb1 over 7 years ago in reply to balearicdynamics +4
    You might need to open the window ... the fumes are affecting you
  • 14rhb
    14rhb over 7 years ago in reply to balearicdynamics +4
    I never thought I'd see a programming function called changeDuckStatus and variables like isDuckStarted Rod
  • balearicdynamics
    balearicdynamics over 7 years ago in reply to shabaz

    Thank you Shabaz image

    It was really an enjoying project for me. And yes the spring 2Euro train electrification was a mess. One of those "simple and easy" things to do that has the ability to emerge an issue as you fix the previous.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 7 years ago

    Hi Enrico,

     

    Awesome project : ) I loved the electrifying of the train track and train!

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 7 years ago in reply to balearicdynamics

    I have issues with cut and paste that seems to lock up the editor.

     

    I added more to the post and perhaps we crossed.

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 7 years ago in reply to mcb1

    Something more complex. The potentiometer, just to use your reference, is checked and you change the color. But what when you change continuously the pot that activates something else too? you lose the Neopixel sequence. It is true - luckily - that the state of every LED unit is latched but is you should run it continuously of soft fading, you should continuously sending new data sets. Take a look at the light methods and you will see what I mean. Every loop makes one update for rotation, color change, etc. And the global structure is updated accordingly. Else you should decide what to do. Or - better - use Free RTOS on Arduino with a separate task.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 7 years ago in reply to balearicdynamics

    From what I understand using them ...

     

    Instead what happens when an external event plays, e.g. the potentiometer? Neopixels will stop.

    The internal chip inside the Neopixel receives the information and sets it's 3 LED's (as well as passing on the data).

    The setting is 'enabled' when  strip.show()  is sent, which updates all the neopixels.

    My understanding is that it keeps that setting until changed.

     

    I haven't tried changing colour using a pot ... maybe something else to try.

     

    I had to implement a sort of multiplexer (or interrupt software, not sure what is the most proper term), to manage potentially any kind of external event while the Neopixel chain is running.

    When someone causes a change (pot, switch, trigger) then there will always be some 'control' over how and when the effect is implemented.

    The time to update 10-20 pixels should be in the milliseconds (I'm not sure I can work out everything in the library.)

     

    For my uses I set all the colours I want, then call the strip.show() but I have seen examples where it's being called after each pixel.

    My code is here  Intelligent Hall Light and Edge Lit signs

     

    Cheers

    Mark

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube