Съдържание:
- Стъпка 1: Събиране на материали/скициране на CubeSat
- Стъпка 2: Изграждане на Cubesat
- Стъпка 3: Окабеляване и кодиране на Arduino
- Стъпка 4: Проверка на Cubesat
- Стъпка 5: Нареждане на CubeSat
- Стъпка 6: Тест за люлеене
- Стъпка 7: Тест #2- Тестът на разклащане
- Стъпка 8: Резултати/завършена температура CubeSat
Видео: Температурен куб Сб Бен и Каити & Q час 1: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Искали ли сте някога сами да направите нещо, което да бъде изпратено в космоса и да измери температурата на друга планета? В нашия клас по физика в гимназията ни беше възложено да изградим CubeSat с работещ arduino с основния въпрос Как можем да накараме това да работи на Марс? Решихме да измерим температурата на планетата, защото кой не би искал да знае колко горещ е Марс? Трябваше обаче да го направим от нещо достъпно, но и издръжливо. Затова използвахме Legos. Това направи CubeSat издръжлив и ни помогна да достигнем размерите за оразмеряване доста лесно-дори ако всички парчета са малко досадни! Нашата цел беше да имаме напълно функциониращ сензор, който да измерва температурата в околността, и защитен CubeSat около него.
Стъпка 1: Събиране на материали/скициране на CubeSat
Първото нещо, което ще искате да направите, е да скицирате CubeSat. Ще трябва да имате представа какво искате да изградите, преди да го изградите. Една от снимките по -горе е от скици на CubeSat, които направихме. След това съберете вашите материали. За CubeSat, който изграждаме, използваме Legos. Избрахме Legos, защото те са лесни за сглобяване и сглобяване и в същото време са издръжливи и ще изпълняват добре необходимите задачи. Така че ще трябва да вземете лего. вземете няколко широки основни парчета, които са 10cm X 10 cm X 10 cm, или няколко основни парчета, които могат да бъдат събрани заедно на 10 на 10 парче. За нашия CubeSat трябваше да вземем няколко основни парчета и да ги съберем, за да направим основа 10 см на 10 см. Също така ще трябва да вземете Legos, за да направите покрив със същия размер. След като вземете тези легота, ще трябва да вземете тон малки лего, за да изградите стените на CubeSat. Уверете се, че тези Lego са доста слаби, така че да не заемат твърде много от интериора на CubeSat.
Стъпка 2: Изграждане на Cubesat
Първо, ние създадохме тази красота 10x10x10. Отне много различни дизайни. Първо имахме рафт в средата, но по -късно решихме, че това е излишно. Ако решите да имате рафт в средата, бих препоръчал само един рафт, защото ще трябва да го разглобявате всеки път, когато поставяте и изваждате вашия Arduino и сензор. Добавихме малки прозорци, за да можем да разгледаме бързо вътре, докато горната част е затворена, за да видим всичко да работи гладко. За да направим CubeSat по -стабилен, сглобяваме два слоя Lego на дъното. Колкото по -стабилен, толкова по -добре, защото този CubeSat ще трябва да може да преживее много различни препятствия.
Стъпка 3: Окабеляване и кодиране на Arduino
Втората стъпка от този проект е мястото, където ще трябва да свържете arduino. Тази стъпка е много важна, тъй като, ако това не бъде направено правилно, кубът няма да може да отчита температурата. За да завършите окабеляването на arduino, ще ви трябват някои материали. Тези материали са батерия, arduino, SD карта, джъмперни проводници, макет, температурен сензор и компютър. Компютърът ще се използва, за да се види дали окабеляването работи правилно. Ето един уебсайт, който беше много полезен, за да ни насочи как да свържем arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Снимките и диаграмата на фриттинг по -горе също могат да ви помогнат. Кодирането на arduino също ще бъде тествано на компютъра, за да се види дали работи. Ако всичко работи, тогава arduino може да бъде изваден от компютъра и е готов за работа.
Код:
// Кабелът за данни е включен в порт 2 на Arduino
#дефинирайте ONE_WIRE_BUS 2
File sensorData;
// Настройка на екземпляр на oneWire за комуникация с всяко устройство на OneWire (не само с температурни интегрални схеми на Maxim/Dallas)
OneWire oneWire (ONE_WIRE_BUS);
// Включваме библиотеките, от които се нуждаем
#включва
#включва
#включва
// Предаваме нашата справка за oneWire към температурата в Далас.
Даларски сензори за температура (& oneWire);
// масиви за съхраняване на адреса на устройството
Адрес на устройството вътре Термометър;
/*
* Функция за настройка. Тук правим основите
*/
настройка на void (void)
{
pinMode (10, OUTPUT);
SD.begin (4);
// стартиране на сериен порт
Serial.begin (9600);
Serial.println ("Демонстрационна библиотека за контрол на температурата в Далас");
// локализиране на устройства в шината
Serial.print ("Локализиране на устройства …");
sensors.begin ();
Serial.print ("Намерено");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("устройства.");
// докладваме изискванията за захранване с паразити
Serial.print ("Силата на паразитите е:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/*Присвояване на адрес ръчно. Адресите по -долу ще бъдат променени
до валидни адреси на устройства във вашата шина. Адресът на устройството може да бъде извлечен
чрез използване на 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 ()
// search () търси следващото устройство. Връща 1, ако е имало нов адрес
// се завърна. Нула може да означава, че шината е на късо, няма устройства, // или вече сте изтеглили всички тях. Може би е добра идея
// проверете CRC, за да се уверите, че не сте получили боклук. Поръчката е
// детерминиран. Винаги ще получавате едни и същи устройства в същия ред
//
// Трябва да се извика преди търсене ()
//oneWire.reset_search ();
// присвоява първия намерен адрес на insideThermometer
// if (! oneWire.search (insideThermometer)) Serial.println ("Не може да се намери адрес за insideThermometer");
// показваме адресите, които намерихме в автобуса
Serial.print ("Адрес на устройство 0:");
printAddress (вътре в термометър);
Serial.println ();
// задаваме разделителната способност на 9 бита (Всяко устройство от Далас/Максим е способно на няколко различни резолюции)
sensors.setResolution (вътре в Термометър, 9);
Serial.print ("Резолюция на устройство 0:");
Serial.print (sensors.getResolution (insideThermometer), DEC);
Serial.println ();
}
// функция за отпечатване на температурата за устройство
void printTemperature (DeviceAddress deviceAddress)
{
// метод 1 - по -бавен
//Serial.print(" Темп C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deAdAdress)); // Осъществява второ обаждане до getTempC и след това се преобразува във Фаренхайт
// метод 2 - по -бърз
float tempC = sensors.getTempC (deviceAddress);
ако (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Грешка: Не може да се прочетат температурните данни");
връщане;
}
sensorData = SD.open ("log.txt", FILE_WRITE);
if (sensorData) {
Serial.print ("Temp C:");
Serial.print (tempC);
Serial.print ("Temp F:");
Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Конвертира tempC във Фаренхайт
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Главна функция. Той ще поиска tempC от сензорите и ще се покаже на Serial.
*/
void loop (void)
{
// извикваме sensors.requestTemperatures () за издаване на глобална температура
// заявка към всички устройства в шината
Serial.print ("Заявяващи температури …");
sensors.requestTemperatures (); // Изпратете командата, за да получите температури
Serial.println ("ГОТОВО");
// Той реагира почти веднага. Нека отпечатаме данните
printTemperature (insideThermometer); // Използвайте проста функция за отпечатване на данните
}
// функция за отпечатване на адрес на устройство
void printAddress (DeviceAddress deviceAddress)
{
за (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
ОтговорНапред
Стъпка 4: Проверка на Cubesat
Сега, когато CubeSat, кодът и окабеляването на Arduino са завършени, скоро ще стартирате тестове. Ако тези тестове са неуспешни, вашият CubeSat потенциално може да бъде напълно унищожен заедно с вашия Arduino. Затова ще искате да се уверите, че вашият Arduino е готов за това. Това е мястото, където тази стъпка влиза в игра, като проверява CubeSat. Първо, ще трябва да поставите вашия Arduino сигурно в CubeSat и да се уверите, че няма да се клати наоколо. След това ще трябва да се уверите, че всички парчета от CubeSat са здраво поставени. Не може да има хлабави парчета, или CubeSat е по -вероятно да се разпадне по време на тестовете. Ако внимателно проверите вашия CubeSat, тестовете, през които преминава, трябва да бъдат преминати лесно.
Стъпка 5: Нареждане на CubeSat
Тази стъпка ще бъде подготовка за първия тест, който CubeSat ще премине. В теста CubeSat ще се върти с бързо темпо в кръг за 30 секунди. Ще трябва да се уверите, че CubeSat е здраво нанизан, така че да не излита. Завързахме 2 струни изцяло около CubeSat и ги завързахме здраво. След това добавихме още един дълъг низ, който беше завързан около първите две. Завързахме този низ няколко пъти отгоре и отдолу, така че да е възможно най -сигурен. Това може да отнеме няколко опита, защото искате да направите низа перфектен, така че да не се разхлаби по време на полет.
Стъпка 6: Тест за люлеене
За безопасност в тази стъпка, не забравяйте да носите очила, за да предпазите очите си. В тази стъпка ще стартирате CubeSat чрез тест, за да видите дали той защитава достатъчно добре Arduino, за да може да изпълни задачата си (намиране на температура). Първият тест е този, който се нуждае от низ. В този тест Arduino ще се завърти (както е показано на снимката/видеото по-горе)- (понякога видеото има проблеми с зареждането). В средата може да се постави модел на Марс. За да завърши успешно този тест, Arduino ще трябва да се завърти, без да остане необвързан, поради което трябва да бъде нанизан добре и те ще трябва да работят напълно, след като тестът приключи. Ето защо трябва да се уверите, че Arduino е добре закрепен в CubeSat.
Стъпка 7: Тест #2- Тестът на разклащане
В тази стъпка вашият CubeSat ще премине през тест №2. Този тест е тест за разклащане. В този тест CubeSat ще бъде поставен в държач, както е показано на снимката/видеото (понякога видеото има проблеми с зареждането) по -горе и ще се разклаща силно напред -назад за 30 секунди. За да издържат този тест, вашите CubeSat и Arduino ще трябва да функционират напълно, след като бъдат разклатени.
Стъпка 8: Резултати/завършена температура CubeSat
В крайна сметка нашият CubeSat успя успешно да записва температурата, докато преминава през всеки тест. Данните постоянно отчитат 26-30 градуса по Целзий при всеки тест. Това е същото като 78-86 градуса по Фаренхайт. По пътя обаче се сблъскахме с някои проблеми. Например, няколко пъти кодирането на arduino не работи и чете 126 градуса по Целзий. Бяха необходими няколко опита за постигане на правилната температура. Някои съвети, които бих дал на всеки, който прави този проект, биха били да опитат множество варианти на код и окабеляване и да се уверят, че вашето arduino се вписва плътно в CubeSat. Може да се наложи да стегнете празнината вътре в CubeSat, за да сте сигурни, че arduino пасва идеално вътре. Имахме някакъв проблем с това, че arduino е твърде хлабав в CubeSat.
В този проект ще трябва да приложите и познанията си по физика. По време на проекта ще трябва да се прилагат физически познания за технологии, енергия и сила. По време на проекта научихме повече за Слънчевата система и новите технологии като CubeSats. Научихме и за гравитационната сила и как тази сила може да повлияе на CubeSat. Една много важна тема с този проект беше движението на сателитите. Научихме за движението на спътниците, като използваме скорост, нетна сила и гравитация. Това би ни помогнало да намерим снарядите на спътниците.
След като вашите CubeSat и arduino успешно преминат тестовете и работят правилно, сте готови. Вашият CubeSat трябва да може да оцелее в атмосферата на Марс. Уверете се, че сензорът успешно е записал температурата и по време на тестовете. Вашият CubeSat е готов за полет в космоса!
Препоръчано:
Как да си направим LED куб - LED куб 4x4x4: 3 стъпки
Как да си направим LED куб | LED Cube 4x4x4: LED Cube може да се мисли като LED екран, в който обикновените 5 мм светодиоди играят ролята на цифрови пиксели. LED кубът ни позволява да създаваме изображения и модели, като използваме концепцията за оптичен феномен, известен като устойчивост на зрението (POV). Така
Как да направите записване на дата и час - Liono Maker: 5 стъпки
Как да направите записване на дата и час | Liono Maker: Въведение: -В този урок ще научим как да правите регистриране на дата и час с Arduino. За тази цел използвам DS3231 & Модули на Micro SD карта. Основният модул, който се използва за време & регистрирането на дата е DS3231. DS3231 е RTC (истински ти
Магически куб или куб за микроконтролер: 7 стъпки (със снимки)
Магически куб или куб за микроконтролер: В тази инструкция ще ви покажа как да направите магически куб от дефектен микроконтролер. Тази идея идва от момента, в който вземам дефектен микроконтролер ATmega2560 от Arduino Mega 2560 и направя куб .За хардуера на Magic Cube трябва да направя
Вземете час и дата от интернет - Урок: 9 стъпки
Вземете час и дата от Интернет - Урок: В този урок ще научим как да получаваме датата и часа от сървъра NIST TIME с помощта на M5Stack StickC и Visuino, Гледайте демонстрационен видеоклип
Интернет часовник: Показване на дата и час с OLED с използване на ESP8266 NodeMCU с NTP протокол: 6 стъпки
Интернет часовник: Показване на дата и час с OLED с помощта на ESP8266 NodeMCU с NTP протокол: Здравейте момчета в тази инструкция, ние ще изградим интернет часовник, който ще получава време от интернет, така че този проект няма да се нуждае от никакъв RTC, за да работи, ще му трябва само работеща интернет връзка И за този проект се нуждаете от esp8266, който ще има