|
seeeduino xiaoSeeed Studio
|
x 1 | |
|
Bmp 280 ModuleGeneric
|
x 1 | |
|
Micro SD Card Module Slot Socket Reader |
x 1 |
|
EasyEdaEasyEda
|
Simple Amatour Model Rocket Altimeter
The aim of the project is to creat a simple model rocket altimeters to hobbysts that are new to the world of model rockets. The Bmp280 reads temperature and pressure, we need pressure to determine the altitude of the rocket. All the data from the flight is written into an micro sd card for later viewing. To power the device you can attach a small lipo battery to the VCC and GND pins of the Seeeduino Xiao or plugging the Usb C port from the board to a portable battery. The micro sd card MUST BE SMALLER THAN 2GB, else it won't work. The total weight of the device is around 25 grams.
The board that powers the project is called Seeeduino Xiao by Seeed Studio. These are the specs:
Seeeduino XIAO carries the powerful CPU-ARM? Cortex?-M0+(SAMD21G18) which is a low-power Arduino microcontroller. Its small footprint and low power consumption, combined with its high performance, make this ideal for Arduino wearable devices and small projects.
In addition to the strong CPU, Seeeduino XIAO also has 14 GPIO PINs, which can be used for 11 analog PINs, 11 digital PINs, an I2C interface, a UART interface, and an SPI interface.
The pinout is the following:
VCC (from Seeeduino Xiao) to VCC (from BMP280)
VCC (from Seeeduino Xiao) to VCC (from MicroSd Card Module)
GND (from Seeeduino Xiao) to GND (from BMP280)
GND (from Seeeduino Xiao) to GND (from MicroSd Card Module)
SDA (from BMP280) to D4 (from Seeeduino Xiao)
SCL (from BMP280) to D5 (from Seeeduino Xiao)
MISO (from MicroSd Card Module) to D9 (from Seeeduino Xiao)
MOSI (from MicroSd Card Module) to D10 (from Seeeduino Xiao)
SCK (from MicroSd Card Module) to D8 (from Seeeduino Xiao)
CS (from MicroSd Card Module) to D3 (from Seeeduino Xiao)
The code of the project is written in Arduino code (which is a variant of C++).
The libraries being used in the code are:
SD.h (makes possible the communication between the micro sd card module and the Arduino)
Wire.h (This library is needed for the I2C communication between the BMP280 Module and the Arduino)
SPI.h (This library is needed for the SPI communication between the Micro Sd Card Module and the Arduino)
Adafruit_BMP280.h (This library is needed for the communication between the BMP280 and the Arduino, It also calculates the altitude)
In future projects I'm thinking on adding servo controlling and more sensors, so I'll keep you updated.
Hope It helps on rocketry projects! Godspeed!
#include <SD.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp;
Adafruit_Sensor *bmp_temp = bmp.getTemperatureSensor();
Adafruit_Sensor *bmp_pressure = bmp.getPressureSensor();
File myFile;
void setup() {
Serial.begin(9600);
Serial.println(F("BMP280 Sensor event test"));
Serial.print("Iniciating SD ...");
#define seconds (millis()/1000)
if (!SD.begin(3)) {
Serial.println("Could not iniciate");
return;
}
if (!bmp.begin()) {
Serial.println(F("Could not find a valid BMP280 sensor, check wiring or "
"try a different address!"));
while (1) delay(10);
}
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
Adafruit_BMP280::SAMPLING_X2,
Adafruit_BMP280::SAMPLING_X16,
Adafruit_BMP280::FILTER_X16,
Adafruit_BMP280::STANDBY_MS_500);
bmp_temp->printSensorDetails();
Serial.println("inicialication successful");
}
void loop() {
sensors_event_t temp_event, pressure_event;
bmp_temp->getEvent(&temp_event);
bmp_pressure->getEvent(&pressure_event);
myFile = SD.open("datalog.txt", FILE_WRITE);
if (myFile) {
Serial.print("Writing SD: ");
myFile.println(" ");
myFile.print(" Time(s)=");
myFile.print(seconds);
myFile.print(" Time(ms)=");
myFile.print(millis());
myFile.print(F(" Temperature = "));
myFile.print(temp_event.temperature);
myFile.print(F(" Pressure = "));
myFile.print(pressure_event.pressure);
myFile.print(F(" Approx altitude = "));
myFile.print(bmp.readAltitude(1013));
myFile.close();
Serial.print(F("Temperature = "));
Serial.print(temp_event.temperature);
Serial.println(" *C");
Serial.print(F("Pressure = "));
Serial.print(pressure_event.pressure);
Serial.println(" hPa");
Serial.print(F("Approx altitude = "));
Serial.print(bmp.readAltitude(1013));
Serial.println(" m");
Serial.println();
delay(100);
}
}
Simple Amatour Model Rocket Altimeter
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(2)
- Engineer Apr 23,2023
- Inaki Iturriaga Apr 07,2022
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Inaki Iturriaga
- GPS Mobile Beacon Building a GPS Emergency Beacon: A DIY TutorialWelcome to our latest DIY project: creating a GPS Eme...
- Wireless RFID Card Copier. Wireless RFID Card CopierIn today's digital world, security and accessibility are of paramount impor...
- Piezo Alert System. Within the fast-evolving sphere of security tools and home automation, creativity often paves the wa...
- Wifi Weather Station - Sensors board WiFi Weather Station - Sensor unitIn our digital era, many electronics projects integrate diverse se...
- RC Receiver Build Your Own RC ReceiverHarnessing advanced electronics and precise control systems, the RC Receiv...
- Universal RC Controller Build Your Own Universal RC RemoteHarnessing the power of custom PCBs and wireless communication, th...
- Continuous GPS Tracker This compact and efficient tracker provides real-time location updates, making it ideal for surveill...
- Air Quality Monitor Welcome to our DIY tutorial on assembling an Air Quality Monitoring Device. This project is perfect ...
- Automatic Watch Winder Automatic Watch WinderIn the realm of luxury timepieces and watch aficionados, an automatic watch is...
- Handheld GPS Within the swiftly advancing realm of portable technology and travel essentials, innovation often sh...
- Dual Motor Controller for Model Robotics In the thrilling world of robotics and DIY engineering, innovation continues to soar to new heights....
- Altitude Indicator with Beeper for Rocketry Altitude Indicator for Model RocketryIn our ever-advancing technological landscape, countless projec...
- Wifi Weather Station - Display unit WiFi Weather Station - Display UnitIn this technologically advanced age, countless electronics proje...
- Positon Breakout Board Position Sensors Breakout Board In today's era of advanced technology, many electronics projects req...
- Ambient Sensors Breakout Board In today's world, electronics projects often require the integration of multiple sensors to collect ...
- Infrared Launch Controller IntroductionHave you ever wanted to remotely launch a rocket, drone or other device using infrared t...
- Altimeter Datalogger with Display. Building TutorialAltimeter Datalogger with Display.Components needed:BMP280 sensorI2C to 16x2 displa...
- Remote Igniter + 3D printed Case. Remote IR Igniter.Build an Infrared remote ignitor for model rocket testing and launching!This guide...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
125 0 0 -
DIY Laser Power Meter with Arduino
182 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
165 0 2 -