สารบัญ:

ลูกบาศก์อุณหภูมิแซทเบน & ไคติ & Q ชั่วโมง 1: 8 ขั้นตอน
ลูกบาศก์อุณหภูมิแซทเบน & ไคติ & Q ชั่วโมง 1: 8 ขั้นตอน

วีดีโอ: ลูกบาศก์อุณหภูมิแซทเบน & ไคติ & Q ชั่วโมง 1: 8 ขั้นตอน

วีดีโอ: ลูกบาศก์อุณหภูมิแซทเบน & ไคติ & Q ชั่วโมง 1: 8 ขั้นตอน
วีดีโอ: อย่าๆๆๆ 🤣❤️ 2024, พฤศจิกายน
Anonim
อุณหภูมิ CubeSat Ben & Kaiti & Q Hour 1
อุณหภูมิ CubeSat Ben & Kaiti & Q Hour 1
อุณหภูมิ CubeSat Ben & Kaiti & Q Hour 1
อุณหภูมิ CubeSat Ben & Kaiti & Q Hour 1

คุณเคยต้องการที่จะทำบางสิ่งบางอย่างที่สามารถส่งไปยังอวกาศและใช้อุณหภูมิของดาวเคราะห์ดวงอื่นได้หรือไม่? ในชั้นเรียนฟิสิกส์ระดับไฮสคูล เราได้มอบหมายให้สร้าง CubeSat ด้วย Arduino ที่ใช้งานได้พร้อมคำถามหลัก เราจะทำให้มันทำงานบนดาวอังคารได้อย่างไร เราตัดสินใจที่จะวัดอุณหภูมิบนดาวเคราะห์ดวงนี้ เพราะใครจะไม่อยากรู้ว่าดาวอังคารร้อนแค่ไหน? อย่างไรก็ตาม เราจำเป็นต้องสร้างมันขึ้นมาจากของที่มีราคาจับต้องได้ แต่ก็ต้องทนทานด้วย ดังนั้นเราจึงใช้เลโก้ ทำให้ CubeSat มีความทนทาน และช่วยให้เราปรับขนาดได้ค่อนข้างง่าย แม้ว่าชิ้นส่วนทั้งหมดจะดูน่ารำคาญก็ตาม! เป้าหมายของเราคือการมีเซ็นเซอร์ที่ทำงานได้อย่างสมบูรณ์ซึ่งสามารถรับอุณหภูมิของบริเวณโดยรอบและมี CubeSat ป้องกันรอบตัว

ขั้นตอนที่ 1: รวบรวมวัสดุ/ร่าง CubeSat

รวบรวมวัสดุ/ร่าง CubeSat
รวบรวมวัสดุ/ร่าง CubeSat
รวบรวมวัสดุ/ร่าง CubeSat
รวบรวมวัสดุ/ร่าง CubeSat

สิ่งแรกที่คุณต้องการทำคือร่าง CubeSat คุณจะต้องมีความคิดเกี่ยวกับสิ่งที่คุณต้องการสร้างก่อนที่จะสร้างมันขึ้นมา หนึ่งในภาพด้านบนเป็นภาพร่าง CubeSat ที่เราทำ ถัดไป รวบรวมวัสดุของคุณ สำหรับ CubeSat ที่เรากำลังสร้าง เรากำลังใช้เลโก้ เราเลือกตัวต่อเลโก้เพราะประกอบและประกอบได้ง่าย ในขณะเดียวกันก็ทนทานและทำงานได้ดี เลยต้องหาเลโก้มาบ้าง หาชิ้นฐานกว้างสองสามชิ้น ขนาด 10 ซม. X 10 ซม. X 10 ซม. หรือชิ้นฐานสองสามชิ้นที่สามารถประกอบเป็นชิ้นขนาด 10 x 10 ได้ สำหรับ CubeSat ของเรา เราต้องนำชิ้นส่วนฐานหลายชิ้นมารวมกันเป็นฐาน 10 ซม. คูณ 10 ซม. คุณจะต้องได้รับเลโก้เพื่อสร้างชิ้นส่วนหลังคาที่มีขนาดเท่ากัน หลังจากที่คุณได้ตัวต่อเลโก้แล้ว คุณจะต้องหาตัวต่อเลโก้จำนวนหนึ่งเพื่อสร้างกำแพงของ CubeSat ตรวจสอบให้แน่ใจว่า Legos เหล่านี้ค่อนข้างบาง เพื่อไม่ให้กินพื้นที่ภายในของ CubeSat มากเกินไป

