Giter VIP home page Giter VIP logo

wopr's Introduction

W.O.P.R. Display

W.O.P.R Display is a modern take on the W.O.P.R. missile launch sequence from the 1983 movie War Games.

I love the movie War Games - It was one of my first glimpses into computers and how they could be connected, and I thought that the W.O.P.R. computer in the movie was amazing, with all of it's flashing LEDs and computer noises.

codes

But most of all, I loved the intense missile unlock sequence in the movie. W.O.P.R. guessing the unlock code, while Matthew Broderick tries to teach it that no one ever wins. It was exciting and I always wanted to make a "replica" of that unlock sequence... and I finally did!

Build and showcase video video

Arduino code - New V2 version - Now with more W.O.P.R.!

This repository has the latest code for your W.O.P.R. kit. It's written specifically for an ESP32, though not specifically for the TinyPICO / TinyS2 / TinyS3 but the kit is designed to have a TinyPICO / TinyS2 / TinyS3 and TinyPICO Analog Audio Shield plugged directly into it.

To flash the code onto your board, you'll need to have the Arduino IDE installed and the ESP32 board files installed from the Arduino Board Manager.

Latest V2 Version includes:

  • Added new system to automatically obtain and set your GMT time offset (big thanks to Larry Bank - https://github.com/bitbank2)
  • Added the ability to get the approximate number of seconds until Xmas and display
  • Added a new DisplayText_Scroll(txt, delay) function to scroll long text on the display
  • Added new 24 Hour time display mode to settings
  • Removed the DST setting as it's no longer needed
  • Added the ability to re-download the GMT time offset from settings menu
  • Plus all the goodies in V1 below!

Latest Original (V1) Version includes:

  • New persistent user settings mode
  • All menus are now ENUMS so it's easier to follow the code
  • Added some of my War Games sound board stuff from: https://www.youtube.com/watch?v=3bC9B00c_XI
  • Added support for the extra buttons on the HAXORZ edition of the PCB
  • WiFi & NTP connection info on device start

User settings include:

  • Set your GMT
  • Set DST (Daylight Savings Time) on/off
  • Set Display Brightness
  • Set Clock countdown timer (how long it sits on the menu before defaulting to the clock display)
  • Set the clock separator character

Settings Instructions

Button 1 (right button) to switch mode to settings

Button 2 (left button) to select settings mode

Button 1 switches which setting you are on

Button 2 changes the current settings value

HAXORZ edition also uses the 2 new buttons on the back to change settings value up and down

Hold Button 1 to save/exit settings. Display will show "saving..." when triggered.

I any of the clock settings are changed (GMT or DTS) then the W.O.P.R. will restart after saving settings.

Where can I get one?

W.O.P.R is available at:

https://unexpectedmaker.com/shop/wopr-missile-launch-code-display-kit https://www.tindie.com/products/seonr/wopr-missile-launch-code-display-kit/

Wired up for use with the TinyPICO, TinyS2 or TinyS3 Development Boards

https://unexpectedmaker.com/shop

And the TinyPICO Analog Audio Shield

https://unexpectedmaker.com/shop

Support Unexpected Maker

I love designing, making and releasing my projects as open source. I do it because I believe it’s important to share knowledge and give back to the community, like many have done before me. It helps us all learn and grow.

That said, a lot of time, effort and finances have gone into designing and releasing these files, so please consider supporting me by buying some of my products from:

https://unexpectedmaker.com/shop

Or by buying one of my products on tindie:

https://www.tindie.com/stores/seonr/

Or by becoming a Patron:

https://www.patreon.com/unexpectedmaker

Unexpected Maker

http://youtube.com/c/unexpectedmaker

http://twitter.com/unexpectedmaker

https://discord.gg/xAHpApP

wopr's People

Contributors

jetforme avatar unexpectedmaker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wopr's Issues

Lockup when selecting RANDOM after one or more runs.

When I select MENU -> RANDOM the WOPR locks up.

I think this is due to an array that is not re-initialized for each randomisation. In my forked code (converted to PlatformIO)
I did the following. Not sure if this is the same in your released code

void RandomiseSolveOrder()
{
  // bws 20200929 reset code_solve array back to initial state
  for ( uint8_t i = 0; i<12; i++)
    code_solve_order_random[i] = 99;

  for ( uint8_t i = 0; i < 12; i++ )
  {
    uint8_t ind = random(0, 12);
    while ( code_solve_order_random[ind] < 99 ) {
      ind = random(0, 12);
    }

    code_solve_order_random[ind] = i;
  }
}

ESPFlash_Mod.h is missing SPIFFS.h

Just tried to verify/build the code in the Arduino IDE (1.8.13, win10). There was some libraries missing, and I installed them, but I continue to get this missing file, and cannot find an equivalent in the Manage Libraries interface:

In file included from C:\Users\quann\Downloads\wopr-master\WOPR_Display\WOPR_Display.ino:27:0:
ESPFlash_Mod.h:25:10: fatal error: SPIFFS.h: No such file or directory
#include "SPIFFS.h"
^~~~~~~~~~
compilation terminated.
exit status 1
SPIFFS.h: No such file or directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.