HELP

Geef hier suggesties voor extra onderwerpen of andere dingen die je graag gewijzigd zou willen zien
Berichten: 2
Geregistreerd: 07 Jun 2016, 14:45

HELP

Berichtdoor MirteSuus » 07 Jun 2016, 14:51

Beste allemaal, wie kan ons helpen. Dit is de code voor onze bluetooth robot. We willen graag dat als hij vooruit rijdt dat als we weer op dit knopje drukken , dat de robot sneller gaat.

Dit is onze code:

cpp code
#include <SoftwareSerial.h>
#include <Servo.h> //bibliotheek servo

int bluetoothTx = 2; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3; // RX-I pin of bluetooth mate, Arduino D3

int dataFromBt;

boolean lightBlink = false;

Servo myservol; //we noemen de servo myservo
Servo myservor;

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

void setup()
{
Serial.begin(9600); // Begin the serial monitor at 9600bps

bluetooth.begin(115200); // The Bluetooth Mate defaults to 115200bps
bluetooth.print("$"); // Print three times individually
bluetooth.print("$");
bluetooth.print("$"); // Enter command mode
delay(100); // Short delay, wait for the Mate to send back CMD
bluetooth.println("U,9600,N"); // Temporarily Change the baudrate to 9600, no parity
// 115200 can be too fast at times for NewSoftSerial to relay the data reliably
bluetooth.begin(9600); // Start bluetooth serial at 9600

myservol.attach(9); // de servo is verbonden met pin 9
myservor.attach(13); // de servo is verbonden met pin 9
}
void loop()
{
if(bluetooth.available()) // If the bluetooth sent any characters
{
// Send any characters the bluetooth prints to the serial monitor
//Serial.println((char)bluetooth.read());

dataFromBt = bluetooth.read();

if(dataFromBt == 'z'){
myservol.write(0);
bluetooth.print("1");
myservor.write(180);
bluetooth.print("0");

}
if(dataFromBt == 'b'){
myservol.write(95);
bluetooth.print("1");
myservor.write(95);
bluetooth.print("1");
}
if(dataFromBt == 'x'){
myservol.write(180);
bluetooth.print("0");
myservor.write(0);
bluetooth.print("1");
}

if(dataFromBt == 'y'){
myservor.write(110);
bluetooth.print("0");
myservor.write(80);
bluetooth.print("1");
}

if(dataFromBt == 'w'){
myservol.write(80);
bluetooth.print("1");
myservol.write(110);
bluetooth.print("1");
}
} }


We horen het graag als iemand ons kan helpen :)

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: HELP

Berichtdoor shooter » 07 Jun 2016, 15:41

als het nieuwe karakter gelijk is aan de vorige dan versnelling 2, maar ja er staat geen commentaar in je programma dus ik weet niet wat elke regel is.
dus je moet olddata=dataFromBt maken en kijken of beide gelijk zijn met ==
paul deelen
shooter@home.nl

Berichten: 44
Geregistreerd: 02 Aug 2015, 21:22

Re: HELP

Berichtdoor bruu » 08 Jun 2016, 15:39

Zo te zien heb je 5 knoppen ter beschikking:
z = draai naar links, x = draai naar rechts, y = draai schuin naar links, w = draai schuin naar rechts en b = vooruit.
Je zou bij b de waarde van myservor,write (95) en myservol.write(95) kunnen veranderen in bv. 130.
Maar dan gaat de robot altijd sneller.
Of je zou kunnen overwegen om bv de de schuin naar links beweging (knop y ) op te offeren en te gebruiken voor snel vooruit door daar de waarde bij myservor.write(110) en myservol.write(80) voor beiden te veranderen in 130 of 150.
Dus knop b voor langzaam vooruit en knop y voor sneller vooruit.
Henk

Berichten: 2
Geregistreerd: 07 Jun 2016, 14:45

Re: HELP

Berichtdoor MirteSuus » 13 Jun 2016, 09:29

shooter schreef:als het nieuwe karakter gelijk is aan de vorige dan versnelling 2, maar ja er staat geen commentaar in je programma dus ik weet niet wat elke regel is.
dus je moet olddata=dataFromBt maken en kijken of beide gelijk zijn met ==


Dankjewel voor je reactie, maar wat bedoel je precies met beide gelijk zij met == ?

Terug naar Forum suggesties

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten