The discussion of the Alien series of films and the props used in them is the aim, but if it's got Big Bugs and Big Guns, then they are welcome too!





Post new topic Reply to topic  [ 17 posts ] 
Author Message
 Post subject: A new approach on the smart gunner headset
PostPosted: Sat Dec 21, 2019 9:22 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
I will still look at the more expensive model setup as it has more broadcast quality options, but probably for the helmet camera.

For the headset display:
https://www.aliexpress.com/item/7938743 ... 4c4d3Nrnju

1.5 -inch LCD screen video driver board 1.5 -inch LCD driver module 1.5 -inch LCD screen+AV Driver board

Module main parameters
Model number: ZT015GS01
Video formats: automatic switching double system NTSC/PAL
Screen size: 1.5 inch
LCD models: 990000601 - V0.1
Than 3 PuBing screen scale: 4
LCD screen size: 37.1 (W) x 32.7 (H) x 2.6 mm (D)
Display area: 29.79 (H) x 22.32 mm (V)
Resolution: 480 (W) x 240 (H)
Distance: 0.0625 (W) x 0.0938 mm (H)
The input voltage: DC 3 v to 15 v
Power consumption: 0.1 W or less
Yellow RCA interface: video input
Red: lead the positive input power supply
Black: lead to
Note:
Please connected ACC to 9-12V.
Package content:
1. 1.5-inch driver board
2. 1.5 inch 480*240 LTPS Lcd Panel TD015THEB2
3. AV cable

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sat Dec 21, 2019 9:53 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
This is an Arduino based shield overlay:

http://www.tinyosshop.com/arduino-osd-shield

This is a MAX7456 OSD(On Screen Display) shield for Arduino. The user can easily interrupt and overlay text and/or graphics onto a video signal (PAL or NTSC). It's just about “plug-and-play” with an Arduino board. Plug this shield on Arduino main board, uploading test sketch. Plug in your video signal to “Video In”, plug your TV into “Video Out”. It will works.

Features:
Current consumption 100mA, worst case
5V SPI interface

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sat Dec 21, 2019 11:49 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
Attachment:
smartgun.png
smartgun.png [ 370.44 KiB | Viewed 7507 times ]


Looks like the following things are displayed on the HUD:
weapon temp
ammo level
lat, long
cardinal direction in degrees

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Dec 24, 2019 10:08 am 

Location: USA
Service Number: A02/TQ0.0.52138E2
Country: United States
Remember to focus, my apprentice. ;-)




Psst... you're gonna need a lens.


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Tue Dec 24, 2019 8:27 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
Cheaper can be quicker. Let me get the parts in first. I hope to have a half done smart gunner by the time far point con hits. I hope to have the smart gunner headset done by the time fanboy hits.

The main concern is getting the movable monocle situation sorted.

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 27, 2019 11:11 pm 
GarageGeek
User avatar

Country: United States
was thinking about this thread and that tiny screen you were looking at. You know when you look through binnoculars backward and it makes things smaller? that type of lense in front of a screen could probably allow your eye to focus on it better and give it a fish eye look.


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Mon Dec 30, 2019 12:25 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
I was doing some product research. Apparently there are not a whole lot of smart glasses manufacturers out there and HUD options for helmets is just coming out as well. The military has some options for their fighter pilots but that has been out there for a while.

https://newatlas.com/army-heads-up-disp ... tar/49726/
https://www.quora.com/Why-cant-won’t-the-military-give-soldier’s-helmets-with-a-heads-up-display
https://newatlas.com/inteliscope-iphone ... ght/27644/
https://www.rideapart.com/articles/2526 ... nd-camera/
https://www.indiegogo.com/projects/hudl ... m=referral
http://home.bt.com/tech-gadgets/tech-ne ... 3877420093
https://www.slashgear.com/vuzix-to-intr ... -08207202/
https://www.bikebandit.com/blog/the-fut ... rt-helmets
https://www.vuzix.com/products/m-series
https://www.vuzix.com/products/blade-smart-glasses

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sun Feb 02, 2020 12:43 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
Got the OSD shield working. It displays temp and cardinal direction data. I have an RTC and GPS module on the way. GPS is going to be not so good as area here has severely bad GNSS reception, and I could not find an eLORAN adapter that I could plug into an Arduino

