Hallo
Ich möchte eine Lichtsschranke bauen, welche, wenn sie durchbrochen
wird, ein Funksignal mit einem NRF24L01 an einen Arduino Uno schickt.
Ich habe eine Platine gelötet und das ganze hat auch funktioniert, doch
seit ich sie aufstellen wollte und die Platine mit Klebeband an einen
Batterietank(4,5V) geklebt habe, funktioniert gar nichts mehr. Ich habe
fast alle Drähte ausgetauscht, den NRF24L01 neu verkabelt und die ISP
Header entfernt( die Software funktionierte ja schon und ohne den
Headern ist es übersichtlicher),trotzdem keine Verbesserung! Im Anhang
sind noch Fotos der Platine zu finden!
Hier die Software:
Fotos wurden mit einem iPhone 4 gemacht. Das ganze sendet jetzt wieder,
allerdings gibt es ein paar Probleme mit dem Button: Das Programm
reagiert so, als ob er permanent gedrückt wäre.
Angeschlossen ist er so:
Pin 0 ---------10k------GND
|
\
|
VCC
Software (jetzt ein bisschen verändert):
Da könnte man eventuell noch eine Fehlerbehandlung einbauen. Ich habe
den Code aus einem vorherige Projekt übernommen und angepasst. Aber was
ist mit diesem Button los? Was für Abblockkondensatoren brauche ich denn
noch?
Roman B. schrieb:> Was für Abblockkondensatoren brauche ich denn> noch?
Direkt an der Speisung des IC ein 100nF Keramik-Kondensator.
Wie wird das nun gespiesen? Die Spannung bricht aber nicht ein?
Roman B. schrieb:> ist if(digitalRead(0)) nicht dasselbe wie if(digitalRead(0)==HIGH)?
Ja sollte, aber probiere aber mal einen ganz einfachen Code mit einer
LED am Ausgang
1
if(digitalRead(0)==HIGH)
2
{
3
digitalWrite(ledPin,HIGH);
4
}
5
else
6
{
7
digitalWrite(ledPin,LOW);
8
}
Roman B. schrieb:> Das mit den kondensatoren musst du mir genauer erklären. wozu sind die?
Um kurze Spannungseinbrüche am IC zu eliminieren, die entstehen immer
bei schnellen Schaltvorgängen. Solche Kondensatoren sind Pflicht einfach
an den VCC und den GND Pin ein 100nF Kermik-C nahe daran löten.
Es können auch etwas weniger oder mehr als 100nF sein, falls nicht
verfügbar.
Was ist es für eine Speisung?
Roman B. schrieb:> Hat noch jemand eine Idee?
Den Abblock-C hast du platziert?
Wenn es schon mal funktioniert hat mit genau diesem Code und dieser
Schaltung, wirst du nun irgendwo ein Kurszchluss oder Unterbruch haben.
Du musst das Problem in kleiner Teile aufteilen und überprüfen.
Lade z.B. mal einen ganz einfachen Code, wie oben, darauf nur um den
Taster abzufragen und anzuzeigen, so siehst du z.B. ob mit dem Taster
und dem Eingang alles richtig ist. Auch das Modul mal weglassen. So
musst du dich Stück um Stück durchkämpfen.