Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
computers:arduino:start [23-May-2019 12:41] – [Web Server] Steve Joyntcomputers:arduino:start [02-Feb-2025 16:14] (current) – external edit 127.0.0.1
Line 11: Line 11:
 The library will enable the Arduino to be manually controlled by an operator entering commands (for debugging, or to trigger events and change the configuration on an adhoc basis). It will also allow commands to be stored for later execution (changing the normal programmed behaviour of the application without having to recompile and reload the Arduino). The library will enable the Arduino to be manually controlled by an operator entering commands (for debugging, or to trigger events and change the configuration on an adhoc basis). It will also allow commands to be stored for later execution (changing the normal programmed behaviour of the application without having to recompile and reload the Arduino).
  
-[[Breeze|Read more about this]]+[[Breeze|Read more about Breeze]]
  
 ===== AVL Tree ===== ===== AVL Tree =====
Line 21: Line 21:
 I also plan to use an AVL Tree to store the current program within my Command Script Interpreter, again saving precious Arduino memory. The program lines would be keyed by line number, so they can be automatically sorted into the correct order and retrieved sequentially, or directly (when a goto command is executed). I also plan to use an AVL Tree to store the current program within my Command Script Interpreter, again saving precious Arduino memory. The program lines would be keyed by line number, so they can be automatically sorted into the correct order and retrieved sequentially, or directly (when a goto command is executed).
  
-[[AVL Tree|Read more about this]]+[[AVL Tree|Read more about AVL Tree]]
  
 ===== Web Server ===== ===== Web Server =====
  
-The intention is to create a generic web server running on a WeMos D1 R1 Arduino compatible board with an SD Card shield.+The intention is to create a generic web server running on a [[https://github.com/arendst/Sonoff-Tasmota/wiki/Wemos-D1-R1-&-R2|WeMos D1 R1]] Arduino compatible board with an [[https://learn.adafruit.com/adafruit-data-logger-shield/overview|SD Card]] shield. Other boards will be supported after the initial release.
  
 The project will handle the basic networking requirements and the HTTP protocol. Cookies, sessions, query and post data will be made available via a simple API for programmers to hook into the framework to add their own functionality. The project will handle the basic networking requirements and the HTTP protocol. Cookies, sessions, query and post data will be made available via a simple API for programmers to hook into the framework to add their own functionality.
  
-Files placed in the "/WEBSPACE/" folder on the SD card will be automatically served as requested by the browser. Files outside this folder will not be directly accessible to users. If a folder name (rather than a file name) is specified, then it is assumed the user wants to look at INDEX.HTM in that folder. If the requested file is not available, the usual 404 error is returned to the browser.+Files placed in the "/WEBSPACE/" folder on the SD card will be automatically served as requested by the browser. Files outside this folder will not be directly accessible to users. If a folder name (rather than a file name) is specified, then it is assumed the user wants to look at "INDEX.HTMin that folder. If the requested file is not available, the usual 404 error is returned to the browser.
  
 Requests for files in some "virtual folders" can be intercepted by the programmer and handled by their own C function instead. Requests for files in some "virtual folders" can be intercepted by the programmer and handled by their own C function instead.
  
 Requests for files of a certain type may also be intercepted and processed in a special way. Requests for files of a certain type may also be intercepted and processed in a special way.
 +
 +===== Marionette =====
 +
 +I'm looking at creating a program that will make it easy to animate a [[https://en.wikipedia.org/wiki/Marionette|marionette]] linked to [[https://www.mouser.co.uk/ProductDetail/Adafruit/2941|servos]].
 +
 +A number of servo motors will need to operate at the same time and at different speeds. These actions need to be described in a way that is easy to configure and replay. I'm sure someone else has already come up with a data file format that describes this - I just need to find it and write a program to understand it.
 +
 +After that is done, it should be a trivial matter to make the puppet react to sounds or changes in light, by adding a few extra detectors. It could also be controlled using my Command Script Interpreter or Web Server.
 +
 +[[Marionette|Read more about Marionette]]
 +
 +===== Knock-Knock Doorbell =====
 +
 +I have a problem with certain delivery companies. They don't seem to train their people to recognise and use a doorbell. They tap lightly on my door, so as not to disturb me, then run away with my parcel.
 +
 +One obvious way to solve this problem would be to put a sign on my door saying "please ring the bell". Unfortunately as my street is near to a school, I suspect many of the children who pass by each day would gladly accept the invitation.
 +
 +So the idea I'm thinking of is to make a small Arduino project that can detect someone tapping on the door, and respond by ringing the doorbell. The plan is to use a piezoelectric sensor to detect vibrations, filter out any background noise, then use a relay to "press" the doorbell switch for the visitor.
 +
 +Another way I could detect someone knocking would be to install an ornate brass door knocker. This could be wired up on the inside of the door so that it shorts together two pins of the Arduino when it is at rest. When the visitor lifts the lever off the anvil, it would break the circuit and ring the bell before they've had a chance to knock on the door.
 +
  
  • computers/arduino/start.1558615298.txt.gz
  • Last modified: 02-Feb-2025 16:12
  • (external edit)