2Wire (unidirectional I2C) coms from HTML5 to hardware via blocks of light on the screen.
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Optical SDA SCL.zipEagle files for circuit from Conrad.application/x-zip-compressed - 155.78 kB - 12/28/2015 at 17:36 |
|
This idea is very much a solution in search of a problem, and now there is a problem that is worthy of being solved this way. A robot that is cheap as dirt, but as smart as the average SmartPhone, with all the phones sensors available to detect collisions and tipping (accelerometer) and direction (compass) and position (GPS) and recognize objects and avoid obstacles (camera, possibly with the laser line structured light trick and with cloud services or even vision in the browser via OpenCV.js) all while retaining the WiFi connection to the net for true teleoperation. More about that here:
https://hackaday.io/project/184720-web-smart-phone-screen-blink-bot
(be sure to read the detail section)
Updated versions of this code are also available, using better methods and also supporting shift registers.
These are untested and I would very much like your feedback on them. If you see bugs, please let me know. The silence on this project has kept me from devoting any time to it, but please know that if you ask, I will respond and make corrections, etc...
I'd really like to work on a design for a little board to interface between either a shift register or a microcontroller. My idea is that perhaps one board can be made to serve both functions. e.g. You populate part of the board for I2C, and you populate a different part for a shift register.
The other option is to do two separate boards, in which case I would do the I2C to uC version first. It would be something like my RC Servo to uC adapter board:
https://hackaday.io/project/181972-rc-servo-adapter
but with locations to mount the electronics and 2 light sensors, either directly to the PCB or via wires. (note to self, remember to include strain relief holes. I always forget those).
If a final circuit for a shift register is tested, then I'll try to include a 3rd sensor and use one edge to pinout for a shift register chip.
Juergen Pintaske from Facebook also made and tested a version of this. (video is facebook only sadly) Here is the schematic he used:
he is very interested in a version with 3 channels for shift registers.
My friend Conrad soldered up a permanent version of the breadboarded circuit and gave it to me. Next is hooking it up to an Arduino and testing the transmission of data for accuracy and speed.
Create an account to leave a comment. Already have an account? Log In.
For example, if someone says, "As stated on page 10 of the report," it means that the specific information being discussed can be found on the tenth page of the mentioned report.
nformation effectively, and ensuring proper HTML markup, on-page optimization aims to make the webpage more accessible, relevant, and appealing to both search engines and https://techzone-agency.com/
Morse code was designed for humans to decode. You could probably use a better and more efficient (not that it matters in this use case) encoding such as those used in remote controls and throw in some error detection/correction as well which is more salient.
The trick is finding one that supports wide variations in speed. Any suggestions?
You could always start off with a sync pattern. Also look at how barcode scanners do it, those have to adapt to scan speeds too.
Maybe Manchester encoding so the clock is in there with the data:
http://techref.massmind.org/Techref/io/manchester.htm
Here's an idea for going the other way (getting data into a cell phone from an LED on a device)
Let's say you setup your IOT device (ESP, whatever) to talk to your router at your home. Now you need to figure out what IP address your home router assigned. Some of us can log into the router to see the DHCP table, but some routers are locked down, etc... There are programs that will scan the IP space, (e.g. FING) but another option is to somehow communicate the value from the bot.
Ido and I were talking about doing this. I remembered that there was a javascript page that could decode morse code:
https://www.bennadel.com/resources/demo/morse_code/
https://www.bennadel.com/blog/2267-decoding-morse-code-with-javascript.htm
Take the keyboard events off that and add processing from the camera:
https://googlechrome.github.io/samples/image-capture/grab-frame-take-photo.html
Accessing the pixels in the picture isn't hard, and you can do a threshold to see if the picture is overall bright (LED on) or dark (LED off).
https://github.com/JamesNewton/AdvancedRoboticsWithJavascript/wiki#image-subtraction-in-a-smartphone-browser
Put that on a public web page (must have HTTPS, not HTTP) and then users can go to the web page, allow access to the camera, hold the camera over the robot, get the web URL decoded, and then click on it to connect directly to the robot!
Users don't even need to know that it's using morse code. But it's also sort of cool that it could decode any message.
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More
For example, if someone says, "As stated on page 10 of the report," it means that the specific information being discussed can be found on the tenth page of the mentioned report. https://techzone-agency.com/