Инструменты пользователя

Инструменты сайта


doc:1602:mgul.160020.005

Блок телеметрии

Блок телеметрии состоит из:
- Вольтметр с пиком в 25V
- 2 аналоговых датчика температуры TMP36GTZ
- Датчик освещённости(фоторезистор)

Текст программы блока телеметрии

Скетч от 18 октября 2017 года

Скетч от 18 октября 2017 года

const int analogInPin = A2; 
int pinA0 = A3; 
int echoPin = 9; 
int trigPin = 8;
float sensorValue = 0;        
float outputValue = 0;    
int read1,read2;
float TmpC1,TmpC2;
int xA0;  
int sonar(){
  int duration, cm; 
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW); 
  duration = pulseIn(echoPin, HIGH);  
  cm = duration / 58;
  cm = constrain(cm, 5, 250);
  return cm;
}
int svet(){
   xA0 = analogRead (pinA0);
   if (xA0 < 350) 
{ analogWrite(3,10);
} 
   else if (xA0<460 && xA0>350){ 
   analogWrite(3,75); 
} 
   else 
{ 
   analogWrite(3,255); 
} 
   delay(500);
}             
 
void setup() {
  Serial.begin(9600);
  pinMode (pinA0, INPUT);
  pinMode (A4, INPUT);
  pinMode (A1, INPUT);
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT);
  pinMode(3,OUTPUT); 
}
 
void loop() {    
  outputValue = float(analogRead(analogInPin))/40.92;
  delay(15);
     read1=analogRead(A1);
delay(15);
   read2=analogRead(A4);
delay(15);
   TmpC1=((read1*0.004888)-0.5)*100;
   TmpC2=((read2*0.004888)-0.5)*100;
  int cm;
  cm=sonar();
  svet();
  Serial.print(outputValue);
  Serial.print("\t");
  Serial.print(cm);
  Serial.print("\t");
  Serial.print(TmpC1);
  Serial.print("\t");
  Serial.print(TmpC2);
  Serial.println("\t");
  delay(100);
}
doc/1602/mgul.160020.005.txt · Последние изменения: 2018/04/28 23:47 (внешнее изменение)