Sisällysluettelo:
- Vaihe 1: Materiaalien kerääminen/CubeSatin luonnostelu
- Vaihe 2: Cubesatin rakentaminen
- Vaihe 3: Arduinon kytkentä ja koodaus
- Vaihe 4: Cubesatin tarkistaminen
- Vaihe 5: CubeSatin lisääminen
- Vaihe 6: Swing -testi
- Vaihe 7: Testi #2- ravistustesti
- Vaihe 8: Tulokset/Valmis lämpötila CubeSat
Video: Lämpötila CubeSat Ben & Kaiti & Q Tunti 1: 8 askelta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Oletko koskaan halunnut tehdä itse jotain, joka voidaan lähettää avaruuteen ja mitata toisen planeetan lämpötila? Lukion fysiikan luokalla meidät määrättiin rakentamaan CubeSat, jossa on toimiva arduino, ja pääkysymys Kuinka voimme saada tämän toimimaan Marsissa? Päätimme, että se mittaa planeetan lämpötilan, koska kuka ei haluaisi tietää kuinka kuuma mars on? Meidän oli kuitenkin tehtävä siitä jotain edullista, mutta myös kestävää. Siksi käytimme Legoja. Tämä teki CubeSatista kestävän ja auttoi meitä saavuttamaan mitoituksen melko helposti-vaikka kaikki palat olisivatkin hieman ärsyttäviä! Tavoitteenamme oli saada täysin toimiva anturi, joka voi mitata ympäröivän alueen lämpötilan, ja suojaava CubeSat sen ympärillä.
Vaihe 1: Materiaalien kerääminen/CubeSatin luonnostelu
Ensimmäinen asia, jonka aiot tehdä, on piirtää CubeSat. Ennen kuin rakennat sen, sinulla on oltava käsitys siitä, mitä haluat rakentaa. Yksi yllä olevista kuvista on tekemistämme CubeSat -luonnoksista. Kerää seuraavaksi materiaalit. Rakennettavalle CubeSatille käytämme Legoja. Valitsimme Legot, koska ne on helppo koota ja koota, ja samalla ne ovat kestäviä ja suorittavat vaaditut tehtävät hyvin. Joten sinun on hankittava legoja. hanki pari leveää pohjaosaa, jotka ovat 10 cm x 10 cm x 10 cm, tai muutamia pohjakappaleita, jotka voidaan koota 10 x 10 kappaleeksi. CubeSatia varten meidän piti saada useita pohjakappaleita ja laittaa ne yhteen 10 x 10 cm: n pohjan tekemiseksi. Sinun on myös hankittava Legoja, jotta voit tehdä saman kokoisen kattokappaleen. Kun olet hankkinut nämä Legot, sinun on hankittava paljon pieniä Legoja CubeSatin seinien rakentamiseksi. Varmista, että nämä Legot ovat melko laihat, joten ne eivät vie liikaa CubeSatin sisätilaa.
Vaihe 2: Cubesatin rakentaminen
Ensin rakensimme tämän 10x10x10 -kauneuden. Se vei paljon erilaisia malleja. Ensin meillä oli hylly keskellä, mutta myöhemmin päätimme, että se oli tarpeetonta. Jos valitset hyllyn keskelle, suosittelen vain yhtä hyllyä, koska se on purettava joka kerta, kun asetat ja otat Arduinon ja anturin pois. Lisäsimme pieniä ikkunoita, jotta voimme katsoa nopeasti sisälle, kun yläosa on suljettu, jotta voimme nähdä kaiken toimivan sujuvasti. Jotta CubeSat olisi vakaampi, laitamme kaksi kerrosta Legoa alareunaan. Mitä vakaampi, sitä parempi, koska tämän CubeSatin on kestettävä monia erilaisia esteitä.
Vaihe 3: Arduinon kytkentä ja koodaus
Tämän projektin toinen vaihe on, kun johdot arduinon. Tämä vaihe on erittäin tärkeä, koska jos tätä ei tehdä oikein, kuutio ei pysty lukemaan lämpötilaa. Arduinon johdotuksen loppuun saattamiseksi tarvitset joitain materiaaleja. Näitä materiaaleja ovat akku, arduino, SD -kortti, hyppyjohdot, leipälauta, lämpötila -anturi ja tietokone. Tietokonetta käytetään tarkistamaan, toimiiko johdotus oikein. Tässä on verkkosivusto, joka oli erittäin hyödyllinen opastettaessa meitä arduinon johtamisessa:
create.arduino.cc/projecthub/TheGadgetBoy/…
Yllä olevat kuvat ja karkeuskaavio voivat myös auttaa sinua. Arduino -koodausta testataan myös tietokoneella, jotta näet, toimiiko se. Jos kaikki toimii, arduino voidaan ottaa pois tietokoneesta ja se on käyttövalmis.
Koodi:
// Tietojohto on kytketty Arduinon porttiin 2
#define ONE_WIRE_BUS 2
TiedostoanturiTiedot;
// Asenna oneWire -ilmentymä kommunikoimaan minkä tahansa OneWire -laitteen kanssa (ei vain Maxim/Dallas -lämpötila -IC: t)
OneWire oneWire (ONE_WIRE_BUS);
// Sisällytä tarvitsemamme kirjastot
#sisältää
#sisältää
#sisältää
// Välitä oneWire -viittauksemme Dallasin lämpötilaan.
DallasLämpötila -anturit (& oneWire);
// taulukot laitteen osoitteen säilyttämiseksi
DeviceAddress insideThermometer;
/*
* Asetustoiminto. Tässä me teemme perusasiat
*/
mitätön asennus (mitätön)
{
pinMode (10, LÄHTÖ);
SD.alku (4);
// sarjaportin aloittaminen
Sarja.alku (9600);
Serial.println ("Dallas Temperature IC Control Library Demo");
// laitteiden paikantaminen väylältä
Serial.print ("Laitteiden sijainti …");
anturit.begin ();
Serial.print ("Löytynyt");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("laitteet");
// raportoi loisten tehovaatimukset
Serial.print ("Parasite power is:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("POIS");
/*Määritä osoite manuaalisesti. Alla olevat osoitteet muutetaan
kelvollisiin laiteosoitteisiin bussissasi. Laitteen osoite voidaan hakea
käyttämällä joko oneWire.searchia (deviceAddress) tai yksittäin
sensors.getAddress (deviceAddress, index) Huomaa, että sinun on käytettävä tässä omaa osoitettasi
insideThermometer = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Menetelmä 1:
Etsi laitteita väylältä ja määritä hakemiston perusteella. Ihannetapauksessa
teet tämän löytääksesi aluksi osoitteet bussista ja sitten
käytä niitä osoitteita ja määritä ne manuaalisesti (katso yllä), kun tiedät
väylän laitteet (ja olettaen, että ne eivät muutu).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Laitteen 0 osoitetta ei löydy");
// menetelmä 2: haku ()
// search () etsii seuraavaa laitetta. Palauttaa 1, jos uusi osoite on
// palasi. Nolla voi tarkoittaa, että väylä on oikosulussa, laitteita ei ole, // tai olet jo hakenut ne kaikki. Se voi olla hyvä idea
// tarkista CRC ja varmista, ettet saanut roskia. Tilaus on
// deterministinen. Saat aina samat laitteet samassa järjestyksessä
//
// On soitettava ennen hakua ()
//oneWire.reset_search ();
// määrittää ensimmäisen löydetyn osoitteen sisälle lämpömittarille
// if (! oneWire.search (insideThermometer)) Serial.println ("Sisälämpötilamittarin osoitetta ei löydy");
// näytä osoitteet, jotka löysimme bussista
Serial.print ("Laitteen 0 osoite:");
printAddress (insideThermometer);
Sarja.println ();
// aseta resoluutio 9 bittiin (jokainen Dallas/Maxim -laite pystyy useisiin eri resoluutioihin)
sensors.setResolution (sisälläTermometri, 9);
Serial.print ("Laite 0 -tarkkuus:");
Serial.print (sensors.getResolution (insideThermometer), DEC);
Sarja.println ();
}
// -toiminto laitteen lämpötilan tulostamiseen
void printTemperature (DeviceAddress deviceAddress)
{
// menetelmä 1 - hitaampi
//Sarja.juliste ("Temp C: ");
//Seriaalinen tulostus (sensorit.getTempC (laitteen osoite));
//Sarja.print ("Lämpötila F:");
//Seriaalituloste (sensorit.getTempF (laiteosoite)); // Soittaa toisen puhelun getTempC: lle ja muuntaa sen jälkeen Fahrenheitiksi
// menetelmä 2 - nopeampi
float tempC = sensor.getTempC (deviceAddress);
jos (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Virhe: Lämpötilatietoja ei voitu lukea");
palata;
}
sensorData = SD.open ("log.txt", FILE_WRITE);
if (sensorData) {
Serial.print ("Lämpötila C:");
Serial.print (tempC);
Serial.print ("Lämpötila F:");
Serial.println (DallasLämpötila:: toFahrenheit (tempC)); // Muuntaa tempC Fahrenheitiksi
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Päätoiminto. Se pyytää tempC: tä antureilta ja näyttää sarjassa.
*/
tyhjä silmukka (tyhjä)
{
// soita sensor.requestTemperatures () antaaksesi maailmanlaajuisen lämpötilan
// pyyntö kaikille väylän laitteille
Serial.print ("Pyydetään lämpötiloja…");
sensors.requestTemperatures (); // Lähetä komento saadaksesi lämpötilat
Serial.println ("VALMIS");
// Se vastaa melkein heti. Tulostetaan tiedot
printTemperature (sisälämpötilamittari); // Tulosta tiedot yksinkertaisella toiminnolla
}
// toiminto laitteen osoitteen tulostamiseen
void printAddress (DeviceAddress deviceAddress)
{
(uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
VastaaEteenpäin
Vaihe 4: Cubesatin tarkistaminen
Nyt kun Arduinon CubeSat, koodi ja johdotus on valmis, suoritat testejä pian. Jos nämä testit epäonnistuvat, CubeSat ja Arduino voivat mahdollisesti tuhoutua kokonaan. Siksi sinun on varmistettava, että Arduino on valmis tähän. Tässä vaiheessa tämä vaihe tulee pelaamaan tarkistamalla CubeSatin. Ensinnäkin sinun on asetettava Arduino turvallisesti CubeSatin sisään ja varmistettava, että se ei heiluta. Sitten sinun on varmistettava, että kaikki CubeSatin osat ovat kunnolla paikallaan. Löysiä osia ei voi olla, tai CubeSat hajoaa todennäköisemmin testien aikana. Jos tarkistat CubeSat -laitteesi tiukasti, sen läpäisemät testit on läpäistävä helposti.
Vaihe 5: CubeSatin lisääminen
Tämä vaihe valmistelee CubeSatin ensimmäistä testiä. Testissä CubeSat -laitetta heilutetaan nopeasti ympyrässä 30 sekunnin ajan. Sinun on varmistettava, että CubeSat on kiristetty tiukasti ylös, jotta se ei pääse lentämään. Sidoimme 2 narua kokonaan CubeSatin ympärille ja sidomme ne tiukasti. Sitten lisäsimme toisen pitkän merkkijonon, joka sidottiin kahden ensimmäisen ympärille. Solmimme tämän merkkijonon useita kertoja ylä- ja alareunassa, jotta se olisi mahdollisimman suojattu. Tämä voi viedä useita yrityksiä, koska haluat tehdä merkkijonosta täydellisen, jotta se ei irtoa lennon aikana.
Vaihe 6: Swing -testi
Turvallisuuden vuoksi tässä vaiheessa muista käyttää suojalaseja silmiesi suojaamiseksi. Tässä vaiheessa suoritat CubeSatin testin läpi nähdäksesi, suojaako se Arduinoa riittävän hyvin, jotta se voi suorittaa tehtävänsä (löytää lämpötila). Ensimmäinen testi on se, joka tarvitsee merkkijonon. Tässä testissä Arduino kääntyy ympäri (kuten yllä olevassa kuvassa/videossa näkyy)- (joskus videolla on vaikeuksia ladata). Marsin malli voidaan sijoittaa keskelle. Tämän testin suorittamiseksi menestyksekkäästi Arduinon on oltava heilunut ympäri tulematta irrallaan, minkä vuoksi se on kiristettävä hyvin, ja Arduinon on oltava täysin toiminnassa testin päätyttyä. Siksi sinun on varmistettava, että Arduino on suojattu hyvin CubeSatissa.
Vaihe 7: Testi #2- ravistustesti
Tässä vaiheessa CubeSat käy läpi testin nro 2. Tämä testi on ravistustesti. Tässä testissä CubeSat asetetaan pidikkeeseen kuvan/videon mukaisesti (joskus videolla on ongelmia lataamisessa) yllä ja ravistellaan voimakkaasti edestakaisin 30 sekunnin ajan. Tämän testin läpäisemiseksi CubeSatin ja Arduinon on oltava edelleen täysin toiminnassa ravistamisen jälkeen.
Vaihe 8: Tulokset/Valmis lämpötila CubeSat
Lopulta CubeSat pystyi tallentamaan lämpötilan onnistuneesti jokaisen testin aikana. Tiedot näyttävät jatkuvasti 26-30 astetta jokaisessa testissä. Tämä on sama kuin 78-86 astetta Fahrenheit. Matkalla törmäsimme kuitenkin joihinkin ongelmiin. Esimerkiksi arduinon koodaus ei toiminut useita kertoja, ja se luki 126 celsiusastetta. Oikean lämpötilan saavuttaminen kesti useita yrityksiä. Jotkut neuvot, jotka antaisin kaikille tätä projektia tekeville, olisi kokeilla useita koodin ja johdotuksen muunnelmia ja varmistaa, että arduino sopii tiiviisti CubeSatiin. Sinun on ehkä kiristettävä CubeSatin sisällä olevaa rakoa varmistaaksesi, että arduino sopii täydellisesti sisään. Meillä oli joitain ongelmia, kun arduino oli liian löysä CubeSatissa.
Tässä projektissa sinun on myös sovellettava fysiikan tietämystäsi. Fysiikan tietämystä tekniikasta, energiasta ja voimasta on sovellettava koko projektin ajan. Projektin aikana opimme lisää aurinkokunnasta ja uusista tekniikoista, kuten CubeSats. Opimme myös painovoimasta ja siitä, miten tämä voima voi vaikuttaa CubeSatiin. Yksi erittäin tärkeä aihe tässä projektissa oli satelliittiliike. Opimme satelliitin liikkeestä käyttämällä nopeutta, nettovoimaa ja painovoimaa. Tämä auttaisi meitä löytämään satelliittien ammuksia.
Kun CubeSat ja arduino ovat läpäisseet testit ja toimivat oikein, olet valmis. CubeSatisi pitäisi pystyä selviytymään Marsin ilmakehästä. Varmista, että anturi tallensi lämpötilan onnistuneesti myös koko testin ajan. CubeSat on valmis lähtemään avaruuteen!
Suositeltava:
Huoneen lämpötila Internetin kautta BLYNK ESP8266 & DHT11: 5 vaihetta (kuvilla)
Huonelämpötila Internetin välityksellä BLYNK ESP8266 & DHT11: Hei kaverit, tänään teemme huonelämpötilamittarin, jonka avulla voimme valvoa huoneitamme kaikkialta maailmasta ja käyttää tätä varten BLYNK IoT -levymuotoa ja käytämme DHT11 huonelämpötilan lukemiseen, käytämme ESP8266: a
Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: 6 askelta
Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: n kanssa: Kuulostaa mielenkiintoiselta. Se on täysin mahdollista tänä aikana, kun me kaikki olemme siirtymässä IoT -sukupolveen. Elektroniikkafriikina olemme leikkineet Raspberry Pi: n kanssa ja päätimme tehdä mielenkiintoisia projekteja tämän tiedon avulla. Tässä projektissa aiomme
ESP32 -pohjainen M5Stack M5stick C -säämonitori, jossa DHT11 - M5stick-C: n lämpötila- ja kosteusindeksin seuranta DHT11: 6 askelta
ESP32 -pohjainen M5Stack M5stick C -säämonitori, jossa DHT11 | M5stick-C: n lämpötilan kosteus- ja lämpöindeksin seuranta DHT11: llä: Hei kaverit, tässä ohjeessa opimme liittämään DHT11-lämpötila-anturin m5stick-C: hen (m5stackin kehityskortti) ja näyttämään sen m5stick-C: n näytöllä. Joten tässä opetusohjelmassa luemme lämpötilan, kosteuden ja amp; lämmitän
WiFi LED -nauha + lämpötila -anturi ESP8266: 6 askelta
WiFi -LED -nauha + lämpötila -anturi ESP8266: llä: Tässä opetusohjelmassa kuvataan vaiheet ESP8266: n asettamiseksi ja sen saamiseksi puhumaan sekä lämpötila -anturille että LED -nauhalle, samalla kun se voi myös vastaanottaa tuloja ja lähettää lähtöä MQTT: n kautta WiFi: n kautta. Hanke tehtiin Cal Poly Sanissa järjestetylle kurssille
IoT -lämpötila -anturi ESP8266: 6 askelta (kuvilla)
IoT -lämpötila -anturi ESP8266: lla: Minua inspiroi luomaan lämpötila -anturin, jota voin seurata wifi -yhteyden kautta. Tämä projekti ei ole uusi, mutta pidän ajatuksesta, että sillä on välikerros turvallisuuden vuoksi eikä tarvitse avata reitittimen porttia IoT -laitteellesi. Perusidea antaa