Hallo liebe Community! Setup: Ich benutze einen Atmega328-PU mit angeschlossenem HC-05 (ZS-040), der die simple Aufgabe hat eine 0 oder 1 zu empfangen und dann auf relayPins durchzuschalten. Problem: Bespiele ich den 328'er per Arduino als ISP mit dem Sketch und stecke den IC dann in das Arduinoboard um das ganze zu testen funktioniert das ganze wie gewollt: ich bekomme per BluetoothTerminal AndriodApp die Meldung das mein Bluetooth aktiviert ist und sende ich eine 1 schaltet das Relay und bei 0 wird geöffnet. - stecke ich den mega aber in mein selfmade-board funktioniert nur mehr das senden aber das Board empfängt keine korrekten Daten mehr sprich die Relays schalten nicht mehr. Man könnte nun natürlich einen Seriellenport eines Arduino benützen um zu sehen was ich empfange nur denke ich nicht das das mein Problem beheben wird daher das ganze ja unter dem Arduinoboard mit bespielten MC funktioniert. Hat das ganze damit zu tun das bei meinem selfmade-board Komponenten fehlen? oder fehlen nur ein paar Kondensatoren an der richtigen Stelle? Zum selfmade-board gibts nicht viel zu sagen es besteht lediglich aus einer Stromversorgung 5V, einer treiberstufe (ULN2003A) und 2 relays alle Lötstellen etc. wurden geprüft das Board dürfte in Ordnung sein und wurde getestet mit einfacheren Beispielen. Code:
1 | #include <SoftwareSerial.h> |
2 | |
3 | SoftwareSerial btserial(10, 11); // RX, TX |
4 | |
5 | int RelayPin=13; |
6 | int RelayPin2=12; |
7 | char BluetoothData; |
8 | |
9 | void setup() |
10 | {
|
11 | btserial.begin(9600); |
12 | btserial.println("bluetooth on - press 1-0 or 3-4"); |
13 | pinMode(RelayPin, OUTPUT); |
14 | pinMode(RelayPin2, OUTPUT); |
15 | |
16 | }
|
17 | |
18 | void loop() // run over and over |
19 | {
|
20 | if (btserial.available()){ |
21 | BluetoothData=btserial.read(); |
22 | if(BluetoothData=='1'){ |
23 | digitalWrite(RelayPin, HIGH); |
24 | btserial.println("relay on pin 13 is on"); |
25 | }
|
26 | if(BluetoothData=='0'){ |
27 | digitalWrite(RelayPin, LOW); |
28 | btserial.println("relay on pin 13 is off"); |
29 | }
|
30 | if(BluetoothData=='3'){ |
31 | digitalWrite(RelayPin2, HIGH); |
32 | btserial.println("relay on pin 12 is on"); |
33 | }
|
34 | if(BluetoothData=='4'){ |
35 | digitalWrite(RelayPin2, LOW); |
36 | btserial.println("relay on pin 12 is off"); |
37 | }
|
38 | }
|
39 | delay(100); |
40 | }
|