Hallo Forum, Ich würde gerne mit meinen Arduino Uno eine einfache spannungsabfrage durchführen wollen, doch weiß ich leider nicht welche ein/ausgänge ich dafür verwenden soll. Ich möchte durch einen Draht einen Spannung laufen lassen (am besten ausgehend vom Arduino) und möchte einfach prüfen ob eine Spannung da ist oder nicht. Ich habe gelesen, dass ich dafür die Analogen eingänge verwenden muss. Und das ich einen GND verwenden muss. Jetzt ist die frage ob es nur die beiden sind oder ob ich auch den 3,3v ausgang verwänden muss damit ich eine Spannung da habe, da ja weder der GND noch der Analoge eingang mit V liefert. LG Leiche
Äh, ja... Eine Spannung messen kannst du über den ADC. Die Spannung muß natürlich irgendwo her kommen... Oliver
Nicolai L. schrieb: > Ich möchte durch einen Draht einen Spannung laufen lassen (am besten > ausgehend vom Arduino) und möchte einfach prüfen ob eine Spannung da ist > oder nicht. Mein Tipp: male einen Schaltplan. Das ist 1. das Kommunikationsmittel von Elektronikern und 2. wird dir dann evtl. selber schon klar, was geht und was nicht...
Nicolai L. schrieb: > Ich möchte durch einen Draht einen Spannung laufen lassen Das ist mir noch nie gelungen (glaube ich) Nicolai L. schrieb: > und möchte einfach prüfen ob eine Spannung da ist > oder nicht. Dafür dürfte ein digitaler Port reichen. Außer, du willst die Länge des Drahtes (oder irgendwas anderes exotisches) bestimmen....
Danke darüber hab ich noch nicht nachgedacht. Jetzt hab ich nur noch das problem wie ich alles zusammenschließe :(
ich nehme den GND als erdung, den 3,3 als quelle und den Digitalen eingang als Messung von HIGH und low, Ich werde auch einen Wiederstand brachen damit ich keinen Kurzen bekomme. Es ist eigentlich egal welchen wiederstand ich nehme das ich ja nur wissen will 0 oder 1. aber ich kann ja nicht die Kabel einfach so zusammenlöten. Ich steh an :(
Das ganze macht keinen Sinn. Du willst eine Spannung (z.B. die 5 V) vom Arduino nehmen, durch einen Draht schicken und dann mit einem Eingang des Arduinos schauen, ob die Spannung ankommt. Möchtest du prüfen ob dein Draht kaputt ist? Schreib doch einfach was du wirklich willst!
ich lass ein loop laufen und wenn die spannung weg ist weiß ich das jemand den draht durchgeschnitten hat
Du brauchst keine Widerstände, die hat der Arduino schon eingebaut. Du legst deinen Draht von GND zum (digitalen) Eingang. Dann schreibst du dein Programm: # define Eingang 1; void setup() { pinMode(Eingang, INPUT_PULLUP); } void loop() { if(digitalRead(Eingang){ // hier muss was stehen, was passieren soll wen der draht durch ist } delay(1000); }
Also das ist zur Zeit meine Idee wie ich das machen will. Was sagt ihr?
ich weiß das da noch 2 Widerstände fehlen. Ich wollte nur wissen ob es vom Prizip her gehen würde. Wenn das kabel vom Pullup-Resistor getrennt wird. dann sollte Low gemessen werden und dann kommt ein Signal zum GSM-Shield und eines zum Transistor damit beide Aktiviert werden. Meint ihr die Schaltung stimmt im Ansatz oder was würdet ihr anders machen?
Die LED ist jetzt gerettet. Aber das lohnt kaum, weil der Transistor sowieso nicht schaltet. Unverändert. Klarer: Null Basisstrom, multipliziert mit dem hFE des Transistors ergibt Null Laststrom.
U. C. schrieb: > Die LED ist jetzt gerettet. > Aber das lohnt kaum, weil der Transistor sowieso nicht schaltet. > Unverändert. > > Klarer: > Null Basisstrom, multipliziert mit dem hFE des Transistors ergibt Null > Laststrom. Was dieser Experte sagen will, aber infolge mangelnden Benehmens nicht schafft: Die Minus-Pole beider Spannungsquellen müssen verbunden werden.
Interessant! Tölpelfinder schrieb: > Experte Danke für die Blumen. Tölpelfinder schrieb: > mangelnden Benehmens Das Kompliment kann ich ungeschmälert zurückgeben! Bitte! Tölpelfinder schrieb: > sagen will Nein, das wollte ich nicht sagen. Ich weiß ja viel zu wenig über den konkreten Einsatzzweck. Evlt. ist ja eine ganz andere Lösung viel sinnvoller.
Also eine Alarmanlage die über GSM den Zustand verschickt. Typisch schickt man einen bestimmten Strom durch die Leitung (~1 mA) und überwacht diesen. Neben dem Alarmkreis der als Öffner ausgelegt ist gibt es dann noch den Sabotagekreis.
Nicolai L. schrieb: > Das wäre der Aktuelle Schaltplan Der Knoten mit Vin und +5V von Arduino Uno und GSM Schild gibt mir noch etwas sehr zu denken. Bevor du das aufbaust, müssen im Schaltplan noch ein paar Werte eingetragen werden. p.s. Warum verwendest du eigentlich diese amerikanischen Ziehharmonikawiderstände?
Verwendungszweck = Eine Diebstahlssicherung für ein Fahrrad (gemacht in Rahmen einer Diplomarbeit für den Abschluss an einer HTL ) Wie ihr sicher seht habe ich bei D2 und D7 mit verbindung zu Ground einen Pullup wiederstand eingebaut. die verbindung von D7 zu Ground ist dann ein Draht der durch das Fahrradschloss gezogen ist. Sollte dann Jemand diese Verbindung Kappen so wird dann das GSM shiel aktiviert und bin D8 (für den noch kein Code geschrieben ist (da ich noch nicht genau weiß wie ich das mache)) soll dann den Transistor "aktivieren". Hiermit wird dann der Piezo (Speaker) und das LED eingeschaltet. Ich hoffe ich hab alles so gut wie geht erklärt. Daher ich leidergottes mich dieses Jahr zum ersten mal Ernsthaft mit der Elektrotechnik beschäfftige würde ich euch bitten das ihr mir die Fehler die ich amche verzeiht und mir gute Ratschläge gibt. Hier mein Code zu dem Ganzen: (ja ich weiß, das er zu einem Teil aus einem Example kopiert ist. Aber warum nicht. Funktionieren sollte es) #include "SIM900.h" #include <SoftwareSerial.h> //If you want to use the Arduino functions to manage SMS, uncomment the lines below. #include "sms.h" SMSGSM sms; //To change pins for Software Serial, use the two lines in GSM.cpp. //Zum aktivieren des GSM-Shieldes und des Alarms int numdata; boolean started=false; char smsbuffer[160]; char n[20]; //debug begin char sms_position; char phone_number[20]; // array für die Telefonnummern char sms_text[100]; int i; //debug end void setup() { pinMode(2,OUTPUT); pinMode(7,INPUT); digitalWrite(7,HIGH); //Serial connection. Serial.begin(9600); Serial.println("GSM Shield testing."); //Start der Configuration des GSM-Shields //For http uses is raccomanded to use 4800 or slower. if (gsm.begin(4800)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); } void loop() { if(digitalRead(7) == LOW) { //Hier wird der Alarm gestartet und das GSM-Shield sendet die SMS digitalWrite(2,HIGH); if(started) { //Zum Sms senden if (sms.SendSMS("06605557559", "Dein Fahrrad wird gestohlen!")) Serial.println("\nSMS sent OK"); //Sollte kein Platz für neue SMSen auf der Sim sein. Werden hier die SMSen gelöscht. for(i=1;i<=20;i++) { sms.DeleteSMS(i); } } } else { digitalWrite(2,LOW); } }
42+ schrieb: > p.s. Warum verwendest du eigentlich diese amerikanischen > Ziehharmonikawiderstände? da ich mit Fritzing arbeite.
@Nicolai
Ein paar Fehler wurden ja schon moniert. Wie zum Bleistift die fehlende
Masseverbindung.
>ich weiß das da noch 2 Widerstände fehlen.
Mit solchen Aussagen machst Du Dir hier bestimmt viele Freunde.
"Schaut doch mal nach ob das so geht!" Das was bleibt dabei unklar, weil
ja noch ein paar Teile fehlen;-)
Hältst Du es würglich für sinnvoll, das Programm schon anzufangen,
obwohl die Hardware mit Sicherheit noch nichts sinnvolles liefert?
Ich bin mir zwar immer noch nicht sicher, was Du überhaupt vorhast, ich
werde aber das Gefühl nicht los, dass Du riesige Probleme mit einer
angemessenen Reihenfolge hast.
So nach dem Motto: Über die Radaufhängung bei meinem Auto habe ich mir
noch keine Gedanken gemacht, volltanken tu ich aber schon mal.
da ich mein Grundkonzept habe, und in der Theorie auch schon weiß wie ich es anstellen soll. Kann ich schon mit den Code beginnen. was mir halt fehlt sind einfach die Basics in der Elektrotechnik. Wie ich die Widerstände ausrechne und was ich für einen Transistor verwende weiß ich. Allerdings weiß ich halt nicht wie ich mein Konzept dann in die Tat umsetzte. Es liegen halt Welten zwischen Theorie und Praxis.
Nicolai L. schrieb: > Wie ihr sicher seht habe ich bei D2 und D7 mit verbindung zu Ground > einen Pullup wiederstand eingebaut. die verbindung von D7 zu Ground ist > dann ein Draht der durch das Fahrradschloss gezogen ist. D2 ist nirgendwo angeschlossen, außer am Pulldown R1. Was soll das? D7 hat keinen Pullup. Nebenbei: es wäre sehr hilfreich, wenn man im Schaltplan die gewünschten Funktionen erkennen kann, hier: in der Verbindung von D7 nach GND wäre ein Symbol (Kontakt) oder zumindest einen Text nicht schlecht. Und die Verbindung der GNDs von VCC1 und VCC2 fehlen IMMER noch!!! Hinweis: Ein Stromkreis ist ein Kreis. Hier: VCC1 - Arduino Vin - Arduino D8 - R2 - Basis von Q1 - Emitter von Q1 - GND von VCC2: und wo fließt der Strom jetzt weiter? Sein Ausgangspunkt war VCC1 - da muss er wieder hin!!! Gruß Dietrich
Hallo Leute hab nochmal mein ganzes Hirnschmalz zusammen gesammelt und alles überarbeitet. Transistor ist draußen, da ich trottel mich verschaut (dachte mein Piezo frisst mehr Strom). Ich hab alles auf eine Spannungsquelle umfunktioniert :D Außerdem habe ich die PullUP abfrage jetzt intern geregelt. Da Arduino UNO, dass eh von alleine kann. Hab das Ganze auch schon aufgebaut und es funktioniert auch so wie ich will :D Sieht jetzt so aus: (Siehe Bild)
Für jeden den es Interessiert wie der Code aussieht: #include "SIM900.h" #include <SoftwareSerial.h> #include "sms.h" SMSGSM sms; //Zum aktivieren des GSM-Shieldes und des Alarms int numdata; boolean started=false; char smsbuffer[160]; char n[20]; //debug Beginn char sms_position; char phone_number[20]; // array für die Telefonnummern char sms_text[100]; int i; //debug Ende int massageSend = 0; void setup() { //Setzen der Ports pinMode(2,OUTPUT); pinMode(7,INPUT); digitalWrite(7, HIGH); //Serial Verbindung Serial.begin(9600); Serial.println("GSM Shield testing."); //Start der Konfiguration des GSM-Shields if (gsm.begin(4800)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); } void loop() { if(digitalRead(7) == LOW) { //Kein Signal geben digitalWrite(2,HIGH); massageSend = 0; } else { //Hier wird der Alarm gestartet und das GSM-Shield sendet die SMS digitalWrite(2,LOW); delay(300); digitalWrite(2,HIGH); delay(300); digitalWrite(2,LOW); if(started && massageSend == 0) { //Zum Sms senden if (sms.SendSMS("06605557559", "Dein Fahrrad wird gestohlen!")) Serial.println("\nSMS sent OK"); //Damit die SMS nur einmal gesendet wird. massageSend = massageSend + 1; //Sollte kein Platz für neue SMSen auf der Sim sein. Werden hier die SMSen gelöscht. for(i=1;i<=20;i++) { sms.DeleteSMS(i); } } } }
Oh mein Gott mir ist ein Fehler unterlaufen Natürlich Hat das Rote LED keine 2.1ma sonder 2.1V Danke für eure Hilfe. Ihr seids SUPER!!!
Nicolai L. schrieb: > (gemacht in Rahmen einer > Diplomarbeit für den Abschluss an einer HTL ) Denk' ich an Deutschland in der Nacht, so bin ich um den Schlaf gebracht. Ich kann nicht mehr die Augen schließen, und meine heißen Tränen fließen.
Route 6. schrieb: > Nicolai L. schrieb: >> (gemacht in Rahmen einer >> Diplomarbeit für den Abschluss an einer HTL ) > > Denk' ich an Deutschland in der Nacht, > so bin ich um den Schlaf gebracht. > Ich kann nicht mehr die Augen schließen, > und meine heißen Tränen fließen. Ich darf doch hoffen dass an einer Diplomarbeit mehr dran ist als lediglich eine kleine Woche mit Arduino und Fritzing herumfrickeln...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.