Como conectar o Arduino com Lego Mindstorms
- Eduardo Brennand Paranhos
- 29 de set. de 2024
- 1 min de leitura
Neste post, veremos como conectar o lego mindstorms ev3 com o Arduino uno r3. O processo é bem simples e pode ser feito através da própria interface de blocos do Lego Mindstorms.
Primeiro, você deverá instalar o bloco necessário para fazer a comunicação, disponível em:
https://github-com.translate.goog/DexterInd/EV3_Dexter_Industries_Sensors?_x_tr_sl=en&_x_tr_tl=pt&_x_tr_hl=pt-BR&_x_tr_pto=sc (baixe o arquino dexter.ev3b). Em seguida, para conectar o ev3 ao arduino, é recomendado comprar uma placa de extensão do cabo presente no lego(como o do antonmindstorms), porém, você pode cortar um
de seus cabos se não quiser comprar a placa. De qualquer forma, siga o esquema a seguir:

Além disso, apenas para fins de demonstração, também conectei um potenciômetro no pino A0 do arduino, apenas para demonstrar o envio das informações do Arduino ao Lego.
Segue o código do Arduino:
#include <Wire.h>
#define SLAVE_ADDRESS 0x04
void setup()
{
Serial.begin(9600); // start serial for output
Wire.begin(SLAVE_ADDRESS);
Wire.onReceive(receiveData);
Wire.onRequest(sendData);
Serial.println("Ready!");
}
int pin,st,val=0,flag=0,index=0;
char buf[8];
byte b[2];
void loop()
{
if(flag==1)
{
flag=0;
Serial.println(pin);
val=analogRead(pin);
b[0]=val/256;
b[1]=val%256;
}
}
void receiveData(int byteCount)
{
while(Wire.available()>0)
{
pin=Wire.read();
flag=1;
}
}
// callback for sending data
void sendData()
{
Wire.write(b,2);
} // o código acaba aqui
E o do lego(note que também há um motor conectado a porta A, e que o Arduino está conectado a porta 1):

O resultado deverá ser este:
Comments