Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Código:
- //esclavo
- #include<Wire.h>
- int s2_lr = 5;
- int s2_la = 6;
- int s2_lv = 7;
- int s4_lr = 8;
- int s4_la = 9;
- int s4_lv = 10;
- int s5_lr = 2;
- int s5_la = 3;
- int s5_lv = 4;
- int estado = 0;
- void setup()
- {
- pinMode(s2_lr, OUTPUT);
- pinMode(s2_la, OUTPUT);
- pinMode(s2_lv, OUTPUT);
- pinMode(s4_lr, OUTPUT);
- pinMode(s4_la, OUTPUT);
- pinMode(s4_lv, OUTPUT);
- pinMode(s5_lr, OUTPUT);
- pinMode(s5_la, OUTPUT);
- pinMode(s5_lv, OUTPUT);
- Wire.begin(2);
- Wire.onReceive(receivedEvent);
- }
- void loop()
- {
- /*estado1();
- delay(500);
- estado2();
- delay(750);
- estado3();
- delay(250);
- estado4();
- delay(600);
- estado5();
- delay(250);
- estado6();
- delay(500);
- estado7();
- delay(250);*/
- switch(estado)
- {
- case 1:
- estado1();
- break;
- case 2:
- estado2();
- break;
- case 3:
- estado3();
- break;
- case 4:
- estado4();
- break;
- case 5:
- estado5();
- break;
- case 6:
- estado6();
- break;
- case 7:
- estado7();
- break;
- }
- }
- void receivedEvent(int x)
- {
- estado = Wire.read();
- }
- void estado1()
- {
- digitalWrite(s2_lr, HIGH);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lv, LOW);
- digitalWrite(s4_lr, HIGH);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, HIGH);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, LOW);
- }
- void estado2()
- {
- digitalWrite(s2_lv, HIGH);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lr, LOW);
- digitalWrite(s4_lr, HIGH);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, HIGH);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, LOW);
- }
- void estado3()
- {
- digitalWrite(s2_lv, LOW);
- digitalWrite(s2_la, HIGH);
- digitalWrite(s2_lr, LOW);
- digitalWrite(s4_lr, HIGH);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, HIGH);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, LOW);
- }
- void estado4()
- {
- digitalWrite(s2_lv, LOW);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lr, HIGH);
- digitalWrite(s4_lr, LOW);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, HIGH);
- digitalWrite(s5_lr, HIGH);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, LOW);
- }
- void estado5()
- {
- digitalWrite(s2_lv, LOW);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lr, HIGH);
- digitalWrite(s4_lr, LOW);
- digitalWrite(s4_la, HIGH);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, HIGH);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, LOW);
- }
- void estado6()
- {
- digitalWrite(s2_lv, LOW);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lr, HIGH);
- digitalWrite(s4_lr, HIGH);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, LOW);
- digitalWrite(s5_la, LOW);
- digitalWrite(s5_lv, HIGH);
- }
- void estado7()
- {
- digitalWrite(s2_lv, LOW);
- digitalWrite(s2_la, LOW);
- digitalWrite(s2_lr, HIGH);
- digitalWrite(s4_lr, HIGH);
- digitalWrite(s4_la, LOW);
- digitalWrite(s4_lv, LOW);
- digitalWrite(s5_lr, LOW);
- digitalWrite(s5_la, HIGH);
- digitalWrite(s5_lv, LOW);
- }
- ///////////
- //maestro
- #include<Wire.h>
- int s1_lr = 2;
- int s1_la = 3;
- int s1_lv = 4;
- int s1_lz = 5;
- int s3_lr = 13;
- int s3_la = 12;
- int s3_lv = 11;
- int estado;
- void setup()
- {
- pinMode(s1_lr, OUTPUT);
- pinMode(s1_la, OUTPUT);
- pinMode(s1_lv, OUTPUT);
- pinMode(s1_lz, OUTPUT);
- pinMode(s3_lr, OUTPUT);
- pinMode(s3_la, OUTPUT);
- pinMode(s3_lv, OUTPUT);
- Wire.begin();
- }
- void loop()
- {
- estado1();
- envio();
- delay(1000);
- estado2();
- envio();
- delay(1500);
- estado3();
- envio();
- delay(500);
- estado4();
- envio();
- delay(1000);
- estado5();
- envio();
- delay(500);
- estado6();
- envio();
- delay(1000);
- estado7();
- envio();
- delay(500);
- }
- void envio()
- {
- Wire.beginTransmission(2);
- Wire.write(estado);
- Wire.endTransmission();
- }
- void estado1()
- {
- digitalWrite(s1_lr, LOW);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lv, HIGH);
- digitalWrite(s1_lz, HIGH);
- digitalWrite(s3_lr, HIGH);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, LOW);
- estado = 1;
- }
- void estado2()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, HIGH);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lr, LOW);
- digitalWrite(s3_lr, HIGH);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, LOW);
- estado = 2;
- }
- void estado3()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, LOW);
- digitalWrite(s1_la, HIGH);
- digitalWrite(s1_lr, LOW);
- digitalWrite(s3_lr, HIGH);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, LOW);
- estado = 3;
- }
- void estado4()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, LOW);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lr, HIGH);
- digitalWrite(s3_lr, LOW);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, HIGH);
- estado = 4;
- }
- void estado5()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, LOW);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lr, HIGH);
- digitalWrite(s3_lr, LOW);
- digitalWrite(s3_la, HIGH);
- digitalWrite(s3_lv, LOW);
- estado = 5;
- }
- void estado6()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, LOW);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lr, HIGH);
- digitalWrite(s3_lr, HIGH);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, LOW);
- estado = 6;
- }
- void estado7()
- {
- digitalWrite(s1_lz, LOW);
- digitalWrite(s1_lv, LOW);
- digitalWrite(s1_la, LOW);
- digitalWrite(s1_lr, HIGH);
- digitalWrite(s3_lr, HIGH);
- digitalWrite(s3_la, LOW);
- digitalWrite(s3_lv, LOW);
- estado = 7;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement