Stap 6: Grand verenigen Code
VOOR MULTIPLEXING
James op het weer, deze keer probeert te verenigen alle
de sensoren zodat ze voor een gemeenschappelijk doel werken. Awesome stuff hier!!!
Const int trig = 2; pin waar ultrasone trig pin is aangesloten
Const int echo = 3; pin waar ultrasone echo pin is aangesloten
Const int een = 4; LSB van de mux selectie code
Const int b = 5; LSB 2 van de mux Kiesderegel
Const int c = 6; MSB 2 van de geselecteerde regel voor de mux
Const int d = 7; MSB van de geselecteerde regel voor de mux
Const int generator = 9; data lijn voor de generator
Const int zoemer = 10; geluid met behulp van de zoemer
Const int greenLed = 11; groene led aangesloten op deze pin
Const int redLed = 12; rode led verbonden hier
Const int fan = 13; ventilator is aangesloten op deze pin
Const int muxdata = A0; output van de multiplexer data-lijn
Const int rftransmitter = a1 worden verkregen; invoer van de frequentie van de radio-zender
#include / / roepen de servo motor bibliotheek
Servo de servo; Geeft een naam aan de pin gekoppeld aan servo
int lighthreshold = 500; Drempel voor de LDR-sensor
int magneticthreshold = 500; Drempel voor de Hall-effect-sensor (A1325)
Const float tempethreshold = 25,0; Temperatuur van de basislijn voor de LM35 temperatuursensor
int switchState = 0; Controle van de staat van de switch als een druksensor
int soilmoisturethreshold = 500; Controle van de analoge bodemvochtgehalte
int smcState = 0; Controleren van de status van het vochtgehalte digitaal
int irdistance = 30; Instellen van het bereik van de inrared-sensoren
int maxRange = 200; Maximale bereik nodig in centimeters
int minRange = 0; Minimale afstand nodig in centimeters
lange duur; Pulse verstandig dat het verzonden signaal
lange afstand; afgelegde afstand
int muxVal, rfVal; Het lezen van de staat van de ingangen
int tijd = 500;
VOID Setup
{
Servo.attach(8); Koppelen van mijn servomotor pin aan pin 88
Serial.begin(9600); baud-rate voor de communicatie tussen de laptop en de arduino
pinMode (trig, uitvoer); verklaren als een uitgang pins
pinMode (echo, INPUT); verklaren als een INPUT-pin
pinMode (a, OUTPUT); verklaren als een uitgang pins
pinMode (b, OUTPUT); verklaren als een uitgang pins
pinMode (c, OUTPUT); verklaren als een uitgang pins
pinMode (d, OUTPUT); verklaren als een uitgang pins
pinMode (generator, OUTPUT); verklaren als een uitgang pins
pinMode (zoemer, OUTPUT); verklaren als een uitgang pins
pinMode (greenLed, OUTPUT); verklaren als een uitgang pins
pinMode (redLed, OUTPUT); verklaren als een uitgang pins
pinMode (fan, uitvoer); verklaren als een uitgang pins
pinMode (muxdata, INPUT); verklaren als een INPUT-pin
pinMode (rftransmitter, INPUT); verklaren als een INPUT-pin
Serial.println ("Zvaunondiita zodat!"); Enkel een welkom bericht voor mijn Raspberry Pi
digitalWrite (a, laag);
digitalWrite (b, laag);
digitalWrite (c, laag);
digitalWrite (d, laag);
}
void loop
{
digitalWrite (a, laag);
digitalWrite (b, laag);
digitalWrite (c, laag);
digitalWrite (d, laag);
delay(time); niet zeker of deze vertraging strikt noodzakelijk is
int readInZero = analogRead(muxdata); gelezen dat met behulp van de arduino invoer pin de Dg526
zweven solRad = (readInZero*1000.0/1023.0);
Serial.Print ("zonnestraling is");
Serial.Print(solRad); gebruik van het resultaat
Serial.println ("watt per vierkante meter");
digitalWrite (a, hoog);
digitalWrite (b, laag);
digitalWrite (c, laag);
digitalWrite (d, laag);
delay(time); niet zeker of deze vertraging strikt noodzakelijk is
int readInOne = analogRead(muxdata); Lees de analoge input pin van de arduino
zweven druk = (readInOne*1012.2/1023.0);
Serial.Print ("atmosferische druk leest");
Serial.Print(Pressure); gebruik van het resultaat
Serial.println ("kPa");
digitalWrite (a, laag);
digitalWrite (b, hoge);
digitalWrite (c, laag);
digitalWrite (d, laag);
delay(time);
int readInTwo = analogRead(muxdata);
float temp = (readInTwo*500.0/1203.0);
Serial.Print ("omgevingstemperatuur leest");
Serial.Print(temp); gebruik van het resultaat
Serial.println ("graad Celsius");
digitalWrite (a, hoog);
digitalWrite (b, hoge);
digitalWrite (c, laag);
digitalWrite (d, laag);
delay(time);
int readInThree = analogRead(muxdata);
Serial.Print ("de windsnelheid is");
zweven windsnelheid = (readInThree*2.0/1023.0);
Serial.Print(windspeed);
Serial.println ("meter per seconde"); gebruik van het resultaat
digitalWrite (a, laag);
digitalWrite (b, laag);
digitalWrite (c, hoge);
digitalWrite (d, laag);
delay(time);
int readInFour = analogRead(muxdata);
zweven smc = (readInFour*100.0/1023.0);
Serial.Print ("Soil Moisture Content is");
Serial.Print(SMC);
Serial.println ("%"); gebruik van het resultaat
}