Բովանդակություն:

Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q 1ամ 1: 8 քայլ
Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q 1ամ 1: 8 քայլ

Video: Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q 1ամ 1: 8 քայլ

Video: Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q 1ամ 1: 8 քայլ
Video: Քայլարշավ DDS238-2 Հզոր Zigbee DIN Rail էներգիայի մոնիտորինգի ռելե, տնային օգնականի ինտեգրում 2024, Նոյեմբեր
Anonim
Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q Hour 1
Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q Hour 1
Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q Hour 1
Peratերմաստիճանի խորանարդիկ Sat Ben & Kaiti & Q Hour 1

Երբևէ ցանկացե՞լ եք ինքներդ պատրաստել այնպիսի բան, որը կարող է ուղարկվել տիեզերք և չափել մեկ այլ մոլորակի ջերմաստիճանը: Մեր ավագ դպրոցի ֆիզիկայի դասին մեզ հանձնարարվեց կառուցել CubeSat գործառական արդուինոյով, որի հիմնական հարցն էր. Մենք որոշեցինք, որ այն չափի ջերմաստիճանը մոլորակի վրա, քանի որ ո՞վ չի ցանկանա իմանալ, թե որքան տաք է Մարսը: Այնուամենայնիվ, մենք կարիք ունեինք այն դարձնել մատչելի, բայց նաև տևական ինչ -որ բանից: Հետեւաբար, մենք օգտագործեցինք Legos- ը: Սա CubeSat- ին դարձրեց դիմացկուն և օգնեց մեզ հեշտությամբ հասնել չափսերի չափերին, նույնիսկ եթե բոլոր կտորները մի փոքր ձանձրացնող լինեն: Մեր նպատակն էր ունենալ լիարժեք գործող սենսոր, որը կարող է չափել շրջակա տարածքի ջերմաստիճանը և դրա շուրջը պաշտպանական CubeSat- ը:

Քայլ 1. Նյութերի հավաքում/CubeSat- ի ուրվագծում

Նյութերի հավաքում/CubeSat- ի ուրվագծում
Նյութերի հավաքում/CubeSat- ի ուրվագծում
Նյութերի հավաքում/CubeSat- ի ուրվագծում
Նյութերի հավաքում/CubeSat- ի ուրվագծում

Առաջին բանը, որ դուք կցանկանաք անել, CubeSat- ի ուրվագիծն է: Նախքան այն կառուցելը, ձեզ հարկավոր կլինի պատկերացում ունենալ, թե ինչ եք ուզում կառուցել: Վերոնշյալ նկարներից մեկը մեր պատրաստած CubeSat էսքիզներն են: Հաջորդը, հավաքեք ձեր նյութերը: CubeSat- ի համար, որը մենք կառուցում ենք, մենք օգտագործում ենք Legos- ը: Մենք ընտրեցինք Լեգոները, քանի որ դրանք հեշտ է հավաքել և համատեղել, և միևնույն ժամանակ դրանք դիմացկուն են և լավ կկատարեն պահանջվող խնդիրները: Այսպիսով, դուք պետք է որոշ լեգոներ ձեռք բերեք: ձեռք բերեք զույգ լայն բազայի կտորներ, որոնք կազմում են 10 սմ X 10 սմ X 10 սմ, կամ մի քանի բազային կտորներ, որոնք կարող են համակցվել 10 -ից 10 կտորի հետ: Մեր CubeSat- ի համար մենք պետք է բազային բազային կտորներ ստանայինք և դրանք միասին դնեինք ՝ 10 սմ 10 սմ հիմք պատրաստելու համար: Դուք նաև պետք է ձեռք բերեք Legos ՝ նույն չափի տանիքի կտոր պատրաստելու համար: Այդ Լեգոները ձեռք բերելուց հետո ձեզ հարկավոր կլինի մի տոննա փոքրիկ Լեգո ձեռք բերել ՝ CubeSat- ի պատերը կառուցելու համար: Համոզվեք, որ այս Legos- ն բավականին նիհար են, այնպես որ դրանք շատ չեն զբաղեցնում CubeSat- ի ներքին հարդարանքը:

Քայլ 2. Կառուցեք Cubesat- ը

Կառուցել Cubesat- ը
Կառուցել Cubesat- ը
Կառուցել Cubesat- ը
Կառուցել Cubesat- ը
Կառուցել Cubesat- ը
Կառուցել Cubesat- ը

