The Aliens Legacy
http://www.forum.alienslegacy.com/

Alien Isolation Motion Tracker
http://www.forum.alienslegacy.com/viewtopic.php?f=3&t=19105
Page 1 of 2

Author:  knoxvilles_joker [ Mon Aug 17, 2020 10:01 pm ]
Post subject:  Alien Isolation Motion Tracker

Given that I can not find a thread regarding things here is one on the alien isolation motion tracker:
3d files:
https://www.cgtrader.com/3d-print-model ... or-cosplay
or
https://www.thingiverse.com/thing:3696123

Author:  knoxvilles_joker [ Mon Aug 17, 2020 10:09 pm ]
Post subject:  Re: Alien Isolation Motion Tracker

https://www.instructables.com/id/Arduin ... gemeBjAZ3M

And the intractable.

Author:  Harry Harris [ Mon Aug 17, 2020 10:45 pm ]
Post subject: 

I’m not 100% sure but I’ve got a feeling someone over on the RPF built one.

Harry

Author:  smrtazzsmrtgnnr [ Mon Aug 17, 2020 10:46 pm ]
Post subject: 

I also have 3d files I created back in 2015 I will share for free to people actually wanting to make one.

Author:  Harry Harris [ Tue Aug 18, 2020 12:26 am ]
Post subject: 

If it helps, here's one thread on the RPF: Alien Isolation motion Tracker.

Harry

Author:  knoxvilles_joker [ Tue Aug 18, 2020 1:31 am ]
Post subject:  Re: Alien Isolation Motion Tracker

Thanks Harry. You are always a great help and resource.

I just ordered the technical parts off of aliepxress for about 30. Once I get the parts I can start wiring and tinkering as I have been told that the code needs some work.

the 3d files will run you about 80 or so on treat stock.

Author:  gman666 [ Tue Aug 18, 2020 11:53 pm ]
Post subject:  Re: Alien Isolation Motion Tracker

This was done on the cheap.
https://www.youtube.com/watch?v=rbleXACKJVI

Thanks!

Greg

Author:  nickblack423 [ Tue Jan 12, 2021 10:19 am ]
Post subject: 

These are so cool. I would love to make one of these. For me its the little whine noise that the tracker makes when you switch to it, sort of like a brief power up, that really signifies this particular item. If i was going to make one I would really want it to do that.

Author:  gman666 [ Fri Jan 22, 2021 3:21 am ]
Post subject:  Re: Alien Isolation Motion Tracker

Sorry been MIA. Had some medical issues but on the mend. In the next week I will be posting updates on many of my projects. I will post on my Isolation MT first. I 3d printed all the parts and now assembling. Will be static for now with lights.
Attachment:
20210121_201644.jpg
20210121_201644.jpg [ 1.73 MiB | Viewed 7505 times ]


Thanks!

Greg

Author:  retrogarde [ Fri Jan 22, 2021 11:59 am ]
Post subject: 

Awesome! I am working on one as well. I can't wait to see what you do with yours.
I hope you are feeling better Greg!

Author:  Radion [ Wed Sep 28, 2022 1:42 am ]
Post subject: 

Some armor and helmet files found for sale here

https://www.cgtrader.com/delta-designs-cog

Author:  knoxvilles_joker [ Sat Dec 31, 2022 7:54 am ]
Post subject: 

OK I got the setup to function. I just need to do code clean up

https://learn.adafruit.com/2-2-tft-display/overview

For space considerations I may try switching it over to a nano. Really depends on what kind of room I have when I get the 3d files processed.

Author:  knoxvilles_joker [ Sat Dec 31, 2022 8:27 am ]
Post subject: 

For the PIR sensor this write up explains the settings on that unit:
https://lastminuteengineers.com/pir-sen ... -tutorial/

Author:  knoxvilles_joker [ Sat Dec 31, 2022 8:40 am ]
Post subject:  Re: Alien Isolation Motion Tracker

Code:
/***************************************************
  This is our GFX example for the Adafruit ILI9341 Breakout and Shield
  ----> http://www.adafruit.com/products/1651

  Check out the links above for our tutorials and wiring diagrams
  These displays use SPI to communicate, 4 or 5 pins are required to
  interface (RST is optional)
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/
 // Code provided by Smoke And Wires
// http://www.smokeandwires.co.nz

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_CLK 13
#define TFT_RST 12
#define TFT_MISO 8
#define TFT_CS 10

// Assign human-readable names to some common 16-bit color values:
#define  BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
// defines pins numbers
const int trigPin = 30;
const int echoPin = 32;
const int pirPin = 43;
const int pirPinL = 45;
const int pirPinR = 47;
const int Spin = 34;
// defines variables
long duration;
int distance;
// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// If using the breakout, change pins as desired
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

void setup() {
  pinMode(pirPin, INPUT);//Input from the PIR sensors
  pinMode(pirPinL, INPUT);
  pinMode(pirPinR, INPUT);
  pinMode(trigPin, OUTPUT); // Output for the triggerpins
  pinMode(Spin, OUTPUT);
  pinMode(echoPin, INPUT); // Input from the Ultrasound sensors
  Serial.begin(9600);
//  tft.reset();
  uint16_t identifier = tft.read16();
  Serial.println("ILI9341 Test!");
    //Serial.print(F("LCD driver chip: ")); //You can check the driver of your tft monitor
  Serial.println(identifier, HEX);
  tft.begin(identifier);
  tft.setRotation(3);
  txt();
  tft.setRotation(0);
  tft.fillScreen(BLACK);
}

void loop(void) {
  table();
  if (digitalRead(pirPin) == HIGH)// check if motion detected
  {
    ping(us(), 160);
    table();
    p_s();
    digitalWrite(pirPin,LOW);
  }
  else{//if no motion in front check the left and right sides
  if (digitalRead(pirPinL) == HIGH)
  {
    sideL();
    table();
    p_s();
    digitalWrite(pirPinL,LOW);
  }
 
  if (digitalRead(pirPinR) == HIGH)
  {
    sideR();
    table();
    p_s();
    digitalWrite(pirPinR,LOW);
  }
  } 
}
void table()//create the monitor
{
  tft.drawLine(10, 10, 240, 160, GREEN);
  tft.drawLine(240, 160, 10, 310, GREEN);
  tft.drawCircle(240, 160, 40, GREEN);
  tft.drawCircle(240, 160, 80, GREEN);
  tft.drawCircle(240, 160, 140, GREEN);
  tft.drawCircle(240, 160, 200, GREEN);   
}

void txt() {//Starting :)
  tft.fillScreen(BLACK);
  tft.setCursor(60, 20);
  tft.setTextColor(WHITE);
  tft.setTextSize(5);
  tft.println("B2-LAB");
  tft.setCursor(20, 80);
  tft.setTextColor(GREEN);
  tft.setTextSize(3);
  tft.println("MOTION-TRACKER");
  tft.setCursor(10,130);
  tft.setTextColor(RED);
  tft.setTextSize(2);
  tft.println("^VERTICAL WHEN OPERATING^");
  tft.setCursor(60, 150);
  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.print("Calibrate Sensors");
  tft.setCursor(10, 170);
  tft.setTextSize(3);
  for(int i=0;i<16;i++)
  {
    tft.print(".");
    delay(1000);
  }
 
}

void ping(int dis, int x) { //Display the motion
  tft.fillCircle(dis, x, 10, GREEN);
  Serial.println(x);
  delay(1000);
  tft.fillCircle(dis, x, 10, BLACK);
}

int us()//ultrasound distance device control
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);// Reads the echoPins, returns the sound wave travel time in microseconds
  distance = duration * 0.034 / 2; // Calculating the distance
  return (240 - (distance * 0.7));//This needed for the proper displaying
}
void sideR()//right PIR sensor event
{
  tft.fillTriangle(240,160,240,120,195,130,GREEN);
  delay(200);
  tft.fillTriangle(240,160,240,120,195,130,BLACK);
}
void sideL()//left PIR sensor event
{
  tft.fillTriangle(240,160,240,200,195,190,GREEN);
  delay(200);  tft.fillTriangle(240,160,240,200,195,190,BLACK);
}
void p_s()//Tracking sound effect
{  digitalWrite(Spin,HIGH);  delay(100);  digitalWrite(Spin,LOW); }

Author:  knoxvilles_joker [ Mon Jan 02, 2023 8:31 am ]
Post subject:  Re: Alien Isolation Motion Tracker

I tweaked the code to be a little more readable and managable and added some documentation

Code:
/***************************************************
  This is our GFX example for the Adafruit ILI9341 Breakout and Shield
  ----> http://www.adafruit.com/products/1651

  Check out the links above for our tutorials and wiring diagrams
  These displays use SPI to communicate, 4 or 5 pins are required to
  interface (RST is optional)
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/
// Code provided by Smoke And Wires http://www.smokeandwires.co.nz
// original write up: https://www.instructables.com/Arduino-Motion-Tracker-From-Alien-Isolation/?fbclid=IwAR2P0H8tUwBisNGaP4C2vccz-fbBOlxxfdm8EIJJEHgAZnKOtgemeBjAZ3M
// updated write up: http://forum.alienslegacy.com/viewtopic.php?f=3&t=19105&p=276520#p276520
/* parts used:
 *  2.4" TFT display (display driver and settings will vary based upon display used)
  3 pcs PIR sensor (HC-SR501)  (this is a 2 or so dollar part)
  1pcs ultrasonic distance sensor (HC-SR04) (this is also a cheap sensor)
  1pcs piezo buzzer
  1pcs 100ohm resistor
 */
// updates by knoxvilles_joker on alienslegacy.com 01/02/2023


#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

// For the Adafruit shield, these are the default.  All pins are declared to aid in connections
#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_CLK 13
#define TFT_RST 12
#define TFT_MISO 8
#define TFT_CS 10

// Assign human-readable names to some common 16-bit color values:
#define  BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
// defines pins numbers
const int trigPin = 6;// on ultrasound meter, pins are declared on board
const int echoPin = 5;
const int pirPin = 4;// the IR sensors, with pins on bottom facing you, left is positive, mid is signal, right is negative
const int pirPinL = 3;// units will not work properly if polarity is reversed and pins are not declared on board
const int pirPinR = 2;// left dial determines distance, right dial determines time delay, jumper is to be on right side
const int Spin = 7;// this is for the buzzer
// defines variables
long duration; int distance;
// declaration for display using ili9340c driver board
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

void setup(void) {
  //Input from the PIR sensors
  pinMode(pirPin, INPUT); pinMode(pirPinL, INPUT); pinMode(pirPinR, INPUT);
  // Input from the Ultrasound sensors
  pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
  // Output for the triggerpins
  pinMode(Spin, OUTPUT);
  //Start the serial communication
  Serial.begin(9600);
  uint16_t identifier = tft.read16();
  //Serial.print(F("LCD driver chip: ")); //You can check the driver of your tft monitor
  Serial.println(identifier, HEX); tft.begin(identifier); tft.setRotation(3); txt(); tft.setRotation(0); tft.fillScreen(BLACK);
}

void loop(void) {
  table();
  // check if motion detected
  if (digitalRead(pirPin) == HIGH) { ping(us(), 160); table(); p_s(); digitalWrite(pirPin,LOW); }
  //if no motion in front check the left and right sides
  else{
  if (digitalRead(pirPinL) == HIGH) { sideL(); table(); p_s(); digitalWrite(pirPinL,LOW); }
  if (digitalRead(pirPinR) == HIGH) { sideR(); table(); p_s(); digitalWrite(pirPinR,LOW); }
  } 
}
//create the monitor
void table() { tft.drawLine(10, 10, 240, 160, GREEN); tft.drawLine(240, 160, 10, 310, GREEN); tft.drawCircle(240, 160, 40, GREEN); tft.drawCircle(240, 160, 80, GREEN); tft.drawCircle(240, 160, 140, GREEN); tft.drawCircle(240, 160, 200, GREEN); }
//Starting :)
void txt() {
  tft.fillScreen(BLACK);
  tft.setCursor(60, 20);
  tft.setTextColor(WHITE);
  tft.setTextSize(5);
  tft.println("B2-LAB");
  tft.setCursor(20, 80);
  tft.setTextColor(GREEN);
  tft.setTextSize(3);
  tft.println("MOTION-TRACKER");
  tft.setCursor(10,130);
  tft.setTextColor(RED);
  tft.setTextSize(2);
  tft.println("^VERTICAL WHEN OPERATING^");
  tft.setCursor(60, 150);
  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.print("Calibrate Sensors");
  tft.setCursor(10, 170);
  tft.setTextSize(3);
  for(int i=0;i<16;i++) { tft.print("."); delay(1000); } 
}
//Display the motion
void ping(int dis, int x) {  tft.fillCircle(dis, x, 10, GREEN); Serial.println(x); delay(1000); tft.fillCircle(dis, x, 10, BLACK); }
//ultrasound distance device control, Sets the trigPin on HIGH state for 10 micro seconds,  Reads the echoPins, returns the sound wave travel time in microseconds, Calculating the distance, displaying properly
int us() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2;  return (240 - (distance * 0.7)); }
//right PIR sensor event
void sideR() { tft.fillTriangle(240,160,240,120,195,130,GREEN); delay(200); tft.fillTriangle(240,160,240,120,195,130,BLACK); }
//left PIR sensor event
void sideL() { tft.fillTriangle(240,160,240,200,195,190,GREEN); delay(200); tft.fillTriangle(240,160,240,200,195,190,BLACK); }
//Tracking sound effect
void p_s() { digitalWrite(Spin,HIGH); delay(100); digitalWrite(Spin,LOW); }

Author:  knoxvilles_joker [ Mon Jan 02, 2023 9:15 am ]
Post subject: 

I have been speccing out arduinos and it appears that the pro mini would be the best bet. Now I have been swiching over to screw terminal headers for space, ease of repair, and just less overhead for space and connections.

Author:  knoxvilles_joker [ Sat Jan 07, 2023 4:33 am ]
Post subject: 

I got the print and it looks like a 3.5" screen would work. the 4:3 standard format of the viewer is a bit of a pickle with the arduino as, most 4:3 are rca connectors, not spi.

https://www.aliexpress.us/item/22558010 ... _shipto=US

Plus the larger size past 2.8 uses the ili9488 chipset for encoding which also causes a delay actively rendoring, but not much of an issue here, I think.

This may mean I will need to re-encode for the larger display coordinate wise...

Author:  knoxvilles_joker [ Sat Jan 14, 2023 1:16 am ]
Post subject: 

This is a darned close match on the switch and was almost a drop in part:
https://www.alliedelec.com/product/gc-e ... /70159590/

Author:  knoxvilles_joker [ Sat Jan 14, 2023 2:05 am ]
Post subject: 

https://www.aliexpress.us/item/32568032 ... 02803178_1

Is a type of screw set that would work with the sensors. The PIR and Ultrasound sensors use m.2 and m1.7 sized screws. Not something I can find domestic.

Author:  knoxvilles_joker [ Sat Jan 14, 2023 3:15 am ]
Post subject: 

OK found a coild cable I can use as a charging cable:


https://www.digikey.com/en/products/det ... F1EALw_wcB

Author:  septic [ Sat Jan 14, 2023 5:18 am ]
Post subject: 

There's a few YouTube vids on coiling your own cables (I was planning on doing this for my SG headset build). Might be a better plan than the linked one ... ?

Author:  knoxvilles_joker [ Sat Jan 14, 2023 5:28 am ]
Post subject:  Re:

septic wrote:
There's a few YouTube vids on coiling your own cables (I was planning on doing this for my SG headset build). Might be a better plan than the linked one ... ?


Well I am handy with a soldering iron. I need the cables still functional. So methodoligies to coil things could risk degrading the insulation,

Author:  knoxvilles_joker [ Sun Jan 15, 2023 7:06 am ]
Post subject:  Re: Alien Isolation Motion Tracker

parts are installed ahead of resin coating. as it is 20% infill I need to make sure that any gaps created as part of the integration process are filled so no moisture can attack things later.

Attachments:
IMG_5482.JPG
IMG_5482.JPG [ 1.86 MiB | Viewed 5965 times ]
IMG_5480.JPG
IMG_5480.JPG [ 1.69 MiB | Viewed 5965 times ]
IMG_5479.JPG
IMG_5479.JPG [ 1.38 MiB | Viewed 5965 times ]

Author:  knoxvilles_joker [ Fri Jan 20, 2023 11:42 pm ]
Post subject: 

The 3.5" screen uses an ILI9488 driver. a different driver setup will be needed for the 480x320 display along with some geometry calculation changes.

I bought the display here:
https://www.aliexpress.us/item/22558010 ... _shipto=US

The first library I will try will be this one which is recommended from the arduino.cc forums:
https://github.com/Bodmer/TFT_eSPI

nix this idea. This board is not a nice player with arduino and the drivers are not common as of yet.

Author:  knoxvilles_joker [ Thu Feb 02, 2023 5:53 pm ]
Post subject: 

https://www.hackster.io/news/billy-o-su ... 30ceb8aa96

a pi powered version.

Page 1 of 2 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/