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?
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...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(); } */ } }







Zitieren

Lesezeichen