Untitled

 avatar
unknown
plain_text
4 years ago
2.0 kB
4
Indexable
#include<SoftwareSerial.h>
#include <Servo.h> 
#include <Wire.h> 
Servo serwomechanizm; 
SoftwareSerial Serial1(2,3);
int uart[9];
const int HEADER=0x59;
int i, check, strength, dist, zmiana1, zmiana2, pozycja, zakres2, zakres1, dioda ;
void setup() {
Serial.begin(9600);
Serial.begin(115200);
Serial1.begin(115200);
pinMode(8, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(10,LOW);
delay(100);
serwomechanizm.attach(9);
delay(100);
serwomechanizm.write(90); 
delay(100);  
for(i=0;i<3;i++){
  digitalWrite(4, HIGH); 
  delay(250);
  digitalWrite(4, LOW);
  delay(250);}
delay(100);
if(digitalRead(11)==LOW){
  dioda=10; zakres2=181; zakres1=0; zmiana1=-1; zmiana2=1; }
delay(100);
if(digitalRead(8)==LOW){
  dioda=12; zakres2=136; zakres1=45; zmiana1=-1; zmiana2=1; }
else if(digitalRead(8)==HIGH && digitalRead(11)==HIGH)
{ dioda=7; zakres1=90; zakres2=90;  zmiana1=0; zmiana2=0; pozycja=90;}
for(i=0;i<11;i++){
  digitalWrite(5, HIGH); 
  delay(50);
  digitalWrite(5, LOW); 
  delay(50);}
digitalWrite(6, HIGH); 
delay(250);
digitalWrite(dioda, HIGH);
delay(250);
pozycja=zakres2;
serwomechanizm.write(pozycja);
}
void loop() {
  if (Serial1.available()){
   if(Serial1.read()==HEADER) {
      uart[0]=HEADER;
      if(Serial1.read()==HEADER) {
          uart[1]=HEADER;
          for(i=2;i<9;i++) { 
             uart[i]=Serial1.read(); }
          check=uart[0]+uart[1]+uart[2]+uart[3]+uart[4]+uart[5]+uart[6]+uart[7];
          if(uart[8]==(check&0xff)) {
          dist=uart[2]+uart[3]*256;
          strength=uart[4]+uart[5]*256;
          delay(10);
          serwomechanizm.write(pozycja);
          pozycja = pozycja + zmiana1;
          if(pozycja<zakres1){
            delay(10000);}
   delay(10); 
    {

          }
          Serial.print(dist);
          Serial.print('\t');
          Serial.print(strength);
          Serial.print('\n');
  } } } } }    
   

 

  
  
 
Editor is loading...