ขั้นตอนที่ 2: สร้าง Cubesat

การสร้าง Cubesat
การสร้าง Cubesat
การสร้าง Cubesat
การสร้าง Cubesat
การสร้าง Cubesat
การสร้าง Cubesat

อันดับแรก เราสร้างความงามขนาด 10x10x10 นี้ มันใช้การออกแบบที่แตกต่างกันมากมาย ก่อนอื่นเรามีชั้นวางตรงกลาง แต่ต่อมาเราตัดสินใจว่าไม่จำเป็น หากคุณเลือกชั้นวางตรงกลาง ฉันขอแนะนำชั้นวางเพียงชั้นเดียว เพราะคุณจะต้องแยกชั้นวาง Arduino และเซ็นเซอร์ออกทุกครั้งที่ใส่และถอด Arduino กับเซ็นเซอร์ เราเพิ่มหน้าต่างเล็กๆ เพื่อให้เรามองเข้าไปข้างในได้อย่างรวดเร็วในขณะที่ปิดด้านบน เพื่อให้เราเห็นว่าทุกอย่างทำงานได้อย่างราบรื่น เพื่อให้ CubeSat มีความเสถียรมากขึ้น เราจึงนำเลโก้สองชั้นมารวมกันที่ด้านล่าง ยิ่งเสถียรยิ่งดีเพราะ CubeSat นี้จะต้องสามารถเอาชีวิตรอดจากอุปสรรคต่างๆ ได้มากมาย

ขั้นตอนที่ 3: การเดินสายไฟและการเข้ารหัส Arduino

การเดินสายไฟและการเข้ารหัส Arduino
การเดินสายไฟและการเข้ารหัส Arduino
การเดินสายไฟและการเข้ารหัส Arduino
การเดินสายไฟและการเข้ารหัส Arduino
การเดินสายไฟและการเข้ารหัส Arduino
การเดินสายไฟและการเข้ารหัส Arduino

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

create.arduino.cc/projecthub/TheGadgetBoy/…

รูปภาพและแผนภาพด้านบนอาจช่วยคุณได้เช่นกัน การเข้ารหัสของ Arduino จะได้รับการทดสอบบนคอมพิวเตอร์ด้วยเพื่อดูว่าใช้งานได้หรือไม่ หากทุกอย่างใช้งานได้คุณสามารถถอด Arduino ออกจากคอมพิวเตอร์และพร้อมใช้งาน

รหัส:

// ต่อสายข้อมูลเข้ากับพอร์ต 2 บน Arduino

#define ONE_WIRE_BUS 2

ไฟล์เซ็นเซอร์ข้อมูล;

// ตั้งค่าอินสแตนซ์ oneWire เพื่อสื่อสารกับอุปกรณ์ OneWire ใดๆ (ไม่ใช่แค่ IC อุณหภูมิของ Maxim/Dallas)

OneWire oneWire(ONE_WIRE_BUS);

// รวมไลบรารีที่เราต้องการ

#รวม

#รวม

#รวม

// ส่งการอ้างอิง oneWire ของเราไปที่ Dallas Temperature

เซ็นเซอร์อุณหภูมิดัลลัส (& oneWire);

// อาร์เรย์เพื่อเก็บที่อยู่อุปกรณ์

อุปกรณ์Address ภายในเครื่องวัดอุณหภูมิ;

/*

* ฟังก์ชั่นการตั้งค่า ที่นี่เราทำพื้นฐาน

*/

การตั้งค่าเป็นโมฆะ (เป็นโมฆะ)

