กลับไปหน้ารวมไฟล์
arduino-powered-weather-balloon-datalogger-e88691.md

เฮ้ทุกคน!! น้องๆ อาจจะสงสัยว่า อ่าว ส่ง Arduino ขึ้นไปในอวกาศได้ด้วยหรอ? เกือบจะแล้วล่ะ! โดยใช้บอลลูนตรวจอากาศ (Weather Balloon) เราสามารถส่ง Arduino, กล้อง, ขนมปังกระเทียม หรืออะไรก็ได้ที่อยากส่ง ขึ้นไปได้สูงถึง 1 ใน 3 ของระยะทางไปยังอวกาศเลยนะ! แม้ว่าจะเป็นแค่ 1 ใน 3 แต่ชั้นบรรยากาศที่เหลืออยู่ก็แทบจะไม่มีแล้ว (เกือบ 99% หายไป) เลยเรียกกันว่า "ขอบอวกาศ" (Edge of Space) ไงล่ะ คู่มือนี้ค่อนข้างยาวหน่อย แต่ถ้าน้องไม่ได้แค่แวะมาดูเล่นๆ ล่ะก็ อ่านให้จบอย่างน้อยก็ถึง Path 1 นะ เอาล่ะ มาดูกันว่าเราทำยังไงกันดีกว่า

วิดีโอเต็มๆ ไม่ตัดต่อจากการบินของเรา

จะมีทั้งหมด 3 เส้นทาง (Path) ให้เลือกตามความต้องการและระดับทักษะของน้องๆ ทั้งสามเส้นทางจำเป็นต้องมีทักษะการบัดกรี (Soldering) บ้าง เพราะลมในชั้นสตราโตสเฟียร์แรงมากกก แต่ละเส้นทางไม่ได้ดีกว่ากันนะ แค่เหมาะกับคนละสไตล์ มาดูคร่าวๆ กันเลย

Path 1: สร้าง Data Logger ง่ายๆ โดยใช้โปรโตบอร์ด (Proto Board) กับเซ็นเซอร์ต่างๆ ต้องบัดกรีนิดหน่อย

Path 2: ใช้ PCB Shield (Printed Circuit Board) ที่ออกแบบไว้แล้วจากเรา งานดูสะอาดตา โคตรเท่ ไม่ต้องกังวลเรื่องบัดกรีหรือเขียนโค้ด

Path 3: ออกแบบ PCB เป็นของตัวเองในโปรแกรม คู่มือนี้จะไม่ลงลึกเรื่องการออกแบบ PCB เองนะ แต่จะบอกแนวทางให้น้องคิดต่อเอง พี่จะแนบลิงก์คู่มือเจ๋งๆ ให้น้องไปศึกษาต่อเองด้วย

ช่วยกันกด Subscribe ด้วยนะคร้าบ!

เราจะลงรายละเอียดแต่ละ Path อีกที แต่ก่อนอื่นมาดูทิปส์ช่วยเลือกหน่อย:

Path 1 จะง่ายสุด และยืดหยุ่นดี น้องสามารถเลือกเซ็นเซอร์, บอร์ด และฟีเจอร์บนบอร์ดเองได้ ต้องมีทักษะบัดกรีพอสมควรเพื่อให้ทุกอย่างอยู่ติดกันตอนบินนะ

Path 2 จะมีข้อกำหนดค่อนข้างตายตัว คือต้องใช้เซ็นเซอร์ชุดที่กำหนดและบอร์ด Arduino รุ่นที่ระบุ แต่ได้ PCB ที่ดูสะอาดเรียบร้อยมาก ไม่ต้องปวดหัวเรื่องบัดกรีหรือโค้ด และเป็นจุดเริ่มต้นที่ดีในการเรียนรู้เรื่อง PCB เราจะเตรียมไฟล์ Gerber, การตั้งค่า Export และโค้ดตัวอย่างให้ดู PCB ไม่ได้แพงมากนะ ราคาขึ้นอยู่กับที่สั่งทำ เราเคยสั่ง 5 แผ่นในราคา $2 เอง (แต่ราคาอาจต่างกันตามผู้ผลิต)

Path 3 จะยากสุดและต้องใช้ทักษะหลายอย่าง น้องต้องรู้ (หรือพร้อมจะเรียนรู้) วิธีการออกแบบ PCB หรือ Arduino PCB Shield เอง ต้องเขียนโค้ดทั้งหมดเอง และบัดกรีบอร์ดเองด้วย ถ้าน้องทำทั้งหมดนี้ได้อยู่แล้ว น้องก็ทำโปรเจกต์นี้เองได้แหละ แต่มีข้อจำกัดและรายละเอียดสำคัญบางอย่างที่คู่มือนี้จะช่วยน้องได้

โอเค! เยี่ยมไปเลย! ตอนนี้น้องน่าจะเลือกได้แล้วว่าจะไปเส้นทางไหน แต่ก่อนจะกระโจนลงมือ มีกฎสำคัญมากๆ ที่ต้องจำไว้ให้ขึ้นใจ อย่าข้ามส่วนนี้นะ เพราะการส่งบอลลูนตรวจอากาศอาจถูกจำกัดตามพื้นที่ที่อาศัยอยู่ คู่มือนี้จะไม่ลงรายละเอียดเรื่องการเลือกบอลลูนที่เหมาะสม, การสร้าง Payload Bay และวิธีการเติมบอลลูนนะ แต่มีคู่มืออื่นๆ เยอะแยะมากมายที่สอนเรื่องนี้ พี่จะรวบรวมไว้ให้น้องไปศึกษาต่อเอง พี่จะเน้นไปที่ข้อจำกัดสำหรับ Arduino Datalogger ของเราเป็นหลัก และทิ้งลิงก์เกี่ยวกับข้อบังคับของ FAA (สำหรับคนที่อยู่ในสหรัฐอเมริกา) ไว้ให้ นี่คือสิ่งที่ต้องจำไว้:

  1. ภายในช่องบรรทุก (payload bay) ของแก ห้ามมีสัญญาณมือถือเด็ดขาด! ถ้าเผอิญมีมือถือติดขึ้นไปด้วย ก็ต้องเปิดโหมดเครื่องบินไว้ให้เรียบร้อยนะตัวนี้
  2. ถ้าน้องจะใช้ GPS ตามหาลูกบอลลูนของตัวเองละก็ ต้องไปสอบใบอนุญาตวิทยุสมัครเล่น (HAM radio license) มาให้ได้ก่อน (ซึ่งต้องสอบและจ่ายค่าธรรมเนียมด้วยนะ)
  3. ถ้าอัตราส่วนน้ำหนักต่อขนาดของ payload เกิน 3.0 ออนซ์/ตารางนิ้วละก็ น้ำหนัก payload ทั้งหมดต้องน้อยกว่า 4 ปอนด์
  4. Payload หรือชุดอุปกรณ์แต่ละชิ้น ต้องหนักน้อยกว่า 6 ปอนด์
  5. และถ้ามี payload สองชิ้น น้ำหนักรวมต้องน้อยกว่า 12 ปอนด์

รายละเอียดกฎเกณฑ์เต็มๆ จาก FAA สำหรับผู้ที่อยู่ในสหรัฐฯ นั้น ให้น้องไปหาอ่านเพิ่มเติมเองได้เลยนะ

สภาพแวดล้อมสุดโหดในระดับเกือบถึงอวกาศ

การปล่อย บอลลูนตรวจอากาศ (High Altitude Balloon หรือ HAB) เป็นหนึ่งในโปรเจกต์ที่ตื่นเต้นที่สุดที่นักสร้างสรรค์จะทำได้เลย มันคือการสร้าง "สมอง" ให้บอลลูน: อุปกรณ์บันทึกข้อมูลด้วย Arduino ที่ต้องเอาชีวิตรอดจากสภาพสุดขั้วใกล้อวกาศให้ได้

อิเล็กทรอนิกส์ทั่วไปอาจพังได้ที่ความสูงระดับ 100,000 ฟุต (กว่า 30,000 เมตร) สภาพแวดล้อมนี้ท้าทายหลายอย่าง:

  • หนาวจัด: อุณหภูมิในสตราโตสเฟียร์อาจตกลงไปถึง -60°C (-76°F)
  • ความดันต่ำมาก: ความดันบรรยากาศน้อยกว่า 1% ของความดันระดับน้ำทะเล
  • ปัญหาเรื่องพลังงาน: แบตเตอรี่อัลคาไลน์ทั่วไปอาจแข็งและใช้งานไม่ได้ ต้อง ใช้แบตเตอรี่ที่ออกแบบมาสำหรับความหนาวจัด เช่น Energizer Ultimate Lithium
  • ชิ้นส่วนพัง: เซนเซอร์ทั่วไปหลายชนิด เช่น เซนเซอร์วัดความดันบรรยากาศส่วนใหญ่ ไม่ได้ถูกออกแบบมาให้ทำงานได้แม่นยำที่สูงกว่า 30,000 ฟุต

Arduino datalogger ของน้องต้องถูกออกแบบโดยคำนึงถึงปัจจัยเหล่านี้ด้วย การเก็บข้อมูลมักจะเกี่ยวข้องกับการอ่านค่าจากเซนเซอร์อย่างต่อเนื่อง เช่น โมดูล GPS (สำหรับความสูงและตำแหน่ง), โพรบวัดอุณหภูมิ, และเซนเซอร์วัดสภาพแวดล้อมอื่นๆ ข้อมูลทั้งหมดนี้จะถูกเขียนลงการ์ด SD เพื่อให้แน่ใจว่ามีบันทึกการบินครบถ้วนเมื่อไปเก็บ payload กลับมาได้

ทางเลือกที่ 1 - ใช้ Proto Board!

ก่อนจะเริ่มออกแบบ มีสองสามเรื่องที่น้องต้องคิดไว้ก่อน อย่างแรกคืออยากใส่อะไรลงไปบ้าง ในแผนภาพวงจรที่ให้ไว้ จะมีเซนเซอร์วัดอุณหภูมิและความชื้นแบบง่ายๆ, เซนเซอร์วัดความดันบรรยากาศ, IMU และโมดูลการ์ด SD สำหรับโปรเจกต์ส่วนใหญ่ก็น่าจะเพียงพอแล้ว แต่ถ้าน้องอยากตามหาช่องบรรทุกของตัวเองด้วย Arduino ละก็ ควรเพิ่มโมดูล GPS เข้าไปด้วย มีตัวเลือกในการตามหาหลายแบบ:

  1. โมดูล GPS แบบ SPOT ตัวนี้มีทั้งข้อดีและข้อเสีย ใช้ง่ายมาก, มีระยะไม่จำกัด (เพราะใช้ดาวเทียมส่งพิกัดมาที่มือถือเรา), แบตเตอรี่อยู่ได้นานโคตรๆ และหาซื้อได้ง่าย แต่มันก็ราคาแพง, ทำงานไม่ได้ถ้าตัวเครื่องหงายท้อง (คว่ำ), และสัญญาณอาจถูกบล็อกโดยวัตถุหนาๆ ได้

เราใช้วิธีนี้แหละ แต่เราออกแบบและพิมพ์กิมบอล 3D มายึดให้มันตั้งตรงตลอดเวลา เราขอแนะนำ [SPOT 3 Satellite Messenger] แต่สุดท้ายก็ขึ้นอยู่กับน้องเลย ตราบใดที่น้องศึกษาข้อมูลและเห็นประโยชน์ของแต่ละประเภทแล้ว

  1. วิทยุ APRS นี่น่าจะเป็นวิธีที่น่าเชื่อถือที่สุดและทำอะไรได้หลายอย่างมาก เชื่อมโมดูลเข้ากับ Arduino แล้วให้วิทยุส่งข้อมูลกลับมาได้ ทั้งพิกัดและอื่นๆ วิธีนี้ยังทำให้วัดความสูงได้แม่นยำอีกด้วย

แต่น่าเสียดายที่วิธีนี้จะไม่รวมอยู่ในแผนภาพการเดินสาย ดังนั้นน้องต้องเรียนรู้วิธีเดินสายเองเพิ่มเติม ยิ่งไปกว่านั้น น้องต้องไปสอบใบอนุญาตวิทยุสมัครเล่น (HAM radio license) ซึ่งต้องสอบและจ่ายค่าธรรมเนียมเล็กน้อย ใบอนุญาตนี้มีประโยชน์มากกกก ดังนั้นอาจคุ้มค่าก็ได้ (สำหรับสหรัฐฯ - ข้อจำกัดอาจต่างกันตามประเทศที่น้องอยู่)

  1. มือถือ จริงๆ แล้วไม่ควรใช้วิธีนี้นะ นอกจากน้องต้องหาวิธีปิดโหมดเครื่องบินของมือถือหลังการบินแล้ว ตัวมือถือเองก็อาจจะแพงกว่า SPOT ทั่วไปซะอีก สาเหตุที่ยังอยู่ในลิสต์เพราะหลายคนใช้มือถือเป็นแผนสำรอง แต่มันไม่ใช่สิ่งที่ควรใช้จริงๆ จัดไปวัยรุ่น!

หลังจากที่น้องตัดสินใจแล้วว่าจะเก็บ Payload กลับมายังไง ต่อไปก็ต้องมาดูกันว่าเที่ยวบินของเราจะเป็นยังไงบ้าง ตัวอย่างเช่น ถ้าน้องอยากให้ Arduino ปล่อยร่มชูชีพจากระยะไกลได้ ก็ต้องไปหาวิธีทำกันหน่อยนะจ๊ะ อย่าลืมคิดด้วยว่าจะใช้เซ็นเซอร์ตัวไหนบ้าง (อุณหภูมิอาจจะตกลงไปถึง -40°C (-40°F) ได้ ต้องเตรียมตัวรับมือให้ดี)

เรื่องแหล่งจ่ายไฟให้ Arduino ก็สำคัญไม่แพ้กัน อากาศเย็นจัดๆ จะทำให้แบตเตอรี่หลายชนิดทำงานได้ไม่เต็มที่ ดังนั้นอาจต้องใช้แหล่งจ่ายไฟใหญ่หน่อย พร้อมกับห่อหุ้มให้ดี เช่น ใส่กล่องโฟมเพื่อรักษาความอบอุ่น แต่ก็ต้องระวังน้ำหนักรวมด้วยนะ อย่าให้เกินลิมิต

พี่แนะนำให้น้องทำ checklist ไว้เลย ว่าอยากได้ข้อมูลแบบไหน จะติดกล้องบน Payload ไหม และวางแผนว่าจะใส่อะไรลงไปบ้าง การสร้างช่อง Payload ก่อน แล้วค่อยออกแบบ Data Logger ตามหลังก็เป็นไอเดียที่ดีเหมือนกัน มีเรื่องให้คิดและต้องตรวจสอบก่อนลงมือออกแบบเยอะมาก อย่าลืมใช้เวลาตรวจสอบทุกอย่างให้ละเอียดรอบคอบด้วยล่ะ

เอาล่ะ นี่คือ Schematic และ Wiring Diagram สำหรับเซ็นเซอร์ต่างๆ ถ้าน้องจะทำตามเรา:

บอกเลยว่าใช้ Mega กับเซ็นเซอร์พวกนี้เนี่ย Overkill มาก! แต่ถ้าน้องอยากใช้โค้ดของเราด้วยล่ะก็ ต้องใช้ Mega นะจ๊ะ ถ้าจะเปลี่ยนไปใช้บอร์ดอื่น เช่น Nano ก็อย่าลืมเปลี่ยน Pinout ของโมดูล MicroSD Card ไปเป็น SPI Pins ของบอร์ดนั้นๆ ด้วย

นี่คือรายการชิ้นส่วนที่ใช้:

SparkFun ADXL337 Header Pins โมดูล Micro SD card เซ็นเซอร์วัดความชื้น DHT22 เซ็นเซอร์วัดอุณหภูมิ DS18B20 Proto Board Arduino Mega

น้องสามารถเพิ่ม DS18B20 อีกตัวเพื่อวัดอุณหภูมิภายใน และเพิ่มเซ็นเซอร์อื่นๆ ตามที่ชอบได้เลย แต่ถ้าอยากใช้โค้ดที่เราเตรียมไว้ ก็ให้ใช้ Wiring Diagram ด้านบนนะ

//DHT22 Setup
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
//SD Card Setup
#include <SPI.h>
#include <SD.h>
File sdcard_file;
int CS_pin = 10;
//DS18B20 Temperature sensor
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int scale = 3; // 3 (±3g) for ADXL337, 200 (±200g) for ADXL377
boolean micro_is_5V = true; // Set to true if using a 5V microcontroller such as the Arduino Uno, false if using a 3.3V microcontroller, this affects the interpretation of the sensor data
void setup() {
Serial.begin(9600);
sensors.begin();
 dht.begin();
 pinMode(CS_pin, OUTPUT);//declaring CS pin as output pin
 if (SD.begin()){
   Serial.print("SD Card found!");
 } else
 {
   Serial.print("Error finding SD Card");
   return;
 }
 sdcard_file = SD.open("data.csv", FILE_WRITE);
 if (sdcard_file) { //If the file is found
 }
 else {
   Serial.print("error initializing SD card");
 }
sdcard_file.print("DS18B20");
sdcard_file.print(",");
sdcard_file.print("DHT22 Temp");
sdcard_file.print(",");
sdcard_file.print("Hum");
sdcard_file.print(",");
sdcard_file.print("H.InX");
sdcard_file.print(",");
sdcard_file.print("rawX");
sdcard_file.print(",");
sdcard_file.print("rawY");
sdcard_file.print(",");
sdcard_file.print("rawZ");
sdcard_file.print(",");
sdcard_file.print("scaledX");
sdcard_file.print(",");
sdcard_file.print("scaledY");
sdcard_file.print(",");
sdcard_file.print("scaledZ");
sdcard_file.print(",");
sdcard_file.println(" ");
}
void loop() {
delay(222);
//Accelerometer
 int rawX = analogRead(A0);
 int rawY = analogRead(A1);
 int rawZ = analogRead(A2);
 float scaledX, scaledY, scaledZ; 
 if (micro_is_5V) //scaling data if voltage is 5V (it is)
 {
   scaledX = mapf(rawX, 0, 675, -scale, scale); 
   scaledY = mapf(rawY, 0, 675, -scale, scale);
   scaledZ = mapf(rawZ, 0, 675, -scale, scale);
 }
 else //scaling data if voltage is 3.3V
 {
   scaledX = mapf(rawX, 0, 1023, -scale, scale);
   scaledY = mapf(rawY, 0, 1023, -scale, scale);
   scaledZ = mapf(rawZ, 0, 1023, -scale, scale);
 }
//DS18B20 Temp
sensors.requestTemperatures();
int etemp=sensors.getTempCByIndex(0);
//DS18B20 Humidity Sensor
 float h = dht.readHumidity();
 float t = dht.readTemperature();
 float f = dht.readTemperature(true);
 // Check if any reads failed and exit early for DHT
 if (isnan(h) || isnan(t) || isnan(f)) {
   return;
 }
 // Compute heat index in Fahrenheit (the default)
 float hif = dht.computeHeatIndex(f, h);
 // Compute heat index in Celsius (isFahreheit = false)
 float hic = dht.computeHeatIndex(t, h, false);
 sdcard_file.print(etemp);
 sdcard_file.print(",");
 sdcard_file.print(t);
  sdcard_file.print(",");
 sdcard_file.print(h);
  sdcard_file.print(",");
 sdcard_file.print(hic);
  sdcard_file.print(",");
 sdcard_file.print(rawX);
  sdcard_file.print(",");
 sdcard_file.print(rawY);
  sdcard_file.print(",");
 sdcard_file.print(rawZ);
 sdcard_file.print(",");
 sdcard_file.print(scaledX);
  sdcard_file.print(",");
 sdcard_file.print(scaledY);
 sdcard_file.print(",");
 sdcard_file.print(scaledZ);
 sdcard_file.print(",");
 sdcard_file.print(" ");
 sdcard_file.println(" ");
sdcard_file.close();
delay(223);
}
float mapf(float x, float in_min, float in_max, float out_min, float out_max)
{
 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

ถ้าเจอปัญหาอะไรล่ะก็ อย่าลืมเช็คสายไฟให้ดีๆ แล้วลองรันโค้ดทีละเซ็นเซอร์เพื่อแยกปัญหา สำคัญมาก! ต้องฟอร์แมตการ์ด SD หรือ MicroSD เป็น FAT16 หรือ FAT32 และต้องมีความจุไม่เกิน 16GB ไม่งั้นงานเข้าแน่

และก็ แนะนำให้ต่อ LED ไว้แสดงสถานะของ Data Logger ด้วยนะ ไม่งั้นปล่อยบอลลูนขึ้นไปแล้วเจอว่าเครื่องไม่ทำงานนี่ หน้าแหกแน่นอน ตรวจสอบทุกอย่างให้ดี สามรอบเลย!

อีกเรื่อง ถ้าโมดูลการ์ด SD ยังมีปัญหาต่อเนื่อง ลองเปลี่ยนแหล่งจ่ายไฟดู จากการทดลองของพี่ๆ พบว่าโมดูลบางตัวไวต่อไฟมาก หาแหล่งจ่ายไฟที่เสถียรๆ มาใช้หน่อย

จัดไปวัยรุ่น! Data Logger ของน้องเสร็จแล้ว มันควรจะอ่านค่าอุณหภูมิ, ความชื้น และข้อมูลจาก Accelerometer แล้วบันทึกลงการ์ด SD ได้แล้ว ถ้าอยากได้ค่าความสูงด้วยล่ะก็ ต้องใช้ GPS นะ เพราะเซ็นเซอร์วัดความสูงจากความกดอากาศ (Barometric Sensor) ส่วนใหญ่ (ประมาณ 90%) ทำงานไม่เกิน 30,000 ฟุต ถ้าบอลลูนน้องจะบินสูงกว่านั้น (ซึ่งส่วนใหญ่ก็สูงกว่านี้แหละ) ก็ใช้ Barometer ไม่ได้แล้ว

ถ้ามีปัญหาอะไรก็คอมเมนต์ไว้ด้านล่างได้เลย ถ้าชอบไกด์นี้ ก็ลองไปดูไอเดียเจ๋งๆ จากพาร์ทอื่นๆ ดูนะ

Path 2 - ใช้ PCB ที่ออกแบบไว้แล้ว

โอเค! น้องกำลังวางแผนจะใช้ PCB ที่ออกแบบไว้แล้วสินะ ตัวบอร์ดสำเร็จรูปนี้จะช่วยให้น้องสามารถอ่านค่าอุณหภูมิภายใน, อุณหภูมิภายนอก, ความชื้น, และค่าจากตัววัดความเร่ง (Accelerometer) ได้ น้องต้องมีทักษะการบัดกรีหน่อยนะ และต้องเตรียมอุปกรณ์พวกนี้ด้วย:

  • 5050 SMD LED
  • SparkFun ADXL337
  • หัวต่อแบบพิน (Header pins) เยอะๆ
  • โมดูล Micro SD card
  • เซ็นเซอร์วัดความชื้น DHT22
  • เซ็นเซอร์วัดอุณหภูมิ DS18B20 จำนวน 2 ตัว
  • Arduino Mega
  • บอร์ด The Eclipse PCB

ไฟล์ Gerber สำหรับบอร์ดนี้มีอยู่ใน GitHub repository นะ (ลิงก์ถูกลบตามกฎ) ถ้าน้องอยากจะแก้ไขดีไซน์บอร์ดเองก็ไปโหลดไฟล์จากนั้นมาเลย

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "nmrsthrust"
category: "Sensors & Environment"
components:
  - "1x Arduino Mega 2560"
  - "1x 5050 SMD LED"
  - "1x SparkFun Triple Axis Accelerometer Breakout - ADXL335"
  - "1x Solder Wire, Lead Free"
  - "1x Resistor 10k ohm"
  - "2x DS18B20 Programmable Resolution 1-Wire Digital Thermometer"
  - "2x Male-Header 36 Position 1 Row- Long (0.1\")"
  - "3x Resistor 100 ohm"
  - "1x DHT22 Temperature Sensor"
  - "2x Resistor 4.75k ohm"
  - "1x Soldering iron (generic)"
  - "1x Micro SD Card module"
  - "1x Flash Memory Card, MicroSD Card"
description: "Engineer a high-altitude data collection system to capture environmental variables from the edge of space using Arduino Mega and specialized sensors."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1/uweVOFdTJivBQ294eX7OyEo5wRcwSrM3EG9EF+pD2CS1B17evtyup47mNtpzRyIDe0gmLrmbwGyCIDIFIHGw30wXDevpAgwc="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-powered-weather-balloon-datalogger-e88691_cover.jpg"
lang: "en"
likes: 8
passwordHash: "39176e1184ff11206c09cac200e9d72d96308ba41358d1c500e5d185c9506631"
price: 2450
seoDescription: "Build an Arduino Powered Weather Balloon Datalogger to collect data from the edge of space. Ultimate DIY science project."
tags:
  - "weather"
  - "data collection"
  - "aerospace"
  - "stratosphere"
title: "ปล่อยบอลลูนวัดอากาศด้วย Arduino สุดตึง ไปเก็บข้อมูลขอบฟ้า!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/cui7S0oN2jc"
  - "https://www.youtube.com/embed/1Frc0yw0JAw"
  - "https://www.youtube.com/embed/nanUYvE-GWU"
  - "https://www.youtube.com/embed/NyWZLsBa_og"
views: 14583