Përmbajtje:

Mini Stacioni i motit me Attiny85: 6 hapa (me fotografi)
Mini Stacioni i motit me Attiny85: 6 hapa (me fotografi)

Video: Mini Stacioni i motit me Attiny85: 6 hapa (me fotografi)

Video: Mini Stacioni i motit me Attiny85: 6 hapa (me fotografi)
Video: MEDA - 5 MINUTA ME MI DHANE (OFFICIAL SONG) 2024, Nëntor
Anonim
Mini Stacioni i Motit Me Attiny85
Mini Stacioni i Motit Me Attiny85
Mini Stacioni i Motit Me Attiny85
Mini Stacioni i Motit Me Attiny85
Mini Stacioni i Motit Me Attiny85
Mini Stacioni i Motit Me Attiny85

Në një Indigod0g të fundit të udhëzuar, të përshkruar një mini stacion moti që punon mjaft mirë, duke përdorur dy Arduinos. Ndoshta jo të gjithë duan të sakrifikojnë 2 Arduinos për të marrë lagështinë dhe leximet e temperaturës dhe unë komentova se duhet të jetë e mundur të bëhet një funksion i ngjashëm me dy Attiny85. Unë mendoj se biseda është e lehtë, kështu që më mirë vendos paratë e mia atje ku jam goja.

Në fakt, nëse kombinoj dy udhëzime të mëparshme kam shkruar:

Ndërfaqe LCD 2-Wire për Arduino ose Attiny dheMerrja dhe dërgimi i të dhënave midis Attiny85 (Arduino IDE 1.06) atëherë shumica e punës është bërë tashmë. Thjesht duhet të përshtatni pak softuerin.

Zgjodha për një zgjidhje LCD me dy tela me një regjistër ndërrimi, sesa një LCD I2C sepse në Attiny regjistri i ndërrimit është më i lehtë për t'u zbatuar sesa autobusi I2C. Sidoqoftë … nëse doni të lexoni për shembull një sensor presioni BMP180 ose BMP085, keni nevojë për I2C për këtë gjithsesi kështu që ju gjithashtu mund të përdorni një LCD I2C atëherë. TinyWireM është një bibliotekë e mirë për I2C në një Attiny (por kërkon hapësirë shtesë).

BOM Transmetuesi: DHT11 Attiny85 10 k rezistencë 433MHz modul transmetues

Marrësi Attiny85 10k rezistencë 433 MHz modul i marrësit

Ekrani 74LS164 regjistri i ndërrimit 1N4148 dioda 2x1k rezistencë 1x1k rezistencë e ndryshueshme një ekran LCD 2x16

Hapi 1: Mini Stacioni i Motit Me Attiny85: Transmetuesi

Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi
Mini Stacioni i Motit Me Attiny85: Transmetuesi

Transmetuesi është një konfigurim shumë themelor i Attiny85 me një rezistencë tërheqëse në vijën e rivendosjes. Një modul transmetues është bashkangjitur në pinin dixhital '0' dhe kunja e të dhënave DHT11 i bashkëngjitet pinit dixhital 4. Bashkangjitni një tel 17.2 cm si antenë (për një antenë shumë më të mirë shihni hapin 5). Softueri është si më poshtë:

// do të punojë në Attiny // RF433 = D0 pin 5

// DHT11 = D4 pin 3 // bibliotekat #përfshi // Nga Rob Tillaart #përfshi dht DHT11; #define DHT11PIN 4 #define TX_PIN 0 // pin ku është lidhur transmetuesi juaj // variablat notojnë h = 0; noton t = 0; int transmit_t = 0; int transmit_h = 0; int transmit_data = 0; void setup () {pinMode (1, INPUT); man.setupTransmit (TX_PIN, MAN_1200); } void loop () {int chk = DHT11.read11 (DHT11PIN); h = DHT11. lagështia; t = DHT11.temperatura; // Unë e di, unë jam duke përdorur 3 variabla të plotë këtu // ku mund të përdorja 1 // por kjo është vetëm kështu që është më e lehtë të ndiqni transmit_h = 100* (int) h; transmetoj_t = (int) t; transmeto_data = transmetoj_h+transmetoj_t; njeri.transmetoj (transmetoj_data); vonesë (500); }

Softueri përdor kodin e Mançesterit për të dërguar të dhënat. Lexon DHT11 dhe ruan temperaturën dhe lagështinë në 2 nota të veçantë. Meqenëse kodi i Mançesterit nuk dërgon lundrues, por një numër të plotë, unë kam disa opsione: 1- ndani lundruesit në dy numra të plotë secili dhe dërgoni ato2- dërgoni çdo notë si një numër të plotë3- dërgoni dy lundruesit si një numër i plotë Me opsionin 1 më duhet të kombinoj numrat e plotë në noton përsëri në marrës dhe unë duhet të identifikoj se cili numër i plotë është çfarë, duke e bërë kodin të dredhur gjatë. Me opsionin 2 më duhet akoma të identifikoj se cili numër i plotë është për lagështinë dhe cili për temperaturën. Nuk mund të shkoj vetëm me sekuencë në rast se një numër i plotë humbet në transmetim, kështu që do të më duhej të dërgoja një identifikues të bashkangjitur në numrin e plotë. Me opsionin 3, unë mund të dërgoj vetëm një numër të plotë. Natyrisht kjo i bën leximet pak më pak të sakta - brenda 1 gradë - dhe nuk mund të dërgoni temperatura nën zero, por është vetëm një kod i thjeshtë dhe ka mënyra për ta bërë këtë. Tani për tani bëhet fjalë vetëm për parimin. Pra, ajo që bëj është që i shndërroj notat në numra të plotë dhe e shumëzoj lagështinë me 100. Pastaj i shtoj temperaturën lagështisë së shumëzuar. Duke pasur parasysh faktin se lagështia nuk do të jetë kurrë 100% numri maksimal që do të marr është 9900. Duke pasur parasysh faktin se temperatura gjithashtu nuk do të jetë mbi 100 gradë, numri maksimal do të jetë 99, prandaj numri më i lartë që do të dërgoj është 9999 dhe që është e lehtë të ndahet në anën e marrësit. llogaritja ime në të cilën përdor 3 numra të plotë është e tepërt pasi mund të bëhet lehtë me 1 ndryshore. Unë thjesht doja ta bëja kodin më të lehtë për tu ndjekur. Kodi tani përpilohet si:

Madhësia e skicës binare: 2, 836 bajt (me një maksimum prej 8, 192 bajt) në mënyrë që të përshtatet në një Attiny 45 ose 85KUAJ biblioteka dht.h që përdor është ajo e Rob Tillaart. Ajo bibliotekë është gjithashtu e përshtatshme për një DHT22. Unë jam duke përdorur versionin 1.08. Sidoqoftë, Attiny85 mund të ketë probleme me leximin e një DHT22 me versionet më të ulëta të bibliotekës. Më është konfirmuar se 1.08 dhe 1.14 - edhe pse punojnë në një Arduino të rregullt - kanë probleme të lexojnë një DHT22 në Attiny85. Nëse dëshironi të përdorni një DHT22 në Attiny85, përdorni versionin 1.20 të kësaj biblioteke. Gjithçka ka të bëjë me kohën. Versioni 1.20 i bibliotekës ka një lexim më të shpejtë. (Faleminderit për atë përvojë përdoruesi Jeroen)

Hapi 2: Mini Stacioni i Motit Me Attiny85: Marrësi

Mini Stacioni i Motit Me Attiny85: Marrësi
Mini Stacioni i Motit Me Attiny85: Marrësi

Përsëri Attiny85 përdoret në një konfigurim bazë me kunjin Reset të tërhequr lart me një rezistencë 10 k. Moduli Marrës është bashkangjitur në pinin dixhital 1 (kunja 6 në çip). LCD -ja është ngjitur në kunjat dixhitale 0 dhe dy. Bashkangjitni një tel prej 17.2 cm si antenë. Kodi është si më poshtë:

#përfshi

#përfshi LiquidCrystal_SR LCD (0, 2, TWO_WIRE); #define RX_PIN 1 // = pin fizik 6 void setup () {lcd.begin (16, 2); LCD. shtëpi (); man.setupReceive (RX_PIN, MAN_1200); man.beginReceive (); } void loop () {if (man.receiveComplete ()) {uint16_t m = man.getMessage (); man.beginReceive (); lcd.print ("I lagësht:"); lcd.print (m/100); lcd.setCursor (0, 1); lcd.print ("Temp"); lcd.print (m%100); }}

Kodi është mjaft i thjeshtë: Numri i plotë i transmetuar merret dhe ruhet në variablin 'm'. Ai ndahet me 100 për të dhënë lagështinë dhe moduli 100 jep temperaturën. Pra, supozoni se numri i plotë i marrë ishte 33253325/100 = 333325 % 100 = 25Ky kod përpilohet si 3380 byte dhe prandaj mund të përdoret vetëm me një attiny85, jo me një 45

Hapi 3: Mini Stacioni i Motit Me Attiny85/45: Ekrani

Mini Stacioni i Motit Me Attiny85/45: Ekrani
Mini Stacioni i Motit Me Attiny85/45: Ekrani
Mini Stacioni i Motit Me Attiny85/45: Ekrani
Mini Stacioni i Motit Me Attiny85/45: Ekrani

Për ekranin është më mirë që unë t'i referohem udhëzimeve të mia në një ekran me dy tela. Me pak fjalë, një ekran i zakonshëm 16x2 përdor një regjistër shift në mënyrë që të mund të funksionojë me dy kunja dixhitale. Natyrisht, nëse preferoni të përdorni një ekran të gatshëm I2C, domethënë është gjithashtu e mundur, por atëherë ju duhet të zbatoni një protokoll I2C në Attiny. Protokolli Tinywire mund ta bëjë këtë. Megjithëse disa burime thonë se ajo pret një orë 1 Mhz, unë nuk kam pasur ndonjë problem (në një projekt tjetër) për ta përdorur atë në 8Mhz. Gjithsesi, thjesht nuk u shqetësova këtu dhe përdor një regjistër ndërrimi.

Hapi 4: Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet

Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet
Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet
Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet
Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet
Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet
Mini Stacioni i Motit Me Attiny85/45: Mundësitë/Përfundimet

Siç u tha, e bëra këtë të udhëzueshme për të treguar se dikush mund të bëjë një mini stacion moti me dy attiny85 (madje edhe me një attiny85+ 1 attiny45). Ai dërgon vetëm lagështi dhe temperaturë, duke përdorur një DHT11. Megjithatë, Attiny ka 5 kunja dixhitale për t'u përdorur, 6 edhe me ndonjë hile. Prandaj, është e mundur të dërgoni të dhëna nga më shumë sensorë. Në projektin tim- siç shihet në fotot në stripboard dhe në një PCB profesionale (OSHPark)- dërgoj/marr të dhëna nga një DHT11, nga një LDR dhe nga një PIR, të gjitha duke përdorur dy attiny85'sKufizimi në përdorimin e një attiny85 si marrës edhe pse është paraqitja e të dhënave në një stil bie shumë në sy. Meqenëse kujtesa është e kufizuar: Tekstet si 'Temperatura, Lagështia, niveli i dritës, subjekti që afrohet' do të mbushin hapësirën e vlefshme të kujtesës shumë shpejt. Sidoqoftë, nuk ka arsye për të përdorur dy Arduino vetëm për të dërguar/marrë temperaturë dhe lagështi. Përveç kësaj, është e mundur që transmetuesi të flejë dhe të zgjohet vetëm për të dërguar të dhëna, thuajini çdo 10 minuta dhe kështu ushqejeni atë nga një qelizë butoni. Natyrisht, jo vetëm të dhënat e temperaturës ose lagështisë mund të dërgohen, por dikush mund të ketë një sërë transmetuesish të vegjël që dërgojnë leximet e lagështisë së tokës gjithashtu, ose shtoni një anemometër, ose një metër shiu

Hapi 5: Mini Stacioni i Motit: Antena

Mini Stacioni i Motit: Antena
Mini Stacioni i Motit: Antena

Antena është një pjesë e rëndësishme e çdo 433Mhz të ngritur. Unë kam eksperimentuar me antenën standarde 17,2 cm 'shufra' dhe kam bërë një flirt të shkurtër me një antenë spirale, ajo që dukej se funksiononte më së miri është një antenë e mbushur me spirale që është e lehtë për t'u bërë. Dizajni është nga Ben Schueler dhe me sa duket është botuar në revistën 'Elektor'. Një PDF me përshkrimin e kësaj 'Antene të ftohur me ajër 433 MHz' është e lehtë për t'u ndjekur. (Lidhja u zhduk, kontrolloni këtu)

Hapi 6: Shtimi i një BMP180

Shtimi i një BMP180
Shtimi i një BMP180

Dëshironi të shtoni një sensor presioni barometrik si BMP180? kontrolloni udhëzimet e mia të tjera për këtë.

Recommended: