{"id":640,"date":"2017-11-25T20:13:06","date_gmt":"2017-11-25T19:13:06","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=640"},"modified":"2020-08-16T23:22:14","modified_gmt":"2020-08-16T21:22:14","slug":"18-mod_bma-library-atmega","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/18-mod_bma-library-atmega\/","title":{"rendered":"18-MOD_BMA-Library (ATMega)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/17-mod_lcd-2x16-library-atmega\/\" title=\"17-MOD_LCD-2\u00d716-Library (ATMega)\"><span class=\"meta-nav\">\u2190<\/span> 17-MOD_LCD-2\u00d716-Library (ATMega)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/19-terminal-library-atmega\/\" title=\"19-Terminal-Library (ATMega)\">19-Terminal-Library (ATMega) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><br \/>\n-diese Library dient zum ansteuern eines <a href=\"https:\/\/www.digikey.de\/product-detail\/de\/bosch-sensortec\/BMA180\/828-1019-2-ND\/2416311\" target=\"_blank\" rel=\"noopener noreferrer\">BMA180<\/a> (3-Achs-Beschleunigungs-Sensor)<br \/>\nvon einem externen Modul das per SPI-BUS an die CPU angeschlossen ist.<\/p>\n<p>-die Library liest den Sensor aus und stellt die X-Y-Z-Beschleunigungsdaten als Globale Struktur bereit.<\/p>\n<p>-Die Aufl\u00f6sung kann per Software zwischen +\/-1G bis +\/-16G<br \/>\neingestellt werden. Der Sensor liefert 14bit ist also sehr genau. Zus\u00e4tzlich ist noch<br \/>\nein Temp-Sensor eingebaut, der auch ausgelesen werden kann.<\/p>\n<p>-der BMA180 ist an den SPI-Bus angeschlossen,<br \/>\naus dem Grund wird auch der SPI-Treiber<br \/>\n\u201cMK3_2560_SPI.h\u201d ben\u00f6tigt<\/p>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void EXT_INIT_BMA180(void);     \/\/ init vom BMA180\nvoid MK3_BMA180_getData(void);  \/\/ auslesen der Beschleunigungs-Daten\nvoid MK3_BMA180_setFilter(BMA180_FILTER filter); \/\/ stellt den Filter ein\nvoid MK3_BMA180_setRange(BMA180_RANGE range);    \/\/ stellt die Range ein\nvoid MK3_BMA180_enableINT(bool mode);            \/\/ stellt Interrupt EIN\/AUS<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/-----------------------------------------------------------------------------\n\/\/ Title      : prj_ub003_mk3_bma180\n\/\/-----------------------------------------------------------------------------\n\/\/ Funktion   : Beschleunigungs-Sensor-Modul (BMA180)\n\/\/ Schaltung  : myAVR MK3 + BMA180-Modul\n\/\/-----------------------------------------------------------------------------\n\/\/ Prozessor  : ATMega2560\n\/\/ Takt       : 16 MHz\n\/\/ Sprache    : C\n\/\/ Date       : 16.12.2010\n\/\/ Version    : 1.1\n\/\/ Autor      : UB\n\/\/-----------------------------------------------------------------------------\n#define F_CPU 16000000\n#include &lt;avr\/io.h&gt;\n#include &lt;ub_mk3_2560\/MK3_2560_LCD.h&gt;\n#include &lt;UB_EXT_MODULE\/EXT_MOD_BMA180.h&gt;\n\n\/\/-----------------------------------------------------------------------------\n\/\/ Hinweis : Quick-Jumper Port-C+A muss gesetzt sein\n\/\/           Externes-Modul (mit BMA180) muss angeschlossen sein\n\/\/           (siehe H-File vom BMA180)\n\/\/           Nach der init des BMA180 werden die X,y,Z-Rohdaten\n\/\/           und die Temperatur-Rohdaten auf dem Display angezeigt\n\/\/\n\/\/           Vorsicht : es sind keine G-Werte oder Grad-Celsius-Werte !!\n\/\/-----------------------------------------------------------------------------\nint main (void) {\n  char wert;\n  unsigned int uint;\n  unsigned int pause=0;\n\n  MK3_INIT_LCD(); \/\/ init des LCD\n  EXT_INIT_BMA180(); \/\/ BMA180 initialisieren\n\n  MK3_LCD_CLEAR(); \/\/ LCD loeschen\n  MK3_LCD_LIGHT(true); \/\/ beleuchtung einschalten\n\n  MK3_LCD_STRING_AT(0,0,\"BMA180-Projekt [V1.1]\");\n\n  if(EXT_BMA180_OK==true) {\n    MK3_LCD_STRING_AT(0,16,\"BMA180 an SPI OK\");\n    \/\/ Filter einstellen\n    MK3_BMA180_setFilter(BMA_FILTER_10Hz);\n\n    while (true) {\n      MK3_LCD_STRING_AT(100,16,\".\");  \/\/ als Pause\n      pause++;\n      if(pause&gt;1000) {\n        pause=0;\n        MK3_BMA180_getData();\n        \/\/ X-Daten anzeigen\n        MK3_LCD_STRING_AT(0,32,\"X=       \");\n        if(EXT_BMA180.raw.x_negativ==true) MK3_LCD_STRING_AT(12,32,\"-\");\n        uint=EXT_BMA180.raw.x_achse;\n        MK3_LCD_UINT_AT(18,32,uint);\n        \/\/ Y-Daten anzeigen\n        MK3_LCD_STRING_AT(0,40,\"Y=       \");\n        if(EXT_BMA180.raw.y_negativ==true) MK3_LCD_STRING_AT(12,40,\"-\");\n        uint=EXT_BMA180.raw.y_achse;\n        MK3_LCD_UINT_AT(18,40,uint);\n        \/\/ Z-Daten anzeigen\n        MK3_LCD_STRING_AT(0,48,\"Z=       \");\n        if(EXT_BMA180.raw.z_negativ==true) MK3_LCD_STRING_AT(12,48,\"-\");\n        uint=EXT_BMA180.raw.z_achse;\n        MK3_LCD_UINT_AT(18,48,uint);\n        \/\/ Temperatur anzeigen\n        MK3_LCD_STRING_AT(0,56,\"T=       \");\n        if(EXT_BMA180.raw.t_negativ==true) MK3_LCD_STRING_AT(12,56,\"-\");\n        uint=EXT_BMA180.raw.temperatur;\n        MK3_LCD_UINT_AT(18,56,uint);\n      }\n    }\n  }\n  else {\n    MK3_LCD_STRING_AT(0,16,\"BMA180 nicht gefunden\");\n\n    while(true) {\n\n    }\n  }\n  return 0;\n}\n<\/pre>\n<p>Hier die Library zum download :<\/p>\n<p><a href=\"wp-content\/uploads\/2013\/02\/UB_EXT_MOD_BMA180_v105.zip\">UB_EXT_MOD_BMA180_v105<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>-diese Library dient zum ansteuern eines BMA180 (3-Achs-Beschleunigungs-Sensor) von einem externen Modul das per SPI-BUS an die CPU angeschlossen ist. -die Library liest den Sensor aus und stellt die X-Y-Z-Beschleunigungsdaten als Globale Struktur bereit. -Die Aufl\u00f6sung kann per Software zwischen &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/atmega2560\/komplette-library-liste-atmega\/18-mod_bma-library-atmega\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":554,"menu_order":18,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[127],"tags":[11,43,9],"class_list":["post-640","page","type-page","status-publish","hentry","category-atmega","tag-atmega2650","tag-bma180","tag-library"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=640"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/640\/revisions"}],"predecessor-version":[{"id":3029,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/640\/revisions\/3029"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/554"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=640"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}