This device allows you to send any message using morse code.
(you don't need to know morse code for this projects)
In short: you send morse code with ESP8266 or Arduino and receive it with a smartphone's camera.
1. The brain of the project can be Arduino, or ESP8266, ESP32, etc. The code is compatible with all of that.
2. DC-DC converter, that is because ESP8266 needs 5V, if your board can handle 12V you don't need this.
3. MOSFET IRL540N or similar. If your board uses 3.3V logic the MOSFET you use should have "Gate Threshold Voltage" is lower than 3.3V. IRL540N has 2V "Gate Threshold Voltage" so it is good for 3.3V boards. MOSFETs like IRFZ44N has 4V "Gate Threshold Voltage" so it is not good for 3.3V boards, but it is still good for boards that use 5V logic (most Arduino use 5V).
4. 12V LED, it can be just 10W or even 100W or more, it depends on the MOSFET and your power supply. For example, IRL540N can handle 36 Amps so 100W is not a problem for it. (Powerful LEDs need heatsink).
5. 1K resistor 0.25W (power doesn't matter here use what you have)... just put some resistor 0.1K - 10K it is not that important.
If you don't want to build anything and you just want to blink morse code with the build-in LED on ESP8266, then make sure that the variable "isInverted" set to true, because the build-in LED is inverted on ESP8266. For other cases set it to false.
You can download code here, or on GitHub https://github.com/Deimos1994/morse_arduino/blob/...
This line defines the message you want to send: String DefaultTextToSend = "Hello world, I'm Morse code beacon"; Change it to what you want!
P.S. I am not a programmer, what do you think about my code? it is short and looks good to me, I want your opinion :)
Apps that works:
1. Morse Code Agent (Standard) https://play.google.com/store/apps/details?id=com.... (set speed in code with "int oneUnitDelay = 80;" can be from 80 to 300 for this app)
2. Morse camera light chat receive send text torch https://play.google.com/store/apps/details?id=com.... (set speed in code with "int oneUnitDelay = 250;" can be from 250 to 300 for this app)