{

โหมดพิน (10, เอาต์พุต);

SD.begin(4);

// เริ่มพอร์ตอนุกรม

Serial.begin(9600);

Serial.println ("Dallas Temperature IC Control Library Demo");

// ค้นหาอุปกรณ์บนรถบัส

Serial.print("กำลังค้นหาอุปกรณ์…");

sensors.begin();

Serial.print("พบแล้ว");

Serial.print(sensors.getDeviceCount(), ธ.ค.);

Serial.println("อุปกรณ์");

// รายงานความต้องการพลังงานปรสิต

Serial.print("พลังของปรสิตคือ: ");

ถ้า (sensors.isParasitePowerMode()) Serial.println("ON");

Serial.println("ปิด");

/*กำหนดที่อยู่ด้วยตนเอง ที่อยู่ด้านล่างจะมีการเปลี่ยนแปลง

ไปยังที่อยู่อุปกรณ์ที่ถูกต้องบนรถบัสของคุณ สามารถเรียกที่อยู่อุปกรณ์ได้

โดยใช้ oneWire.search(deviceAddress) หรือทีละรายการผ่าน

sensors.getAddress(deviceAddress, index) โปรดทราบว่าคุณจะต้องใช้ที่อยู่เฉพาะของคุณที่นี่

เทอร์โมมิเตอร์ภายใน = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };

วิธีที่ 1:

ค้นหาอุปกรณ์บนรถบัสและกำหนดตามดัชนี ตามหลักการแล้ว

คุณจะทำเช่นนี้เพื่อค้นหาที่อยู่บนรถบัสในขั้นต้นแล้ว

ใช้ที่อยู่เหล่านั้นและกำหนดด้วยตนเอง (ดูด้านบน) เมื่อคุณรู้

อุปกรณ์บนรถบัสของคุณ (และถือว่าไม่มีการเปลี่ยนแปลง)

*/ if (!sensors.getAddress(insideThermometer, 0)) Serial.println("ไม่พบที่อยู่สำหรับอุปกรณ์ 0");

// วิธีที่ 2: ค้นหา ()

// search() ค้นหาอุปกรณ์ถัดไป ส่งกลับ 1 หากมีที่อยู่ใหม่

//กลับมา. ศูนย์อาจหมายถึงบัสลัดวงจรไม่มีอุปกรณ์

// หรือคุณได้ดึงข้อมูลทั้งหมดแล้ว อาจเป็นความคิดที่ดีที่จะ

// ตรวจสอบ CRC เพื่อให้แน่ใจว่าคุณไม่ได้รับขยะ คำสั่งคือ

// เป็นตัวกำหนด คุณจะได้รับอุปกรณ์เดียวกันในลำดับเดียวกันเสมอ

//

// ต้องถูกเรียกก่อนการค้นหา ()

//oneWire.reset_search();

// กำหนดที่อยู่แรกที่พบในเครื่องวัดอุณหภูมิ

//if (!oneWire.search(insideThermometer)) Serial.println("ไม่พบที่อยู่สำหรับ InsideThermometer");

// แสดงที่อยู่ที่เราพบบนรถบัส

Serial.print("อุปกรณ์ 0 ที่อยู่: ");

printAddress(เครื่องวัดอุณหภูมิภายใน);

Serial.println();

// ตั้งค่าความละเอียดเป็น 9 บิต (อุปกรณ์ Dallas/Maxim แต่ละเครื่องมีความละเอียดต่างกันหลายแบบ)

sensors.setResolution (ภายในเทอร์โมมิเตอร์, 9);

Serial.print("อุปกรณ์ 0 ความละเอียด: ");

Serial.print (sensors.getResolution (ภายในเทอร์โมมิเตอร์), ธ.ค.);

Serial.println();

}

// ฟังก์ชันพิมพ์อุณหภูมิของอุปกรณ์

โมฆะ printTemperature (DeviceAddress deviceAddress)

{

// วิธีที่ 1 - ช้าลง

//Serial.print("อุณหภูมิ C:");

//Serial.print(เซ็นเซอร์.getTempC(deviceAddress));

//Serial.print(" อุณหภูมิ F: ");

//Serial.print(sensors.getTempF(deviceAddress)); // Serial.print(เซ็นเซอร์.getTempF(ที่อยู่อุปกรณ์)); // ทำการโทรครั้งที่สองไปที่ getTempC แล้วแปลงเป็น Fahrenheit

// วิธีที่ 2 - เร็วกว่า

float tempC = sensors.getTempC (ที่อยู่อุปกรณ์);

ถ้า (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println("ข้อผิดพลาด: ไม่สามารถอ่านข้อมูลอุณหภูมิ");

กลับ;

}

sensorData = SD.open("log.txt", FILE_WRITE);

ถ้า (เซ็นเซอร์ข้อมูล) {

Serial.print ("อุณหภูมิ C: ");

Serial.print(tempC);

Serial.print (" อุณหภูมิ F: ");

Serial.println(DallasTemperature::toFahrenheit(tempC)); อนุกรม.println(DallasTemperature::toFahrenheit(tempC)); // แปลง tempC เป็นฟาเรนไฮต์

เซ็นเซอร์Data.println(tempC);

เซ็นเซอร์Data.close();

}

}

/*

* ฟังก์ชั่นหลัก. มันจะขอ tempC จากเซ็นเซอร์และแสดงผลบน Serial

*/

วงโมฆะ (เป็นโมฆะ)

{

// เรียก sensors.requestTemperatures() เพื่อออกอุณหภูมิโลก

// ขออุปกรณ์ทั้งหมดบนรถบัส

Serial.print("กำลังร้องขออุณหภูมิ…");

เซ็นเซอร์ ขออุณหภูมิ (); // ส่งคำสั่งเพื่อรับอุณหภูมิ

Serial.println("เสร็จสิ้น");

// มันตอบกลับแทบจะในทันที มาพิมพ์ข้อมูลกันเถอะ

พิมพ์อุณหภูมิ (ภายในเครื่องวัดอุณหภูมิ); // ใช้ฟังก์ชันง่าย ๆ เพื่อพิมพ์ข้อมูล

}

// ฟังก์ชันพิมพ์ที่อยู่อุปกรณ์

เป็นโมฆะ printAddress(DeviceAddress deviceAddress)

{

สำหรับ (uint8_t i = 0; i < 8; i++)

{

ถ้า (deviceAddress < 16) Serial.print("0");

Serial.print(deviceAddress, HEX);

}

}

ตอบไปข้างหน้า

ขั้นตอนที่ 4: ตรวจสอบ Cubesat

กำลังตรวจสอบ Cubesat
กำลังตรวจสอบ Cubesat
กำลังตรวจสอบ Cubesat
กำลังตรวจสอบ Cubesat

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

ขั้นตอนที่ 5: การร้อย CubeSat

การร้อย CubeSat
การร้อย CubeSat

ขั้นตอนนี้จะเป็นการเตรียมพร้อมสำหรับการทดสอบครั้งแรกที่ CubeSat จะต้องทำ ในการทดสอบ CubeSat จะถูกเหวี่ยงอย่างรวดเร็วเป็นวงกลมเป็นเวลา 30 วินาที คุณจะต้องแน่ใจว่า CubeSat ถูกพันแน่นเพื่อไม่ให้หลุดออกมา เราผูก 2 สายไว้รอบ CubeSat อย่างสมบูรณ์แล้วมัดให้แน่น จากนั้น เราเพิ่มสายยาวอีกอันหนึ่งซึ่งผูกไว้รอบสองเส้นแรก เราผูกเชือกนี้หลายครั้งที่ด้านบนและด้านล่างเพื่อให้ปลอดภัยที่สุด อาจต้องพยายามหลายครั้งเพราะคุณต้องการทำให้เชือกสมบูรณ์แบบ เพื่อไม่ให้เชือกหลุดระหว่างการบิน

ขั้นตอนที่ 6: การทดสอบวงสวิง

การทดสอบวงสวิง
การทดสอบวงสวิง

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

ขั้นตอนที่ 7: การทดสอบ #2- การทดสอบการสั่น

การทดสอบ # 2- การทดสอบการสั่น
การทดสอบ # 2- การทดสอบการสั่น

ในขั้นตอนนี้ CubeSat ของคุณจะผ่านการทดสอบ #2 การทดสอบนี้เป็นการทดสอบการสั่น ในการทดสอบนี้ CubeSat จะถูกวางในที่ยึดดังแสดงในรูปภาพ/วิดีโอ (บางครั้งวิดีโอมีปัญหาในการโหลด) ด้านบน และจะถูกเขย่าอย่างรุนแรงไปมาเป็นเวลา 30 วินาที เพื่อให้ผ่านการทดสอบนี้ CubeSat และ Arduino ของคุณจะต้องยังคงทำงานได้อย่างสมบูรณ์หลังจากที่เขย่าแล้ว

ขั้นตอนที่ 8: ผลลัพธ์ / อุณหภูมิที่เสร็จสมบูรณ์ CubeSat

ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat
ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat
ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat
ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat
ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat
ผลลัพธ์/อุณหภูมิที่เสร็จสมบูรณ์ CubeSat

ในที่สุด CubeSat ของเราสามารถบันทึกอุณหภูมิได้สำเร็จในขณะที่ทำการทดสอบทุกครั้ง ข้อมูลอ่านอย่างสม่ำเสมอ 26-30 องศาเซลเซียสในทุกการทดสอบ ซึ่งเท่ากับ 78-86 องศาฟาเรนไฮต์ อย่างไรก็ตาม เราพบปัญหาบางอย่างระหว่างทาง ตัวอย่างเช่น การเข้ารหัสของ Arduino ไม่ทำงานหลายครั้ง และอ่านได้ 126 องศาเซลเซียส ต้องใช้ความพยายามหลายครั้งเพื่อให้ได้อุณหภูมิที่ถูกต้อง คำแนะนำบางอย่างที่ฉันจะมอบให้กับทุกคนที่ทำโปรเจ็กต์นี้คือลองใช้โค้ดและการเดินสายหลายรูปแบบ และเพื่อให้แน่ใจว่า Arduino ของคุณเข้ากับ CubeSat อย่างแน่นหนา คุณอาจต้องกระชับช่องว่างภายใน CubeSat เพื่อให้แน่ใจว่า Arduino เข้ากันได้ดีกับภายใน เรามีปัญหาบางอย่างกับ Arduino ที่หลวมเกินไปใน CubeSat

ในโครงการนี้ คุณจะต้องใช้ความรู้ด้านฟิสิกส์ด้วย ความรู้ด้านฟิสิกส์ของเทคโนโลยี พลังงาน และกำลังจะต้องนำไปใช้ตลอดทั้งโครงการ ตลอดโครงการนี้ เราได้เรียนรู้เพิ่มเติมเกี่ยวกับระบบสุริยะและเทคโนโลยีใหม่ๆ เช่น CubeSats นอกจากนี้เรายังได้เรียนรู้เกี่ยวกับแรงโน้มถ่วงและแรงนี้อาจส่งผลต่อ CubeSat อย่างไร หัวข้อสำคัญอย่างหนึ่งของโครงการนี้คือการเคลื่อนที่ผ่านดาวเทียม เราเรียนรู้เกี่ยวกับการเคลื่อนที่ของดาวเทียมโดยใช้ความเร็ว แรงสุทธิ และความโน้มถ่วง สิ่งนี้จะช่วยให้เราค้นหาโพรเจกไทล์ของดาวเทียมได้

เมื่อ CubeSat และ Arduino ของคุณผ่านการทดสอบและทำงานอย่างถูกต้อง แสดงว่าคุณทำเสร็จแล้ว CubeSat ของคุณควรสามารถอยู่รอดในชั้นบรรยากาศของดาวอังคารได้ ตรวจสอบให้แน่ใจว่าเซ็นเซอร์บันทึกอุณหภูมิได้สำเร็จตลอดการทดสอบด้วย CubeSat ของคุณพร้อมที่จะออกสู่อวกาศแล้ว!

แนะนำ: