1. Kondisi
[Back]. Jika push button ditekan maka motor berputar searah jarum jam. Dan jika push button dilepas maka motor berputar berlawanan jarum jam.
2. Komponen
[Back]3. Rangkaian Simulasi
[Back]4. Prinsip Kerja
[Back]
Ketika tombol button yang tersambung pada pin 0 arduino uno master, maka data akan dikirim dengan komunikasi I2C, kemudian arduino uno salve menerima data dan melakukan perintah ke drive motor untuk menentukan arah berputarnya motor.
5. Flowchart
[Back]Master |
Slave |
For Master //
#include <Wire.h>
#define SLAVE_ADDR 9
int analogPin = 0;
int bt;
void setup() {
Wire.begin();
digitalWrite(analogPin,HIGH);
}
void loop() {
delay(50);
bt = digitalRead(analogPin);
Wire.beginTransmission(SLAVE_ADDR);
Wire.write(bt);
Wire.endTransmission();
}
For Slave//
#include <Wire.h>
#define SLAVE_ADDR 9
int in1= 13;
int in2= 12;
int rd;
int br;
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
Serial.println("I2C Slave demo");
}
void receiveEvent() {
rd = Wire.read();
Serial.println(rd); }
void loop() {
delay(50);
if ( rd == LOW)
{
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
delay(100);
}
if(rd == HIGH)
{
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
delay(100);
}
}
No comments:
Post a Comment