Նախ, մենք կառուցեցինք այս 10x10x10 գեղեցկությունը: Այն տևեց շատ տարբեր ձևավորում: Սկզբում մենք դարակ ունեինք մեջտեղում, բայց հետագայում որոշեցինք, որ այն ավելորդ է: Եթե դուք ընտրում եք դարակ ունենալ մեջտեղում, ես խորհուրդ կտայի միայն մեկ դարակ, քանի որ դուք ստիպված կլինեք այն առանձնացնել ամեն անգամ, երբ դնում և հանում եք ձեր Arduino- ն և սենսորը: Մենք ավելացրել ենք փոքր պատուհաններ, որպեսզի մենք կարողանանք արագ նայել ներսում, մինչ գագաթը փակ է, որպեսզի տեսնենք, որ ամեն ինչ սահուն է աշխատում: CubeSat- ն ավելի կայուն դարձնելու համար մենք ներքևում հավաքում ենք Lego- ի երկու շերտ: Որքան կայուն լինի, այնքան լավ, քանի որ այս CubeSat- ը պետք է կարողանա գոյատևել տարբեր խոչընդոտներից:

Քայլ 3. Arduino- ի միացում և կոդավորում

Arduino- ի միացում և կոդավորում
Arduino- ի միացում և կոդավորում
Arduino- ի միացում և կոդավորում
Arduino- ի միացում և կոդավորում
Arduino- ի միացում և կոդավորում
Arduino- ի միացում և կոդավորում

Այս նախագծի երկրորդ քայլն այն է, որտեղ դուք պետք է միացնեք արդուինոն: Այս քայլը շատ կարևոր է, քանի որ, եթե դա ճիշտ չկատարվի, ապա խորանարդը չի կարողանա կարդալ ջերմաստիճանը: Արդուինոյի էլեկտրագծերը ավարտելու համար ձեզ հարկավոր են որոշ նյութեր: Այս նյութերն են մարտկոցը, arduino- ն, SD քարտը, jumper լարերը, տախտակը, ջերմաստիճանի տվիչը և համակարգիչը: Համակարգիչը կօգտագործվի `պարզելու համար, արդյոք էլեկտրագծերը ճիշտ են աշխատում: Ահա մի կայք, որը շատ օգտակար էր մեզ ուղղորդելու համար, թե ինչպես միացնել arduino- ն.

create.arduino.cc/projecthub/TheGadgetBoy/…

Վերևի նկարներն ու ցնցող դիագրամը նույնպես կարող են օգնել ձեզ: Արդուինոյի կոդավորումը նույնպես կփորձարկվի համակարգչի վրա `տեսնելու, թե արդյոք այն աշխատում է: Եթե ամեն ինչ աշխատում է, ապա arduino- ն կարելի է հանել համակարգչից և պատրաստ է գնալ:

Կոդ:

// Տվյալների հաղորդալարը միացված է Arduino- ի 2 -րդ պորտին

#սահմանեք ONE_WIRE_BUS 2

Ֆայլի սենսոր Տվյալներ;

// Ստեղծեք մեկWire օրինակ ՝ ցանկացած OneWire սարքի հետ հաղորդակցվելու համար (ոչ միայն Maxim/Dallas ջերմաստիճանի IC)

OneWire oneWire (ONE_WIRE_BUS);

// Ներառեք մեզ անհրաժեշտ գրադարանները

#ներառում

#ներառում

#ներառում

// Անցեք մեր OneWire հղումը Դալասի ջերմաստիճանին:

DallasTemperature տվիչներ (& oneWire);

// զանգվածներ ՝ սարքի հասցեն պահելու համար

Device Հասցե ներսում herերմաչափ;

/*

* Կարգավորման գործառույթ: Այստեղ մենք անում ենք հիմունքները

*/

դատարկ կարգավորում (դատարկ)

{

pinMode (10, OUTPUT);

SD. սկիզբ (4);

// սկսել սերիական նավահանգիստ

Serial.begin (9600);

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

// տեղադրեք սարքերը ավտոբուսում

Serial.print («Սարքեր տեղադրելը …»);

տվիչներ. սկսել ();

Serial.print («Գտնվել է»);

Serial.print (sensors.getDeviceCount (), DEC);

Serial.println («սարքեր»);

// զեկուցել մակաբույծի էներգիայի պահանջների մասին

Serial.print ("Parasite power is:");

եթե (sensors.isParasitePowerMode ()) Serial.println ("ON");

այլապես 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: որոնում ()

// որոնումը () փնտրում է հաջորդ սարքը: Վերադարձնում է 1 -ը, եթե նոր հասցե է եղել

// վերադարձավ: Zeroրոյը կարող է նշանակել, որ ավտոբուսը կարճ է, սարքեր չկան, // կամ դուք արդեն վերցրել եք դրանք բոլորը: Դա կարող է լավ գաղափար լինել

// ստուգեք CRC- ն `համոզվելու համար, որ աղբ չեք ստացել: Պատվերն է

// դետերմինիստական: Դուք միշտ կստանաք նույն սարքերը նույն կարգով

//

// Պետք է զանգահարել որոնումից առաջ ()

//oneWire.reset_search ();

// հայտնաբերված առաջին հասցեն վերագրում է insideThermometer- ին

// if (! oneWire.search (insideThermometer)) Serial.println ("Անհնար է գտնել ներսում ջերմաչափի հասցե");

// ցույց տվեք ավտոբուսում գտած հասցեները

Serial.print ("Սարքի 0 հասցե` ");

printAddress (ներսում herերմաչափ);

Serial.println ();

// սահմանեք լուծաչափը 9 բիթ (յուրաքանչյուր Dallas/Maxim սարք ունակ է մի քանի տարբեր լուծումների)

sensors.setResolution (ներսում herերմաչափ, 9);

Serial.print ("Սարքի 0 լուծում.");

Serial.print (sensors.getResolution (ներսում ջերմաչափ), DEC);

Serial.println ();

}

// սարքի ջերմաստիճանը տպելու գործառույթ

void printTemperature (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);

եթե (sensorData) {

Serial.print ("Temp C:");

Serial.print (tempC);

Serial.print ("Temp F:");

Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Փոխարկում է tempC- ը Ֆարենհայտ

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Հիմնական գործառույթը: Այն կպահանջի tempC սենսորներից և կցուցադրվի Սերիալում:

*/

դատարկ շրջան (դատարկ)

{

// զանգահարեք sensors.requestTemperatures () ՝ գլոբալ ջերմաստիճան թողարկելու համար

// հարցում ավտոբուսի բոլոր սարքերին

Serial.print («Պահանջվում է ջերմաստիճան…»);

տվիչներ. խնդրում ենք ջերմաստիճաններ (); // Sendերմաստիճան ստանալու հրաման ուղարկեք

Serial.println («ԿԱՏԱՐՎԱ Է»);

// Այն արձագանքում է գրեթե անմիջապես: Եկեք տպենք տվյալները

printTemperature (ներսում ջերմաչափ); // Տվյալները տպելու համար օգտագործեք պարզ գործառույթ

}

// սարքի հասցեն տպելու գործառույթ

void printAddress (DeviceAddress deviceAddress)

{

համար (uint8_t i = 0; i <8; i ++)

{

if (deviceAddress <16) Serial.print ("0");

Serial.print (deviceAddress , HEX);

}

}

ReplyForward

Քայլ 4: Խորանարդի վրայով ստուգում

Խորանարդի վրայով ստուգում
Խորանարդի վրայով ստուգում
Խորանարդի վրայով ստուգում
Խորանարդի վրայով ստուգում

Այժմ, երբ Arduino- ի CubeSat- ը, ծածկագիրը և էլեկտրագծերը ավարտված են, շուտով թեստեր կանցկացնեք: Եթե այս թեստերը ձախողվեն, ձեր CubeSat- ը կարող է ամբողջությամբ ոչնչացվել ՝ ձեր Arduino- ի հետ միասին: Հետևաբար, դուք կցանկանաք համոզվել, որ ձեր Arduino- ն պատրաստ է դրան: Հենց այստեղ է, որ գալիս է խաղալու այս քայլը ՝ ստուգելով CubeSat- ը: Նախ, դուք պետք է ձեր Arduino- ն ապահով տեղադրեք CubeSat- ի ներսում և համոզվեք, որ այն չի պտտվի: Այնուհետև, դուք պետք է համոզվեք, որ CubeSat- ի բոլոր կտորները ապահով տեղում են: Չի կարող լինել չամրացված կտորներ, հակառակ դեպքում CubeSat- ը թեստերի ընթացքում ավելի հավանական է, որ բաժանվի: Եթե դուք հաստատապես ստուգում եք ձեր CubeSat- ը, ապա այն թեստերը, որոնց միջով անցնում է, պետք է հեշտությամբ անցնեն:

Քայլ 5: Կողպեք CubeSat- ը

Stringing Up the CubeSat
Stringing Up the CubeSat

Այս քայլը կլինի նախապատրաստումը CubeSat- ի առաջին փորձարկման համար: Փորձարկման ժամանակ CubeSat- ը 30 վայրկյան արագ տեմպերով պտտվելու է շրջագծով: Դուք պետք է համոզվեք, որ CubeSat- ը սերտորեն ամրացված է, որպեսզի այն չթռչի: Մենք 2 տող ամբողջովին կապեցինք CubeSat- ի շուրջը և ամուր կապեցինք: Հետո, մենք ավելացրեցինք ևս մեկ երկար լար, որը կապված էր առաջին երկուսի շուրջը: Մենք մի քանի անգամ կապեցինք այս տողը վերևում և ներքևում, որպեսզի այն հնարավորինս ապահովված լինի: Սա կարող է տևել մի քանի փորձ, քանի որ ցանկանում եք լարն անթերի դարձնել, որպեսզի թռիչքի ընթացքում այն չկտրվի:

Քայլ 6: Շարժման թեստ

Ingոճվող թեստ
Ingոճվող թեստ

Այս քայլում անվտանգության համար համոզվեք, որ ձեր աչքերը պաշտպանելու համար կրեք ակնոցներ: Այս քայլում դուք CubeSat- ը գործարկելու եք թեստի միջոցով `տեսնելու, արդյոք այն բավականաչափ լավ է պաշտպանում 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 աստիճան Celsius յուրաքանչյուր փորձարկման ժամանակ: Սա նույնն է, ինչ 78-86 աստիճան Ֆարենհայտ: Այնուամենայնիվ, ճանապարհին հանդիպեցինք որոշ խնդիրների: Օրինակ, մի քանի անգամ arduino- ի կոդավորումը չաշխատեց և կարդաց 126 աստիճան Celsius: Multipleիշտ ջերմաստիճանի հասնելու համար անհրաժեշտ էին բազմաթիվ փորձեր: Որոշ խորհուրդներ, որոնք ես կցուցաբերեի այս նախագիծն իրականացնողին, կլիներ փորձել կոդի և էլեկտրագծերի բազմաթիվ տատանումներ և համոզվել, որ ձեր arduino- ն սերտորեն տեղավորվում է CubeSat- ում: Հնարավոր է, ձեզ անհրաժեշտ լինի խստացնել CubeSat- ի ներսում եղած բացը `համոզվելու համար, որ arduino- ն հիանալի տեղավորվում է ներսում: Մենք որոշակի խնդիր ունեինք, որ arduino- ն չափազանց ազատ էր CubeSat- ում:

Այս նախագծում ձեզ հարկավոր կլինի կիրառել նաև ֆիզիկայի ձեր գիտելիքները: Technologyրագրի ընթացքում անհրաժեշտ կլինի կիրառել տեխնոլոգիայի, էներգիայի և ուժի ֆիզիկական գիտելիքներ: Նախագծի ընթացքում մենք ավելին իմացանք արեգակնային համակարգի և CubeSats- ի նման նոր տեխնոլոգիաների մասին: Մենք նաև իմացանք գրավիտացիոն ուժի և այն մասին, թե ինչպես կարող է այդ ուժը ազդել CubeSat- ի վրա: Այս նախագծի շատ կարևոր թեման արբանյակային շարժումն էր: Արբանյակի շարժման մասին մենք սովորեցինք արագության, զուտ ուժի և ձգողության միջոցով: Սա կօգնի մեզ գտնել արբանյակների արկերը:

Երբ ձեր CubeSat- ը և arduino- ն հաջողությամբ անցնեն թեստերը և ճիշտ աշխատեն, դուք ավարտված եք: Ձեր CubeSat- ը պետք է կարողանա գոյատևել Մարսի մթնոլորտում: Համոզվեք, որ սենսորը հաջողությամբ գրանցել է ջերմաստիճանը նաև թեստերի ընթացքում: Ձեր CubeSat- ը պատրաստ է տիեզերք մեկնել:

Խորհուրդ ենք տալիս: