Мазмуну:
- 1 -кадам: Материалдарды чогултуу/CubeSat эскизин түзүү
- 2 -кадам: Cubesatти куруу
- 3 -кадам: Ардуинону зымдоо жана коддоо
- 4 -кадам: Cubesatти текшерүү
- 5 -кадам: CubeSatти күчөтүү
- 6 -кадам: Swing Test
- 7-кадам: Тест #2- Чайкоо сынагы
- 8 -кадам: Жыйынтыктар/Температура CubeSat
Video: Температура CubeSat Ben & Kaiti & Q Hour 1: 8 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Космоско жөнөтүлө турган жана башка планетанын температурасын ала турган нерсени өзүңүз жасоону каалаган учуруңуз болду беле? Биздин орто мектептин физика сабагында, биз иштеп жаткан ардуино менен CubeSat курууну тапшырдык, анда негизги суроо: Марста кантип иштей алабыз? Биз планетанын температурасын өлчөөнү чечтик, анткени марстын ысыктыгын ким билгиси келбейт? Бирок, биз аны жеткиликтүү, бирок бышык нерседен жасашыбыз керек болчу. Ошондуктан, биз Legos колдонгон. Бул CubeSatди бышык кылып, өлчөмдөргө оңой жетүүгө жардам берди, ал тургай, бардык бөлүктөрү кичине эле жагымсыз болсо да! Биздин максат - айлананын температурасын өлчөй ала турган толук иштеген сенсор жана анын айланасында коргоочу CubeSat болушу эле.
1 -кадам: Материалдарды чогултуу/CubeSat эскизин түзүү
Эң биринчи кылгыңыз келген нерсе - CubeSatтин эскизин түзүү. Сиз аны курардан мурун эмнени кургусу келгениңиз жөнүндө түшүнүккө ээ болушуңуз керек. Жогорудагы сүрөттөрдүн бири - биз жасаган CubeSat эскиздери. Андан кийин, материалдарды чогултуу. Биз куруп жаткан CubeSat үчүн Legos колдонобуз. Биз Legosту тандап алдык, анткени аларды чогултуу оңой жана ошол эле учурда алар бышык жана керектүү тапшырмаларды жакшы аткарышат. Ошентип, сизге Legos алуу керек болот. 10 см X 10 см X 10 см болгон бир нече кенен базалык бөлүктөрдү алыңыз, же 10дон 10го чейин бириктире турган бир нече негизги бөлүктөрдү алыңыз. Биздин CubeSat үчүн биз бир нече базалык бөлүктөрдү алып, 10 смден 10 смге чейинки базаны жасоого туура келди. Легосту бирдей өлчөмдөгү чатырды жасоо үчүн алууңуз керек. Ошол Legosту алгандан кийин, CubeSatтин дубалын тургузуу үчүн бир топ кичинекей Legos алышыңыз керек болот. Бул Legosдун өтө арык экенин текшериңиз, андыктан алар CubeSatтин ички бөлүгүн көп ээлебейт.
2 -кадам: Cubesatти куруу
Биринчиден, биз бул 10x10x10 сулуулукту курдук. Бул көп түрдүү дизайнды талап кылган. Адегенде ортосунда текче бар болчу, бирок кийинчерээк аны кереги жок деп чечтик. Эгерде сиз текчени ортосуна коюуну чечсеңиз, анда мен бир гана текчени сунуштайт элем, анткени сиз Arduino менен сенсоруңузду салып, алып салган сайын аны бөлүп алышыңыз керек болот. Биз кичинекей терезелерди коштук, ошондуктан биз үстү жабык болуп турганда ичин тез карасак болот, ошондо биз баары бир калыпта иштеп жатканын көрө алабыз. CubeSatти туруктуу кылуу үчүн, биз түбүнө Legoнун эки катмарын бириктирдик. Канчалык туруктуу болсо, ошончолук жакшы, анткени бул CubeSat ар кандай тоскоолдуктардан аман өтүшү керек.
3 -кадам: Ардуинону зымдоо жана коддоо
Бул долбоордун экинчи кадамы - бул жерде сиз ардуинону зым менен жабышыңыз керек болот. Бул кадам абдан маанилүү, анткени, эгерде бул туура жасалбаса, анда кубдун температурасы окула албайт. Ардуинонун зымдарын бүтүрүү үчүн сизге кээ бир материалдар керек болот. Бул материалдар батарея, arduino, SD карта, секирүүчү зымдар, нан, температура сенсору жана компьютер. Компьютер зымдардын туура иштеп жатканын текшерүү үчүн колдонулат. Бул жерде ардуинону кантип туташтыруу боюнча бизге жетекчилик кылууда абдан пайдалуу болгон вебсайт:
create.arduino.cc/projecthub/TheGadgetBoy/…
Жогорудагы сүрөттөр жана фризинг диаграммасы сизге да жардам бериши мүмкүн. Ардуинонун коддалышы компьютерде текшерилип, анын иштеп жаткандыгын текшерет. Эгерде баары иштеп жатса, анда ардуинону компьютерден алып салууга болот жана барууга даяр.
Код:
// Маалымат зымы Arduino портуна 2 туташтырылган
#аныктоо ONE_WIRE_BUS 2
File sensorData;
// OneWire экземплярын каалаган OneWire түзмөктөрү менен байланышуу үчүн орнотуңуз (Максим/Даллас температурасы ICлери эле эмес)
OneWire oneWire (ONE_WIRE_BUS);
// Бизге керектүү китепканаларды камтыйт
#кошуу
#кошуу
#кошуу
// Биздин OneWire шилтемесин Даллас температурасына өткөрүңүз.
DallasTemperature сенсорлору (& oneWire);
// түзмөктүн дарегин кармоо үчүн массивдер
Термометрдин ичиндеги DeviceAddress;
/*
* Орнотуу функциясы. Бул жерде биз негиздерди жасайбыз
*/
жараксыз орнотуу (жараксыз)
{
pinMode (10, OUTPUT);
SD.begin (4);
// сериялык портту баштоо
Serial.begin (9600);
Serial.println ("Dallas Temperature IC Control Library Demo");
// автобустагы түзмөктөрдү табуу
Serial.print ("Түзмөктөрдү табуу…");
сенсорлор.begin ();
Serial.print ("Табылды");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("түзмөктөр.");
// паразиттердин күчүнө болгон талаптарды билдирүү
Serial.print ("Паразит күчү:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else 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 ("InnerThermometer үчүн дарек табылбай жатат");
// автобустан тапкан даректерибизди көрсөт
Serial.print ("Device 0 Address:");
printAddress (ичиндеги Термометр);
Serial.println ();
// токтомду 9 битке коюңуз (Ар бир Даллас/Максим түзмөгү бир нече ар кандай токтомго жөндөмдүү)
sensors.setResolution (ичиндеги Термометр, 9);
Serial.print ("Device 0 Resolution:");
Serial.print (sensors.getResolution (ичиндеги Термометр), DEC);
Serial.println ();
}
// аппараттын температурасын басып чыгаруу функциясы
жараксыз басып чыгаруу температурасы (DeviceAddress deviceAddress)
{
// ыкма 1 - жайыраак
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // 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 ();
}
}
/*
* Негизги функция. Ал сенсорлордон TemC сурайт жана Сериалда көрсөтөт.
*/
боштук цикл (боштук)
{
// глобалдык температураны чыгаруу үчүн sensors.requestTemperatures () чакырыңыз
// автобустагы бардык түзмөктөргө суроо
Serial.print ("Температуралар талап кылынууда …");
sensors.requestTemperatures (); // Температураны алуу үчүн буйрукту жөнөтүңүз
Serial.println ("ДАЙЫН");
// Бул дээрлик дароо жооп берет. Келгиле, маалыматтарды басып чыгаралы
printTemperature (ичиндеги Термометр); // Дайындарды басып чыгаруу үчүн жөнөкөй функцияны колдонуңуз
}
// аппараттын дарегин басып чыгаруу функциясы
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 -кадам: Swing Test
Бул кадамдын коопсуздугу үчүн көзүңүздү коргоо үчүн көз айнек тагынууну унутпаңыз. Бул кадамда сиз CubeSatти Arduino'yу өз милдетин аткарууга жетиштүү деңгээлде коргой турганын текшерүү үчүн иштетесиз (температураны табуу). Биринчи сыноо - бул чыңалууга муктаж болгон сыноо. Бул сыноодо Arduino айланат (жогорудагы сүрөттө/видеодо көрсөтүлгөндөй)- (кээде видеону жүктөөдө кыйынчылыктар болот). Ортого Марстын модели коюлушу мүмкүн. Бул сыноону ийгиликтүү аяктоо үчүн, Arduino кароосуз келбестен айланып өтүшү керек, ошондуктан аны жакшы байлап алуу керек жана тест бүткөндөн кийин алар Arduino толук иштеши керек. Мына ошондуктан сиз Arduino CubeSatте жакшы корголгонун текшеришиңиз керек.
7-кадам: Тест #2- Чайкоо сынагы
Бул кадамда сиздин CubeSat #2 тесттен өтөт. Бул сыноо чайкоо сыноосу. Бул тестте CubeSat жогорудагы сүрөттө/видеодо көрсөтүлгөндөй кармагычка салынат (кээде видеону жүктөөдө кыйынчылыктар болот) жана 30 секундага чейин артка жана артка чайкалат. Бул сыноодон өтүү үчүн, CubeSat жана Arduino чайкалган соң дагы деле толук иштеши керек.
8 -кадам: Жыйынтыктар/Температура CubeSat
Акыр -аягы, биздин CubeSat ар бир сыноодон өтүп жатканда температураны ийгиликтүү жаза алды. Маалыматтар ар бир тестте 26-30 градус Цельсий боюнча ырааттуу түрдө окулат. Бул Фаренгейт 78-86 градуска барабар. Бирок, жолдо кээ бир көйгөйлөр менен чуркадык. Мисалы, бир нече жолу arduino коддоосу иштебей, Цельсий боюнча 126 градусту окуган. Туура температурага жетүү үчүн бир нече жолу аракет кылынды. Мен бул долбоорду аткарып жаткан кимдир бирөөгө бере турган кеңешим, коддордун жана зымдардын бир нече түрүн сынап көрүү жана сиздин ардуино CubeSat менен тыгыз байланышта болушу керек. Ардуинонун ичине эң сонун шайкеш келгенине ынануу үчүн CubeSat ичиндеги боштукту күчөтүү керек болушу мүмкүн. Бизде arduino CubeSatте өтө бош болуп калганда бир көйгөйгө туш болдук.
Бул долбоордо физика боюнча алган билимиңизди да колдонушуңуз керек болот. Техника, энергия жана күч боюнча физика боюнча билим долбоордун бардык мезгилинде колдонулушу керек. Долбоор бою биз Күн системасы жана CubeSats сыяктуу жаңы технологиялар жөнүндө көбүрөөк билдик. Биз ошондой эле тартылуу күчү жөнүндө билдик жана бул күч CubeSatке кандай таасир этиши мүмкүн. Бул долбоордун эң маанилүү темасы спутниктик кыймыл болду. Биз спутниктин кыймылы жөнүндө ылдамдык, таза күч жана тартылуу күчү менен билдик. Бул бизге спутниктердин снаряддарын табууга жардам берет.
Сиздин CubeSat жана arduino сыноолордон ийгиликтүү өтүп, туура иштесе, сиз бүттүңүз. Сиздин CubeSat Марстын атмосферасында жашай алышы керек. Сенсор тесттер учурунда температураны ийгиликтүү жазып алганын текшериңиз. Сиздин CubeSat космоско чыгууга даяр!
Сунушталууда:
ESP-01 & DHT жана AskSensors Cloud аркылуу температура жана нымдуулукту көзөмөлдөө: 8 кадам
ESP-01 & DHT жана AskSensors Cloud аркылуу температура жана нымдуулукту көзөмөлдөө: Бул нускамада биз IOT-MCU/ESP-01-DHT11 тактасын жана AskSensors IoT платформасын колдонуп, температураны жана нымдуулукту кантип өлчөөнү үйрөнөбүз. Мен бул колдонмо үчүн IOT-MCU ESP-01-DHT11 модулун тандап жатам, анткени ал
Мониторинг Температура I Вологости Та Дистанційне Керування Навантаженням За Допомогою Nrf24l01: 9 Steps
Мониторинг Температурасы I Вологости Та Дистанційне Керування Навантаженням За Допомогою Nrf24l01: При розобці электроонних пристроїв нерідко виникає потреба в передачі будь-яких даних на деяку відстань. Мисал термодатчик, розташований на вулици, повиненовать значення температура до центрального пристрою, а датчик руху - виддвати коман
DHT12 (i2c арзан нымдуулук жана температура сенсору), Fast Easy Use: 14 Steps
DHT12 (i2c Нымдуулук жана Температура Сенсору), Тез Оңой Колдонуу: Сиз жаңыртууларды жана башкаларды менин сайтымдан таба аласыз https://www.mischianti.org/2019/01/01/dht12-library-en/. 2 зым менен колдонсо болот (i2c протоколу), бирок мен арзанын жакшы көрөм, бул DHT12 сериясындагы Arduino жана esp8266 китепканасы
Esp32 Температура жана Нымдуулук Web Server PYTHON & Zerynth IDE колдонуп: 3 кадам
PYTHON & Zerynth IDE аркылуу Esp32 Температура жана Нымдуулук Желе Сервери: Esp32-бул укмуштуудай микроконтроллер, ал Arduino сыяктуу күчтүү, бирок андан да жакшыраак! Wifi байланышы бар, IOT долбоорлорун арзан жана оңой иштеп чыгууга мүмкүнчүлүк берет. түзмөктөр капалантат, биринчиден ал туруктуу эмес, Secon
YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролери, ESP8266: 4 Steps
YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролору, ESP8266: Саламатсыздарбы, мен жакында эле үйдө козу карындарды өстүрө баштадым, устрицалар, бирок менде бул контроллердин үчтөн бир бөлүгү бар. ал дагы ушул Kombucha нерсени жасап жатат жана жылуулук үчүн термостат катары