Arduino GPRS väderstation - del 1 (14 / 23 steg)

Steg 14: Master och Slave (I²C)



Det finns tre skäl till varför jag har inrättat registeransvariga som master och slave:

  1. Att skapa ett "viloläge" så att energi sparas.
  2. Se till att vind och regn data aldrig avbryts av långsammare kommunikationen med en GPRS-modul. Ställa in GPRS verkar ta ca 20 sekunder.
  3. Tillförlitlighet: Kraschar ibland Mega 2560.

Huvudprincipen för detta meddelande kallas I²C, (Inter-Integrated krets), uttalas I-fyrkant-C, vilket är väl dokumenterat här:

https://www.Arduino.cc/en/tutorial/MasterWriter

I min kod tillbringar 328 P 10 minuter samla in data i 5 sekunders intervall, i slutet som den skickar data via I²C till Arduino Mega 2560 styrelsen för efterföljande leverans till internet via GPRS etc. Koden för att göra detta är ganska enkelt så länge heltalen är varje mindre än 255. Detta innebär absolut inga decimaler och vi kan inte skicka ett värde till exempel 270 för vindriktningen. Inget av detta är ett problem som vi förändrar alla vind vinklar till enkla siffror t.ex. 4 == 180 grader.

Här är en kodutdrag för tråd överföring:

annat {
avWindPulseRate = addingWindPulseRate/n;
windDirection = svar;

Serial.Print ("Median vindriktning för tråd ="); Serial.println(windDirection);
Wire.beginTransmission(9); överföra till enhet #9 / / kontrollera att beställningen är densamma i master och slav.
digitalWrite (moisturePowerPin, hög);
Delay(10);

Wire.write(maxWindPulseRate/10); Värden får inte vara större än 255 (1 byte).
Delay(10);
Wire.write(windDirection); En median siffra mellan 1 och 8 inclusive.
Delay(10);
Wire.write(Rain);
moistureValue = analogRead (moisturePin) * 0.102; Sensorn kalibreras genom att multiplicera med 0.102.
Delay(10);
Wire.write(avWindPulseRate/10);
Delay(10);
Wire.write(moistureValue);

Delay(10);
digitalWrite (moisturePowerPin, låg);
Wire.endTransmission(); stoppa överföring

resetMyMode(); För felsökning av denna funktion inte bör vara i resetEverything om uttalande.
previousLongMillis = currentMillis;
addingWindPulseRate = 0;
avWindPulseRate = 0;
n = 0;
r = r + 1. räknas upp till en tidsperiod som fona återställs i multiplar av vad långa intervall är inställd.
}

Här är en kodutdrag för att ta emot data på Mega 2560:

void receiveEvent (int byte) {/ / kontrollera att beställningen är densamma i master och slav. delay(10);
maxWindPulseRate = Wire.read();
Delay(10);
windDirection = Wire.read();
Delay(10);
regn = Wire.read();
Delay(10);
avWindPulseRate = Wire.read();
Delay(10);
moistureValue = Wire.read();
Delay(10);
z = 1;
fukt = moistureValue;
}

Se Steg
Relaterade Ämnen

Infraröd Sensor guidade Arduino kontrollerade L293D Robot (del 2)

Här är del 2 av Arduino kontrollerade L293D Robot.Del 2 innehåller IR Sensors.This ingår i en serie av instructables leder till en rad efterföljare Robot.QRD1114 Infrarödsensor kopplad till ArduinoSteg 1: Ledningar IR sensorn till ArduinoNegativ från...

Arduino kontrollerade L293D Robot (del 1 - Update 1.0)

Här är del 1 av Arduino och L293D Robot.This är en del av en serie av instructables leder till en rad efterföljare Robot.Detta är en grundläggande Robot gjorde genom att styra två motorer via L293D chip genom en Arduino ombord.Jag har gjort detta pro...

Lärande Arduino grunderna till barnvakten - del 01 "Blink" eller "Internet"

du har köpt din första Arduino eller du planerar att få denna stora lilla enhet? Obi Wan skulle säga: "det är bra. Du har tagit ditt första steg in i en större värld." Samma sak för mig! Grattis! Ser du, när du behärskar grunderna, du har så kul...

Remote control via GPRS/GSM SMS(Arduino)

fjärrkontroll, särskilt när detta nr ethernet och Wifi i den utomhus, har varit en mycket djupgående saker tidigare. När jag var barn, bilden jag alltid som jag har en utrustning som kan styra alla vitvaror. Nu, detta blir verklighet, med Arduino och...

DIY Arduino och Raspberry Pi väderstation och webbserver

Detta är ett projekt som kommer att ta temperaturen med TMP36 IC temperaturgivare och en Arduino ombord. Dessa data kommer att sända över följetong till Raspberry Pistyrelsen redigerar en webbsida att Raspberry Pi är värd för sig själv. För detta pro...

Cloud trattar - Arduino väderstation

Enkla Arduino Uno väderstation med Ethernet web access använder cheep Maplin sensorer :) se PDF för beskrivning och Arduino kod. Du behöver 1 Arduino Uno och Ethernet shield + några remsor en bröd och halvpension att ansluta upp sensorer. Det kommer...

Arduino mark sond med DS18B20 och DIY fukt hårdvara

Som en fanatisk trädgårdsmästare eller professionella jordbrukare att veta miljömässiga villkoren i vår jord är ovärderlig. Självklart, vi kan inte mäta antalet maskar eller bitar av organiska humus, men vi kan mäta temperatur och fukt innehåll verkl...

Ställa in en A100LK vindmätaren på en Arduino

Någon tänker installera en vindkraftgenerator, eller ens en hel flock av vindkraftverk, skulle göra klokt att övervaka den föreslagna platsen för minst ett helt år innan spendera ett öre mer på hårdvara. Detta är vad A100LK är utformad för.Det första...

Como controlar un LED remotamente con Arduino y Ubidots

Luego de realizar esté handledning podrás controlar el encendido o apagado de actuador un remotamente, desde la plataforma de Ubidots. Sv éste caso usaremos un LED por facilidad, synd emabrgo podrás extender éste handledning, en pojkflicka, en cualqu...

Hackgyver väderstation

Sedan en tid på min hackerspace, en av vår medlem (futex) gjorde en väderstation med en Raspberry Pi.Efter som tittar på hans arbete hade jag idén att göra en men istället för att använda en RPi som plateform jag har fokuserat mitt arbete på Arduino,...

Arduino Firefly-programmerad lysdioder på handgjorda tovade Tote Bag

Detta var mitt första projekt som krävs för kodning. Min idé var att skapa en tovad väska som hade några lysdioder som skulle tona in och tona ut slumpmässigt, som eldflugor. Det skulle vara ganska och inte alltför nördig, så jag arbetade hårt på tov...

Arduino Powered "Scotch Mount" Star Tracker för fotografering

Jag lärde mig om Scotch montera när jag var yngre och gjorde en med min pappa när jag var 16. Det är ett billigt och enkelt sätt att komma igång med fotografering, att täcker grunderna innan du får i de komplicerade teleskop frågor av främsta fokus,...

Ansluta en väderstation till Internet saker

Hej och Välkommen med till de stegvisa instruktionerna för att göra din Davies väderstation del av Sakernas Internet våra Intel ICRI kit.Med hjälp av detta kit kommer du att kunna ansluta din Davies väderstation till en Intel Galileo, vilket innebär...

Enkel automatisk flytta Robot använder arduino & L293d IC

detta är en grundläggande Robot drivs av en arduino och vad den gör är att det bara strövar runt och följa en cirkulärbana genom standardkod men du kan ändra koden för att ändra sökvägen lätt. Det är ett enkelt projekt som alla kan bygga. . Så om du...

OHMMETER använder ARDUINO

Enohmmeter är en enhet som kan mäta motstånd.De flesta gånger nu, ohmmetrar är inte fristående enheter men visas som en av typ av mätanordning bland många i en multimeter. En avancerad multimeter, skulle i dag ha en ohmmeter, voltmeter, amperemeter,...

Kontroll Arduino fungerar med en USB-styrenhet, ingen lödning krävs-jag gjorde det på TechShop

tidigare i år bestämde jag mig att det skulle vara kul att använda min kabelanslutna Xbox 360-handkontrollen för att styra Arduino projekt - i det här fallet en RGB LED. Den vanligaste metoden att göra det innebär dock att komma åt elektroniken inuti...

LEDDE matrisen med Arduino

Hola, jag är Javier från Makespace Madrid. Förra veckan anordnade vi en meetup att spela med LED matriser och Arduinos. Detta var del av "La noche de la electrónica con Jameco"Detta instructable är baserat på verkstaden. Den använder en enda led...

Arduino & sony ericsson: gsm sköld hacka

Hej! Ett tag sedan jag ville fjärråtkomst till min arduino för att styra I/O pins, jag gillade verkligen arduino GSM sköld eftersom det skulle tillåta mig att kontrollera min arduino från var som helst i världen. Men sådan en sköld tyvärr kommer inte...

ArduDroid: En enkel 2-vägs Bluetooth-baserade Android Controller för Arduino

UPPDATERINGAR:19 nov. 2031: yttrande: fantastiska synergin mellan Arduino & Android.30 oktober 2013: Andruino är nu officiellt ARDUDROID och snart blir tillgängligt på Google Play. Denna namnändring att undvika konflikt med en annan app på Google Pla...