Untitled
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...