Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // --------------------------- slave -------------------------------------------
- #include <Wire.h>
- int led=13;
- char cmd[100];
- void setup()
- {
- Wire.begin(1);
- Wire.onReceive(recEvent);
- pinMode(led, OUTPUT);
- digitalWrite(led, LOW);
- digitalWrite(10, HIGH);
- }
- void loop()
- {
- delay(100);
- }
- void proc()
- {
- char * a=(char *)malloc(15);
- char * b=(char *)malloc(15);
- a=strtok(cmd, " ");
- b=strtok('\0', " ");
- if(strcmp(a, "speed")==0)
- {
- analogWrite(13, 150);
- }
- if(strcmp(a, "steps")==0)
- {
- analogWrite(13, 0);
- }
- }
- void recEvent(int n)
- {
- cmd[0]='\0';
- int i=0;
- while(Wire.available())
- {
- cmd[i++]=Wire.read();
- cmd[i]='\0';
- }
- proc();
- }
- // ------------------------------------------- master --------------------------------------------
- #include <Wire.h>
- void setup()
- {
- Wire.begin();
- Serial.begin(19200);
- }
- char cmd[100];
- void Read()
- {
- cmd[0]='\0';
- int i=0;
- char character;
- while(Serial.available()) {
- character = Serial.read();
- cmd[i++]=character;
- cmd[i]='\0';
- delay(1);
- }
- }
- void loop()
- {
- Read();
- if(cmd[0]!='\0')
- {
- Wire.beginTransmission(1);
- Wire.write(cmd);
- Wire.endTransmission();
- delay(500);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement