Posts

Posts mit dem Label "BMA020" werden angezeigt.

Tippe die Lampe an

Bild
Letztes Jahr habe ich zu dem Sensor BMA020 bereits ein Code Beispiel für den Arduino gepostet . Nun dachte ich, da der so rum liegt, kann man den vielleicht auch mal für etwas verwenden. Also kam mir die Idee eine Lampe einzuschalten, in dem man gegen sie tippt oder leicht schlägt. Im späteren Verlauf stellte ich fest, dass einige Widerstände zu groß berechnet wurden. Die Abweichungen kommen durch die LED, die eigentlich für 12V ausgelegt sind und ich sie aber mit 9V betreibe. (Für den ATMega fehlt auf dem Bild der Quarz, PIN9 und PIN10) Zunächst skizzierte ich mir meine Schaltung und berechnete anhand des Schaltbildes die Widerstände. Dann sammelte ich meine benötigten Komponenten zusammen und steckte sie auf meinem Breadboard, um zu sehen ob meine Überlegung richtig ist. Versuchsaufbau der Schaltung Natürlich funktioniert die Schaltung nicht ohne einen Programmcode und daher musste ich mir zunächst etwas überlegen. Zum Beispiel wie ich aus den drei Achsen einen Wert

Beschleunigungswerte aus dem Sensor umrechnen

Bild
Die Sensoren MPU6050 und BMA020 Es gibt zwei Varianten, wie der Winkel errechnet werden kann. Als erstes Beispiel nehmen wir für einen Winkel von 90° einen imaginären Messbereich von 0 bis 100, der die Y Achse darstellt. Visuelle Darstellung der Achsenausrichtung. Dann könnte die Formel “(MaxWert / 90°) x Messwert = Winkel” lauten. Die Umsetzung ist relativ naheliegend und kann schnell im Programmcode geschrieben werden. // Variable mit dem Messwert int reading = 0; // Ergebnis = (Maximaler Wert / 90°) * Messwert double result = (100 / 90) * reading; Messbereich von 0 bis 100 Je nach Sensor ergeben sich andere maximale Wert. Beim MPU6050 geht der Messbereich von 0 bis 65535 und in Abhängigkeit, welche Einstellung gesetzt wurde, ergibt sich der “MaxWert”. Wenn z.B. der Sensor auf 8G initialisiert wurde, dann muss der Wert durch 8 geteilt werden und erhält somit den MaxWert = 8192. Dieser Wert wird erreicht, wenn die Achse 1G misst. // Variable mit dem Messwer

Beschleunigungssensor auslesen mit einem Netduino Plus

Bild
Arduino Plus, BMA020 und mein Sensor Shield Prototype Vielleicht hätte ich diesen Post früher veröffentlicht, wenn mich nicht andere Einflüsse behindert hätten. Dennoch habe ich es geschafft: statt mit dem Arduino Nano 3.0 ( zum Post ) habe ich den selben Sensor diesmal mit dem Netduino ausgelesen. Der Sinn dürfte klar sein, dass C und C# einfach sehr unterschiedlich sind. Das Prinzip ist allerdings das gleiche. Wobei es mit der mitgelieferten Bibliothek beim Arduino wesentlich kürzer erscheint, als beim Netduino und dem .Net Micro Framework. Anscheinend kommt man im C# nicht aus, ohne eine weitere Klasse zu schreiben, um an die Sensordaten heran zukommen. Bestimmt gibt es eine Lösung dafür, aber bei größeren Projekten macht es keinen Sinn. Zusammengesteckt und Verbindungen hergestellt Etwas lange habe ich nach einem Beispiel gesucht, wie man über den I²C Bus ein Modul erreicht und auch Daten bekommt. Die ersten Versuche zeigten sich mit Abstürzen und Abbruch des Program

Landestützen und Halterung für den Akku

Bild
Akku-Halter, Access Point und Mikrocontroller Allmählich nimmt mein Quadrocopter Gestalt an. Leider sind meine Motoren noch nicht eingetroffen, habe jedoch erfahren, dass ich sie vom Zoll abholen darf. Da hat wohl der Versender versäumt, erforderliche Rechnungen an das Paket zu kleben. Wie dem auch sei, habe ich zunächst weiter am Rumpf gearbeitet. Diesmal überlegte ich, wo ich eigentlich alles platzieren soll. Also Akku, Mikrocontroller und Access Point. Nach einigem Überlegen sägte, schleifte und bohrte ich an einer Halterung für den Akku. Anschließend kümmerte ich mich um ein fehlendes Teil, dass für die Landestütze notwendig war. Provisorische Ladestation für den Akku von meiner Bohrmaschine Etwas geplagt hat mich mein Akku für die Bohrmaschine, bis ich darauf kam einfach den Lipo Akku zu verwenden. Jetzt ist die stufenlose Kontrolle weg, dafür habe ich viel Power an der Bohrspitze. Lipo Akku an meiner Bohrmaschine. Nicht zum Nachammen geeignet Nachdem ich ei

Beschleunigungssensor auslesen mit einem Arduino Nano 3.0

Bild
Arduino Nano 3.0 und Modul mit einem Beschleunigungssensor Zugegeben habe ich etwas lange gebraucht, um zu verstehen, wie ich diesen Sensor auslesen kann. Das liegt einerseits daran, dass ich bisher noch nichts mit I²C oder SPI gemacht habe. Nachdem ich die Anleitung gelesen hatte, habe ich erst mal nur Bahnhof verstanden. Das änderte sich, als ich es hinbekam, die gemessenen Daten auszulesen. Da frage ich mich manchmal, warum ich das nicht gleich verstanden habe. Zum Glück gibt es ja google, das mich hin und wieder auf die richtige Seite bringt. Allerdings enthielten die Erklärungen teilweise große Lücken im Verlauf. Vielleicht schaffe ich es hier in meinem Blog dies näher und leichter zu erläutern. Und wenn nicht, kann hier entsprechend auch einen Kommentar abgeben werden für Verbesserungen. Dafür bin ich immer offen. Zunächst haben wir hier den Sensor von Bosch Sensortec, den BMA020. Auf den 2 Bildern ist das Modul zu sehen, auf den der Sensor gelötet ist. Im Grunde ist es d