Magician Robot + Arduino UNO + Driver de Motoare + Bluetooth
Acest kit contine tot ceea ce contine si Magician Robot Kit, la care se adauga un driver de motoare L298 complet asamblat , o placa de dezvoltare Arduino UNO R3 si un conector Bluetooth Mate care face posibil controlul robotului folosind un telefon mobil. Controlul prin telefon mobil se poate face folosind un telefon mobil care ruleaza sistemul de operare Android, pe care se instaleaza aplicatia Amarino.
Pentru alimentarea robotului, va recomandam o cutie de baterii si un cablu de conectare pentru aceasta (nu sunt incluse in acest kit) sau daca doriti, acumulatori LI-PO la alegerea dvs (ideal 7.4 V).
Pentru cateva detalii de asamblare urmariti imaginile prezentate in cadrul Magician Robot Kit . Un exemplu de cod sursa pentru programare este disponibil aici .
Cateva filme care demonstreaza diverse principii de control al robotului sunt disponibile in continuare.

#include <MeetAndroid.h>
int MOTOR1_PIN1 = 3;
int MOTOR1_PIN2 = 5;
int MOTOR2_PIN1 = 6;
int MOTOR2_PIN2 = 9;
MeetAndroid meetAndroid;
void setup() {
Serial.begin(9600);
meetAndroid.registerFunction(orientation, 'A');
pinMode(MOTOR1_PIN1, OUTPUT);
pinMode(MOTOR1_PIN2, OUTPUT);
pinMode(MOTOR2_PIN1, OUTPUT);
pinMode(MOTOR2_PIN2, OUTPUT);
}
boolean printed = false;
void loop() {
meetAndroid.receive();
}
void orientation(byte flag, byte valueCount) {
boolean speedSet = false;
float data[valueCount];
meetAndroid.getFloatValues(data);
int forward = (int) data[1];
int side = (int) data[2];
int speedLeft = 0;
int speedRight = 0;
if (abs(side) > 25) {
speedLeft = -(75 + (abs(side)));
speedRight = ((75 + (abs(side))));
if (side <0) {
speedLeft = - speedLeft;
speedRight = - speedRight;
}
speedSet = true;
}
if (!speedSet) {
if ((forward > -130) && (forward < -60)) {
speedLeft = 0;
speedRight = 0;
}
if (forward > -60) {
speedLeft = 75 + 2 * (90 -abs(forward));
speedRight = 75 + 2 * (90 -abs(forward));
}
if (forward < -130 ) {
speedLeft = -(int)(-2.83333333 * forward - 255);
speedRight = -(int)(-2.83333333 * forward - 255);
}
}
if (speedLeft > 255) {
speedLeft = 255;
}
if (speedRight > 255) {
speedRight = 255;
}
if (speedLeft < -255) {
speedLeft = -255;
}
if (speedRight < -255) {
speedRight = -255;
}
go(speedLeft, speedRight);
}
void go(int speedLeft, int speedRight) {
if (speedLeft > 0) {
analogWrite(MOTOR1_PIN1, speedLeft);
analogWrite(MOTOR1_PIN2, 0);
}
else {
analogWrite(MOTOR1_PIN1, 0);
analogWrite(MOTOR1_PIN2, -speedLeft);
}
if (speedRight > 0) {
analogWrite(MOTOR2_PIN1, speedRight);
analogWrite(MOTOR2_PIN2, 0);
}
else {
analogWrite(MOTOR2_PIN1, 0);
analogWrite(MOTOR2_PIN2, -speedRight);
}
}
Review-ul dumneavoastră: Notă: HTML nu este interpretat!
Rating: Rău Bun
Introduceţi codul în căsuţa de mai jos:

Categorii
Informaţii
Cele mai noi





























































-38x38.jpg)


CONTACT
Coşul Tău