I will need to see what options I can do on the cheap for the lens to aid in focusing with near eye positioning...

Code:
/* VideoTimeInserter.ino Demonstrates a very basic on screen time display.
   This example code is in the public domain.   Requires Arduino 1.0 or later.
   History : 1.0 ~ Creation of MAX7456Demo from MAX7456Demo 0.4 2013.01.31 - F. Robert Honeyman <www.coldcoredesign.com>
             1.1 ~ for OSD Shield We check the system of video in,and set the sytem of video out same with it.
            (If the video in system is the PAL,the 1.0 verison will not work well, so we add the checking and setting functions) 2015.02.02 - HuangChao <www.tinysine.com>
*/
/* This driver uses the Adafruit unified sensor library (Adafruit_Sensor),
   which provides a common 'type' for sensor data and some helper functions.
   To use this driver you will also need to download the Adafruit_Sensor
   library and include it in your libraries folder.
   You should also assign a unique ID to this sensor for use with
   the Adafruit Sensor API so that you can identify this particular
   sensor in any data logs, etc.  To assign a unique ID, simply
   provide an appropriate value in the constructor below (12345
   is used by default in this example).
   Connections: Connect SCL to analog 5, SDA to analog 4, Connect VDD to 3.3-5V DC, Connect GROUND to common ground
   History: 2015/MAR/03  - First release (KTOWN)*/
/* Set the delay between fresh samples */
// Included Libraries //////////////////////////////////////////////////////////
  #include <SPI.h>
  #include <MAX7456.h>
  #include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <utility/imumaths.h>
  const byte osdChipSelect =  10; const byte masterOutSlaveIn = MOSI; const byte masterInSlaveOut = MISO; const byte slaveClock = SCK; const byte osdReset = 0;
uint16_t BNO055_SAMPLERATE_DELAY_MS = 100; Adafruit_BNO055 bno = Adafruit_BNO055(55, 0x28);
 MAX7456 OSD( osdChipSelect );

 void setup()  { unsigned char system_video_in=NULL; SPI.begin(); SPI.setClockDivider( SPI_CLOCK_DIV2 ); OSD.begin(); OSD.setSwitchingTime( 5 ); system_video_in=OSD.videoSystem(); OSD.setDefaultSystem(MAX7456_NTSC) ;OSD.display(); 
   Serial.begin(115200); Serial.println("Orientation Sensor Test"); Serial.println(""); bno.begin(); delay(1000);
 
    } // setup()
   
 void loop()  {
 int8_t boardTemp = bno.getTemp();
 //Serial.print(F("temperature: "));
 Serial.println(boardTemp); delay(BNO055_SAMPLERATE_DELAY_MS);
 sensors_event_t event;
 bno.getEvent(&event);

 
    char date[] = "2020-01-01";
    int year = (date[0] - '0') * 1000 + (date[1] - '0') * 100 + (date[2] - '0') * 10 + (date[3] - '0'); byte leap = isLeapYear(year);
    byte month = (date[5] - '0') * 10 + (date[6] - '0'); byte day = (date[8] - '0') * 10 + (date[9] - '0');
    char daysPerMonth[2][12] = { { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31  }, { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31  } }; bool toggle = false;
    while (true) {
      while (OSD.notInVSync()) {

        if (date[9] > '9') { date[9] = '0'; date[8]++; }
        if (day > daysPerMonth[leap][month - 1]) { date[9] = '1'; date[8] = '0'; day = 1; date[6]++; month++; }
        if (date[6] > '9') { date[6] = '0'; date[5]++; }
        if (date[5] >= '1' && date[6] > '2') { date[6] = '1'; date[5] = '0'; month = 1; date[3]++; year++; leap = isLeapYear(year); }
        if (date[3] > '9') { date[3] = '0'; date[2]++; }
        if (date[2] > '9') { date[2] = '0'; date[1]++; }
        if (date[1] > '9') { date[1] = '0'; date[0]++; }
        if (date[0] > '9') { date[0] = '0'; }
        // Add aditional code here.
        bno.getTemp();
        bno.getEvent(&event);
      }
      OSD.setCursor( 0, 0 );
      OSD.print(event.orientation.x, 3);
      OSD.setCursor( 8,0);
      OSD.print("Degrees");
      OSD.setCursor( 17,0);
      OSD.print(boardTemp);
      OSD.setCursor( 19,0);
      OSD.print("*C ");
      OSD.setCursor( 0, -1 );
      OSD.print( date );
      OSD.setCursor( 12, -1);
      OSD.print( "YouHaveNone" );
      while (!OSD.notInVSync()) {} // Add aditional code here.
       } }
  byte isLeapYear( int year ) { if (year % 400 == 0) return 1; else if (year % 100 == 0) return 0; else if (year % 4 == 0) return 1; return 0; } //end isLeapYear()

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Mon Mar 02, 2020 12:15 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
The overlay. Waiting on the gps module
Attachment:
FEAE57CD-A78E-4E15-9B33-68A79578CA9E.jpeg
FEAE57CD-A78E-4E15-9B33-68A79578CA9E.jpeg [ 716.04 KiB | Viewed 7043 times ]

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sat Mar 07, 2020 12:28 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
A note on the diopter. Anything above +3.5 you will need to order from an optometrist. Most offices keep +10 units in stock so bear that in mind. If you see a place that sells online most likely they only sell to eye doctors.

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sun Mar 22, 2020 8:59 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
OK, I ended up having to edit the maxim font and replace lowercase a-f to the borders. Once I did that and updated things I have a nice looking border and a facsimile targeting reticle box.

The osd.print command set only allows for standard keyboard characters to be used.

The spi writereg command methodology I was not having much luck hashing out how to get the cursor to move so I can print characters to a set spot on the screen.

I have an open inquiry on the rcgroups forum to see if anyone has any experience on coding and using custom font sets for their drone fpv setups. The maxim 7456 chip has other adaptations on the drone fpv setup that do not require Arduino to function.

The chip itself is over 10 years old, but is actively used in the drone fpv industry. The analog ability to insert OSD text without high horsepower gear is extremely attractive and the analog signals carry much better than digital/binary ones as they are much more immune to interference due to the way that the encoding/decoding modulation/demodulation works with the signals and the hardware. There is a lot of math involved in the explanation breaking things down.

M codingy progress is documented on the adafruit.com forums as that site would have more exposure with folks that might re-use or re-appropriate the code base.

https://forums.adafruit.com/viewtopic.php?f=22&t=161697

current code in use:
Code:
/* VideoTimeInserter.ino Demonstrates a very basic on screen time display.
   This example code is in the public domain.   Requires Arduino 1.0 or later.
   History : 1.0 ~ Creation of MAX7456Demo from MAX7456Demo 0.4 2013.01.31 - F. Robert Honeyman <www.coldcoredesign.com>
             1.1 ~ for OSD Shield We check the system of video in,and set the sytem of video out same with it.
            (If the video in system is the PAL,the 1.0 verison will not work well, so we add the checking and setting functions) 2015.02.02 - HuangChao <www.tinysine.com>
*/
/* This driver uses the Adafruit unified sensor library (Adafruit_Sensor),
   which provides a common 'type' for sensor data and some helper functions.
   To use this driver you will also need to download the Adafruit_Sensor
   library and include it in your libraries folder.
   You should also assign a unique ID to this sensor for use with
   the Adafruit Sensor API so that you can identify this particular
   sensor in any data logs, etc.  To assign a unique ID, simply
   provide an appropriate value in the constructor below (12345
   is used by default in this example).
   Connections: Connect SCL to analog 5, SDA to analog 4, Connect VDD to 3.3-5V DC, Connect GROUND to common ground
   History: 2015/MAR/03  - First release (KTOWN)*/
/* Set the delay between fresh samples */
// Included Libraries //////////////////////////////////////////////////////////
 // includes for max7456
  #include <SPI.h>
  #include <MAX7456.h>
  #include <Wire.h>
  // includes for bno055
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <utility/imumaths.h>
// Date and time functions using a DS3231 RTC connected via I2C and Wire lib
#include "RTClib.h"
#define DMDI_reg  0x07
RTC_DS3231 rtc;char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
// maxim 7456 chipset settings
  const byte osdChipSelect =  10;   const byte masterOutSlaveIn = MOSI;   const byte masterInSlaveOut = MISO;  const byte slaveClock = SCK;  const byte osdReset = 0;
uint16_t BNO055_SAMPLERATE_DELAY_MS = 100; Adafruit_BNO055 bno = Adafruit_BNO055(55, 0x28);
 MAX7456 OSD( osdChipSelect );
// set spi and serial settings
 void setup()  { unsigned char system_video_in=NULL; SPI.begin(); SPI.setClockDivider( SPI_CLOCK_DIV2 ); OSD.begin(); OSD.setSwitchingTime( 5 ); system_video_in=OSD.videoSystem(); OSD.setDefaultSystem(MAX7456_NTSC) ;OSD.display(); 
   Serial.begin(115200); Serial.println("Orientation Sensor Test"); Serial.println(""); bno.begin(); delay(1000); 
   }     // setup() end
 void loop()  {
 int8_t boardTemp = bno.getTemp(); 
 Serial.println(boardTemp); delay(BNO055_SAMPLERATE_DELAY_MS);  sensors_event_t event; bno.getEvent(&event);
 // this just displays time and is used for calibration purposes
 // make sure to use two digit off sets for displaying OSD print of values lest things look off.
   DateTime now = rtc.now();
   Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC);
 // this sets the display to render the text.
    while (true) {
      while (OSD.notInVSync()) {
        // these get the 9 axis readings and temp
        bno.getTemp(); bno.getEvent(&event);
   // this gets the time readings
         DateTime now = rtc.now();
      }
      //this sets the display, note if using different character set you may have to call each character by ascii number. 
      OSD.setCursor( 0, 0 );
      OSD.print(event.orientation.x, 3);
      OSD.setCursor( 8,0);
      OSD.print("N");
      OSD.setCursor( 17,0);
      OSD.print(boardTemp);
      OSD.setCursor( 19,0);
      OSD.print("C");
      OSD.setCursor( 0, -1);
      OSD.print( now.month() );
      OSD.setCursor( 2, -1);
      OSD.print( "/" );
      OSD.setCursor( 3, -1);
      OSD.print( now.day() );
      OSD.setCursor( 5, -1);
      OSD.print( " " );
      OSD.setCursor( 6, -1);
      OSD.print( now.hour() );
      OSD.setCursor( 8, -1);
      OSD.print( now.minute() );
      OSD.setCursor( 11, -1);
      OSD.print( "LAT" );
      OSD.setCursor( 14, -1);
      OSD.print( "," );
      OSD.setCursor( 15, -1);
      OSD.print( "LON" );
      OSD.setCursor( 18, -1);
      OSD.print( "," );
      OSD.setCursor( 19, -1);
      OSD.print( "ELE" );
      OSD.setCursor( 0, 10);
      OSD.print( "M/D H:M" );
      OSD.setCursor( 9, 10);
      OSD.print( "LA, LO, EL" );
      OSD.setCursor( 0, 9);
      OSD.print( "effffffffffffffffffffffffc" );//bot line
      OSD.setCursor( 0, 1);
      OSD.print( "bffffffffffffffffffffffffd" );//top line
      OSD.setCursor( 0, 2); //left column line
      OSD.print( "a" );
      OSD.setCursor( 0, 3);
      OSD.print( "a" );
      OSD.setCursor( 0, 4);
      OSD.print( "a" );
      OSD.setCursor( 0, 5);
      OSD.print( "a" );
      OSD.setCursor( 0, 6);
      OSD.print( "a" );
      OSD.setCursor( 0, 7);
      OSD.print( "a" );
      OSD.setCursor( 0, 8);
      OSD.print( "a" );
      OSD.setCursor( 25, 8);// right column line
      OSD.print( "a" );
      OSD.setCursor( 25, 3);
      OSD.print( "a" );
      OSD.setCursor( 25, 4);
      OSD.print( "a" ); 
      OSD.setCursor( 25, 5);
      OSD.print( "a" );
      OSD.setCursor( 25, 6);
      OSD.print( "a" );
      OSD.setCursor( 25, 7);
      OSD.print( "a" );
      OSD.setCursor( 25, 2);
      OSD.print( "a" );
      //target box
      OSD.setCursor( 12, 5);
      OSD.print( "." );
      OSD.setCursor( 11, 4);
      OSD.print( "bfd" );
      OSD.setCursor( 11, 6);
      OSD.print( "efc" );
      OSD.setCursor( 11, 5);
      OSD.print( "a" );
      OSD.setCursor( 13, 5);
      OSD.print( "a" );           
      while (!OSD.notInVSync()) {} // Add aditional code here.
       } }

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Jul 07, 2022 11:44 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
OK, finally got audio fixed with the microphone.

Had to add an XLR power injector and a XLR to 3.5mm voltage limiter. and viola it works.

https://www.youtube.com/watch?v=3JUEk2yo000

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sat Aug 05, 2023 6:02 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
OK had some success on things after I got my mannequinn to mock up the setup and fix the cable routing issues.

gunnerwip10.JPG
gunnerwip10.JPG [ 1.8 MiB | Viewed 2252 times ]

gunnerwip9.JPG
gunnerwip9.JPG [ 1.85 MiB | Viewed 2252 times ]

gunnerwip8.JPEG
gunnerwip8.JPEG [ 555.92 KiB | Viewed 2252 times ]

gunnerwip7.JPEG
gunnerwip7.JPEG [ 612.51 KiB | Viewed 2252 times ]

gunnerwip6.JPEG
gunnerwip6.JPEG [ 606.11 KiB | Viewed 2252 times ]

gunnerwip5.JPEG
gunnerwip5.JPEG [ 647.25 KiB | Viewed 2252 times ]

gunnerwip4.JPEG
gunnerwip4.JPEG [ 665.28 KiB | Viewed 2252 times ]

gunnerwip3.JPEG
gunnerwip3.JPEG [ 606.48 KiB | Viewed 2252 times ]

gunnerwip2.JPEG
gunnerwip2.JPEG [ 708.04 KiB | Viewed 2252 times ]

gunnerwip1.JPEG
gunnerwip1.JPEG [ 490.49 KiB | Viewed 2252 times ]


_________________
The impossible takes a while longer and goes over budget too...
Top
 Profile  
Reply with quote  
 Post subject: Re: A new approach on the smart gunner headset
PostPosted: Sat Aug 05, 2023 6:11 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
The other pictures.

There are more but they are too large to post:
https://www.facebook.com/ussandrewjacks ... RuErEEvoyl

smartgunnereffect4.jpg
smartgunnereffect4.jpg [ 292.02 KiB | Viewed 2252 times ]

smartgunnereffect3.jpg
smartgunnereffect3.jpg [ 650.73 KiB | Viewed 2252 times ]

smartgunnereffect2.jpg
smartgunnereffect2.jpg [ 258.62 KiB | Viewed 2252 times ]

smartgunnereffect1.jpg
smartgunnereffect1.jpg [ 1.47 MiB | Viewed 2252 times ]

gunnerwip12.JPG
gunnerwip12.JPG [ 1.8 MiB | Viewed 2252 times ]

gunnerwip11.JPG
gunnerwip11.JPG [ 1.88 MiB | Viewed 2252 times ]


_________________
The impossible takes a while longer and goes over budget too...
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 07, 2023 1:09 am 
User avatar

Location: Wellywood.
Service Number: A10/TQ0.0.82146E1
Country: New Zealand
Nice work.
Could you not hide most of that wiring inside/under the front armour?

_________________
Cpl Aron "septic" Williams
A10/TQ0.0.82146E1


Top
 Profile  
Reply with quote  
 Post subject: Re:
PostPosted: Mon Aug 07, 2023 9:40 pm 

Service Number: A05/TQ2.0.32141E1
Country: United States
septic wrote:
Nice work.
Could you not hide most of that wiring inside/under the front armour?


not really. The routing is very specific and constrained.

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 30, 2023 12:40 am 

Service Number: A05/TQ2.0.32141E1
Country: United States
I am ordering parts to replicate the setup for a bench/table display setup. And to ensure I have spares if things go south.

_________________
The impossible takes a while longer and goes over budget too...


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ] 



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: