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
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Helicopter animation using a Raspberry Pi
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 32 replies
  • Subscribers 665 subscribers
  • Views 5435 views
  • Users 0 members are here
  • raspberry_pi
  • pi animation
  • programming in python
Related

Helicopter animation using a Raspberry Pi

colporteur
colporteur over 5 years ago

We are being encouraged by our leaders to practice social distancing and/or isolate ourselves where possible during this COVID19 crisis. To avoid going stir crazy while isolated in my home, I dug up an old project I have mulled over many times.

 

I would like to use a Pi to construct an helicopter animation. The best way to understand the goal of the project is let you take a look at the video. https://www.youtube.com/watch?v=Hl5--7g3jO0&t=112s

 

My first task is to build the light sequence. My light sequence is slightly different because it matches aviation specifications. There will be cabin lighting, landing lighting(front), position lighting (left/right/rear) and strobe lighting (top/bottom). All lights are either on or off with the strobes flashing when on. The lighting is being done with LEDs. Once I master the lights, I will integrate the audio and then tackle motor control. The Pi is responsible for running the whole show. I am looking to use python to accomplish the task. No, I am not interested in doing the project with an Arduino or in another programming language. Pi and python are my toolset. Hopefully I don't discover it is not possible.

 

What I am hoping for is some direction to developing the solution. I have no doubt this is programming 101 for many of you. I have much experience in programming. I have met and worked with people that have the skills to call themselves a programming. I am not a programmer.

 

The series of LED’s repeats the following sequence:

turn LED1 on solid

turn LED2 on flashing

turn LED3 on solid

turn LED4 on solid

turn LED4 off

turn LED3 off

turn LED2 off

turn LED1 off

cycle starts again.

 

My difficultly is creating the flashing LED within the sequence. I can turn all the LED's on and off. I can flash LED2 on its own. When I add flashing to the sequence LED2 flashes once and then the sequence continues with no more flashes. I require LED2 to flash continuous until it is turned off. I’m thinking I need to have a LED flashing routine (? another script) that is called in the parent script and continues to run (flash) until it is called to stop. I want to call it a fire and forget routine but that is my lack of programming terminology understanding.

 

I had this thought, write a code for a python module that flashes an led. Call the module in another python script giving it the pin number. The module should have a start and stop. Well that simple understanding of writing a module exceeds my knowledge. Since I'm not sure if what I am looking for is actually a solution, my research is proving difficult. If a module is what I need and you have a resource to assist in writing it, please let me know.

 

I'm not looking for someone to write the code but rather guide me to developing the code myself. Care to provide some insight into my helicopter animation COVID19 Isolation Project. There is no badge or points awarded, just a brain share. I look forward to your responses.

  • Sign in to reply
  • Cancel
Parents
  • colporteur
    colporteur over 5 years ago

    Programming folks I have been put onto something called concurrency through threading or multiprocessing. I will continue to read but would appreciate someone pulling me back from the edge if I am heading in the wrong direction.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • beacon_dave
    beacon_dave over 5 years ago in reply to colporteur

    Have you considered using the .blink() method in gpiozero ? It can be set to use a background thread:

    https://gpiozero.readthedocs.io/en/stable/api_output.html#gpiozero.LED.blinkhttps://gpiozero.readthedocs.io/en/stable/api_output.html#gpiozero.LED.blink

     

    Perhaps take a step back and look at this MagPi eBook:

    https://www.raspberrypi.org/magpi-issues/Essentials_GPIOZero_v1.pdf

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • beacon_dave
    beacon_dave over 5 years ago in reply to colporteur

    Have you considered using the .blink() method in gpiozero ? It can be set to use a background thread:

    https://gpiozero.readthedocs.io/en/stable/api_output.html#gpiozero.LED.blinkhttps://gpiozero.readthedocs.io/en/stable/api_output.html#gpiozero.LED.blink

     

    Perhaps take a step back and look at this MagPi eBook:

    https://www.raspberrypi.org/magpi-issues/Essentials_GPIOZero_v1.pdf

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • colporteur
    colporteur over 5 years ago in reply to beacon_dave

    I looked at GPIOZero when it first came into existence. I can't recall now but, there was some limitation I didn't like and continued to use import RPi.GPIO as GPIO.

     

    I'm caught in an orbit right now that is not producing results. Maybe tomorrow I will take a fresh approach to using the module to solve my problem.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to beacon_dave

    I took a few hours today and tried gpiozero. It works, the way I had intended it to for the LEDs.

     

    How familiar are you with the gpiozero?

     

    If I use import gpiozero, the method LED is not available. I get an error message.

    pi@piheli:~/scripts $ python light_sequence.py

    Traceback (most recent call last):

      File "light_sequence.py", line 24, in <module>

        landing_light = LED(2)

    NameError: name 'LED' is not defined

     

    I have to use from gpiozero import LED to get the LED module. With that line in place the script functions. The documentation suggests the import gpiozero will provide all the modules. I did a google search and didn't find anything immediately on the issue. I'm going off to work on my project and not focus on this anomaly.

     

    Much thanks. I'm going to investigate this module to see if it can do what I need. Maybe I'm do for a change.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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