Open brightproject opened 7 months ago
Hello, Thank you for your interest in this project. Yes, I actively used it for quite a while until I sold the plane and moved to another country. Unfortunately this also means that the project is abandoned now. You can find a write-up of the concepts on hackaday. Kind regards
Hello, Thank you for your interest in this project. Yes, I actively used it for quite a while until I sold the plane and moved to another country. Unfortunately this also means that the project is abandoned now. You can find a write-up of the concepts on hackaday. Kind regards
Yes, I read the concept on hackaday
.
From the code in the repository, I didn’t quite understand, did you get the orientation angles (roll, heading and yaw) from the MEMS
gyroscope and accelerometer sensor?
When I saw this diagram, I thought you doing AHRS
.
As I understand it, the navigation module received data from MEMS
sensors and transmitted them via the CAN
bus to another microcontroller, which in turn displayed attitude indicator information on the display.
Or your device did not display a picture of the attitude indicator, but only this data:
// compass with GPS heading
draw_compass(31,31,pid_vals[17].val);
// fuel level: text
LCD_string((char*)"Fuel ", 0, 117, font_sml2);
ptr = mprint_float(tmp_str, pid_vals[7].val, 2, 2); // 48.63l
strcpy(ptr,"l");
LCD_string(tmp_str, LCD_X-6*4, 117, font_sml2);
// fuel level: bottom hbar
draw_hbar(0,123,64,5,pid_vals[7].val*100.0/50.0);
// bus voltage: bottom right
ptr = mprint_float(tmp_str, pid_vals[0].val, 2, 1); // xx.xV
strcpy(ptr,"V");
LCD_string(tmp_str, 0, 111, font_sml2);
// h20 temp: bottom left (1 line up)
ptr = mprint_float(tmp_str, pid_vals[8].val, 2, 1); // xx.x
strcpy(ptr," C");
LCD_string(tmp_str, LCD_X-24, 110, font_sml2);
lcd_setpixel(LCD_X-6,110,LCD_BLACK); // degrees dot
// Altitude
ptr = mprint_float(tmp_str, pid_vals[19].val, 4, 0); // 5560 ft
strcpy(ptr," ft");
LCD_string(tmp_str, 32-3.5*6, 65, font_def);
// Velocity
ptr = mprint_float(tmp_str, pid_vals[18].val, 2, 0); // 54 mph
strcpy(ptr," mph");
LCD_string(tmp_str, 32-3*6, 65+9, font_def);
// RPM
ptr = mprint_float(tmp_str, pid_vals[3].val, 4, 0); // 2240 rpm
strcpy(ptr," RPM");
LCD_string(tmp_str, 31-4*4, 88, font_sml1);
LCD_line(4,95,LCD_X-1-4,95,LCD_BLACK);
u8 rpm_ratio = pid_vals[3].val*(LCD_X-8)/8000.0;
LCD_line(4+rpm_ratio,97,4+rpm_ratio,94,LCD_BLACK);
LCD_line(3+rpm_ratio,97,3+rpm_ratio,94,LCD_BLACK);
// engine on time: bottom left (2 lines up)
ptr = mprint_float(tmp_str, pid_vals[5].val*60.0, 3, 0); // 012m
strcpy(ptr,"m");
LCD_string(tmp_str, 0, 104, font_sml2);
// Time in UTC
u8 *fl_ptr;
fl_ptr = (u8*)&pid_vals[20].val;
ptr = mprint_int(tmp_str, fl_ptr[2], 10, 2); // 06:54
*ptr++ = ':';
mprint_int(ptr, fl_ptr[1], 10, 2);
LCD_string(tmp_str, LCD_X-5*4, 104, GLCD_ROTATE_0,GLCD_FONT_3x5,LCD_BLACK,5);
Why was MPU6050 used in the project?
Do you have any photos of the display with the menu and in operation?
Can you tell me what part of the circuit this is?
Can you also add a *pdf
file of the diagram to the folder?
nav_sch.pdf
I'm interested in understanding your code and rewriting it for STM32
for a color display.
Good afternoon @rbroich Your project is interesting, are you still developing it? How are things going with the AHRS / Nav module? Have you tried it in real flights? If you are interested, you can chat.