Untitled
unknown
plain_text
4 years ago
2.0 kB
7
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...