Menu

Arduino Launch Control System Versions 0.7.6 and 0.8.0 Released

Today there are two new files available for the Arduino Launch Control System. We have released Version 0.7.6 and Version 0.8.0. Version 0.7.6 is the last version in the 0.7 series. It also marks the ‘lock in’ of the coding. That means no additional upgrades/additions to sensors or coding until after we hit the version 1.0 release. Let me explain the updates since version 0.7.1 and the difference between 0.7.6 and 0.8.0.

In Version 0.7.6 we removed the volt meter. This was causing a drain on the power going to the igniter and reduced the possibility of getting a good ignition of the model rocket motor. Between version 0.7.2 and 0.7.5 we attempted to replace the volt meter with an amp meter using an ACS712 module. While this allowed adequate power flow through to the igniter, we could never get the coding right to provide consistent, accurate readings. Instead of holding up the rest of the project for this one module, we decided to simply remove the module and finish out to Version 1.0 without any type of power meter. We haven’t given up on adding it, as it will likely be added in a future version.

Version 0.7.6 is also the final version where all of the coding is in a single file. Starting with Version 0.8.0 we broke the code into a number of smaller files. The new version will be displayed in the Arduino IDE as a series of tabs. The code in Version 0.7.6 and Version 0.8.0 is identical, the only difference being that Version 0.8.0 is now a series of files instead of a single file.

The Version 0.8.0 ino files break down in the following manner:
- Launch_Control_System_0.8.0 contains the libraries, declarations, setup and main loop functions
- Calculation_BMP180 contains the code for the pressure calculations
- Calculation_DHT11 contains the code for the temperature and humidity calculations
- Calculation_Real_Time_Clock gets the current time and assigns it to the date variables
- ISR_Fire_Button changes the variable to show the fire button has been pressed
- ISR_LCD_Display is the code that is executed when the LCD selection button has been pressed
- LCD_Display determines which LCD screen to displayed
- LCD_Display_BMP180 sets up the LCD displays for the various pressure readings
- LCD_Display_DHT11 sets up the LCD display for the temperature and humidity
- LCD_Display_Date_Time sets up the LCD display for the current date and time
- LCD_Display_Splash_Screen sets up the LCD displays for the two splash screens
- Launch_Abort_Sequence is the coding for the events that occur when a launch is aborted
- Launch_Countdown_Sequence is the coding for the events that occur during countdown and supplying power to the pad
- Serial_Monitor_BMP180 sets up the serial monitor display for the various pressure readings
- Serial_Monitor_DHT11 sets up the serial monitor display for the temperature and humidity
- Serial_Monitor_Date_Time sets up the serial monitor display for the current date and time
- Serial_Monitor_Display runs the routines to display all of the sensor data on the serial monitor every second
- Serial_Monitor_Splash_Screen sets up the serial monitor display for the splash screen

You might notice that each file generally corresponds to a subroutine in the original 0.7.6 coding.

So What Comes Next
As we move forward with the 0.8 series we will be looking at the coding, specifically for bugs, but also cleaning up any code that seems to be out of place. Version 0.9 series is our BETA release series. This is where we do any last minute bug fixes that any of us find. Once we are happy with all of the updates in the 0.9 series, we will release Version 1.0.

Looking Past Version 1.0
We have already started a list of items that we might look at implementing after Version 1.0 has been released. We already talked about bringing back the power meter option (once we get it figured out). Other items we are looking at include:
- Allowing the user to reset the clock
- Allowing the user to adjust the time period power is flowing to the pad (currently set a 3-seconds)
- Allowing the user to bypass any sensor failure and keep the system functioning
- Allowing the user to enter in a base elevation and store it as a default setting
- Save the weather and power data in CSV format to a MicroSD card
- Replace the piezo buzzer with voice announcements
- Replace the BMP180 and DHT11 sensors with a single BME280 sensor
- Using I2C communications protocol whenever possible and practical
- Create a PC based GUI to interface with the Launch Control System

These are just some of the ideas we have. How about you. What would you like to see in the next version of the Launch Control System? Drop us a line at austin.aerospace.education@gmail.com and let us know.

Until then, enjoy the current version of the LCS. Over at our blog, “The Rocketry Research Journal” we have started a series of posts on the construction of the LCS and how we developed the software. You can find part 1 at https://rocketryjournal.wordpress.com/2022/05/30/designing-and-building-an-arduino-launch-control-system.

Finally, let us know if you have built a version of the LCS yourself. How do you like it? Did you make any improvements, etc? We would love to hear from you.

Posted by Austin Aerospace Educational Network 2022-07-01

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.