![]() |
發(fā)布時間: 2023-10-22 11:10
正文摘要:使用arduino nano和一個MPU6050就可制做一臺電子水平儀。根據(jù)被測平面的水平狀態(tài)電子水平儀可直接用數(shù)字顯示出來,非常方便使用。當(dāng)電池電壓低于1V時則可顯示LOW。外觀結(jié)構(gòu)圖如下。如有需求再將程序奉 ... |
可以 電池直接用低壓差的3.3降壓芯片、給nona供電 ,不用升壓。 |
q202cs 發(fā)表于 2023-10-22 21:05 MPU6050 NANO OLED 5V <------- VCC VCC --------> 3.3V GND --------> GND <------- GND SCL --------> A5 <------- SCL SDA --------> A4 <------- SDA USB固定5V升壓模塊拆除USB端口以減小體積。負(fù)輸入通過撥動開關(guān)接電池負(fù)極,正輸入接電池正極及NANO的A0,輸出接NANOD的5V端口。 程序如下: #include <Adafruit_MPU6050.h> #include <Adafruit_Sensor.h> #include "U8glib.h" Adafruit_MPU6050 mpu; U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); void setup(void) { Serial.begin(115200); while (!Serial) { delay(10); // will pause Zero, Leonardo, etc until serial console opens } // Try to initialize! if (!mpu.begin()) { Serial.println("Failed to find MPU6050 chip"); while (1) { delay(10); } } mpu.setAccelerometerRange(MPU6050_RANGE_16_G); mpu.setGyroRange(MPU6050_RANGE_250_DEG); mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); Serial.println(""); delay(100); } void loop(void) { sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); int val=analogRead(A0); if(val<200) { u8g.firstPage(); do { u8g.setFont(u8g_font_osb21); u8g.setPrintPos(40, 32); u8g.print("LOW"); } while( u8g.nextPage() ); } else { u8g.firstPage(); do { u8g.setFont(u8g_font_osb26n); u8g.setPrintPos(40, 32); u8g.print(a.acceleration.y); } while( u8g.nextPage() ); } Serial.println(a.acceleration.y); delay(1000); } |
怎么個搞法, 思路發(fā)一下也可以 |
老板,制作過程呢?程序源碼呢? |
Powered by 單片機(jī)教程網(wǎng)