ich hab schon wieder ein problem mit BT, bzw. den seriellen schnittstellen:
für mein e-bike habe ich mir eine (als ersatz für die original - ausgefallene) bedienung über einen pro-mini arduino und smartphone gebaut. Und die funktioniert auch, mit soft-serial, weil der mini ja nicht mehr serielle schnittstellen hat....
Code:
#include "SoftwareSerial.h"
#include "Arduino.h"
//board "arduino pro or pro mini"
//processor Atmega 328P, 5V, 16mhz
uint8_t sensor = 6;
uint8_t LED = 13;
uint8_t sinus;
uint8_t helligkeit = 25;
uint8_t helligkeit_endzustand = 0;
uint8_t fadeschritte = 5;
long taste_neu = 0;
long taste_alt = 8;
#define rxPin 10 //8
#define txPin 11 //7
SoftwareSerial mySerial(rxPin, txPin); // RX, TX
void setup()
{
pinMode(LED, OUTPUT);
pinMode(sensor, OUTPUT);
Serial.begin(115200);
mySerial.begin(115200);
Serial.println("bluetooth übertragung!");
}
void loop()
{
while (mySerial.available())
{
taste_neu = mySerial.read();
// Serial.println(taste_neu);
if (taste_neu == 56 )
{
alles_auf_null();
}
else if (taste_neu == 57)
{
vorwaerts();
}
else if (taste_neu == 48)
{
plus();
}
else if (taste_neu == 49)
{
minus();
}
}
}
Jetzt versuche ich den code auf den Atmega 2560 umzustricken - ganz easy, würde man denken, blos es funktioniert nicht. Warum? Bin ich blind, oder blöd?
Code:
#include "Arduino.h"
uint8_t LED = 13;
long taste_neu = 0;
long taste_alt = 8;
void setup()
{
pinMode(LED, OUTPUT);
Serial.begin(115200);
Serial1.begin(115200);
Serial.println("bluetooth übertragung!");
}
void loop()
{
while (Serial1.available())
{
taste_neu = Serial1.read();
Serial.println(taste_neu);
/*
if (taste_neu == 56 )
{
alles_auf_null();
}
else if (taste_neu == 57)
{
vorwaerts();
}
else if (taste_neu == 48)
{
plus();
}
else if (taste_neu == 49)
{
minus();
}
*/
}
}
beim zweiten code ist die abfrage der tastenwerte auskommentiert, ich möchte die von der app generierten werte nur ausdrucken, es kommen aber nur nullen...
Lesezeichen