Post in 2002 due to screenshot .. dont know when i build it, some years before.
Using 24 pushbuttons and a IO expander, i could count the bottles in a crate. Probably used something like a hef4067 ??
Now i probably use a weight sensor or a beer cap counter using a webcam image.
Notification to email and shopping list printer.
Web Interface
Every bottle had to be placed back upside down so the opening of the bottle would not press down on the button. Later i used springs which could hold a empty bottle elevated above the button. The weight of a full bottle would press on the button.
Build a hardware webcounter (it was a thing back then) , i used below schematic. Wanted to use huge 7 segment displays but never got around it to buy the large ones.. It was easily converted to multiple segments. I think i used 4 and pulses where send via a parallel port.
Old webcounter schematic
The three (my case four) buttons are to get the counter in sync with my real counter which was a CGI script. It generated html code with took numeric images and displayed these on a page, the state was stored in a file. No numbers where send to the counter, only a pulse. So no synchronisation! Not the way to do this nowadays!
Joystick recorder
I designed a joystick movement recorder for a school project.
You could record movement, and press a button to start recording. (and starting the game) It was not really usable. Because, it needed a higher recording rate, a game which always reacted to the player in the same manner. Only made a half proof of concept.
Drawing images using lasers
For another school project i wanted to be able to draw figures using a laser. One of my teachers fixed a meetup for me with a guy attending university in Enschede. He was using lasers to scan miniscule objects using a laser in groves something resembling a longplayer record.
I wanted to use two DACs to control the movement of two mirrors. But i’d had to take into account the speed of the movement and the weight of the mirrors, else images where distorted.
He gave me a schematic which used: 2 controllabe video disc mirrors, light split glasses and amplifier part.
Previous project with Oscilloscope drawings helped, with understanding those problems. https://www.henriaanstoot.nl/1992/01/01/oscilloscope-graphics-using-a-amiga-bonus-vectrex/
I’ve still got the components, except for the high grade laser i lend from a friend. But a simple laser pen should suffice
Using a steppermotor controller with two motors. A video capturing device (videoblaster) and a mini B/W camera.
Web interface with glassbuttons effects which i rendered using Bryce.
Up/down/left/right and diagonal
Red double speed green single speed
Reset view
2 Presets with save and recall
Setup with parallel cable
Written software in html and some CGI scripts. Perl and C.
#include <asm/io.h>
# C Code for moving left
int main(int agrc,char agrv[])
{
int i,wachten;
int richting1[8]={0x27,0x2d,0x1c,0x0d,0x03,0x09,0x38,0x29};
int richting2[8]={0x29,0x38,0x09,0x03,0x0d,0x1c,0x2d,0x27};
ioperm(0x378,3,1);
ioperm(0x37a,3,1);
wachten=100;
for (i=0; i<=7; i=i+1)
{
outb(richting2[i], 0x378);
outb(1, 0x37a);
usleep(wachten);
outb(0, 0x37a);
usleep(wachten);
outb(1, 0x37a);
usleep(wachten);
}
return(0);
}
#!/usr/bin/perl
# Perl CGI script
# Uses 204 no content trick to stay on same page
use LWP::Simple;
my $img = get ('http://10.1.0.1/cgi-bin/left.cgi');
print "Status: 204 No content\n\n";
Streaming video was done using progressive JPG push. Later i used the capturing command in the loop below.
#!/bin/sh
# push jpg, and update after 1sec
# output mime header
echo Content-type: multipart/x-mixed-replace;boundary=--WebcamRules\n
echo
echo --WebcamRules
# create stream
while true; do
echo Content-type: image/jpeg
echo
cat /var/lib/httpd/htdocs/webcam.jpg
echo
echo --WebcamRules
sleep 1
done
The date of this post is when we worked on GMC’s GPC, but i’ll post some other own made hardware related to domotica.
Relais card + one wire temperature sensor (rs232)1Wire to RS232DS18B20
GPC Original Page: https://gpc.metro.cx/gpc/README
This DIY home automation was written by GMC in C. Later we made little microcontroller prints, which could control/switch lights and more.
PIC16x84
We uses GPASM as assembler
Bigred soldering PIC boards like control units and pic-programmers Below a Infrared receiver (Using Lirc)SchematicPower partPIC Print
One of my schematics
What is this?
=============
This is the Global Premises Control package. It is intended to be a
complete solution to the DIY home automation. It provides you with a
daemon which will centralize all control functions, and some custom
programs for sound, remote control and things like that.
The first steps to realizing the goal was made by Koen Martens. He wrote
the first daemon and made the first support programs. Other people got
interested and ported the GPC package to their homes. Since then it seemed
wise to coordinate development to prevent from having three different
versions of the package. It is currently under development and is far from
complete.
History
=======
15-03-98 - The first initiative
With the help of Henri Aanstoot and Marco Geels the first
cables were mounted in the ceiling at Waalstraat 136. This
involved re-dedicating some high voltage lines for the low
voltage used by GPC equipment.
The next few days Koen Martens spend his time writing software
to switch on the lights (which was not possible without
software anymore :). This software was very rudimentry and
did not feauture the daemon yet.
28-03-98 Version 1.0 was born.
The need for a global way to control the premises arose, and
Koen Martens decided to write a daemon which would control the
input and output lines, with support programs for the logic.
This resulted in global, the gpc daemon.
Running on different servers there were programs to control
lights and lightswitches (light_control), sound (sound) and
the alarm clock (wakeup).
10-06-98 Version 2.0 (r0.2.0) was born.
The support programs containing any logic had vanished,
instead the daemon had all the logic encoded in it.
03-07-98 Version 2.0 still.
- Added remote control receiver code.
29-11-98 GPC r0.3.0
- Started coordinated development
11-12-98 GPC r0.3.1
- Security support included, providing a (basic) interface
for protecting variables with passwords on a security level
clearance basis.
- Global notify protocol added, clients can now register one
or more variables. This makes the old (0.3.0) polling method
obsolete thus reducing the network load dramatically.
- Logging library added.
Development
===========
The development is done on the following beta sites:
- Subnet
Location : Waalstraat 136, Enschede, Netherlands
Site coordinator: Koen Martens AKA gmc (gmc@freemail.nl)
Site description: Single floor appartment
3 occupants (1 human, 2 rats)
P60 32MB RAM running linux
486 8MB RAM running FreeBSD
486 8MB RAM running linux
DEC Writer
WYSE terminal
The 486 linux machine has the daemon, and is
hooked up to the premises.
The P60 has a sound card and a RC receiver.
- Lip-on-ice
Location : Lipperkerkstraat 321, Enschede, Netherlands
Site coordinator: Willem-Jan Faber AKA aloha AKA xtz ( And Henri Aanstoot AKA Fash)
(w-jfaber@freemail.nl)
Site description: Three floor house
Four occupants (3 male, 1 female)
Connected to three other premises.
Computer list not yet in!
- Venom
Location : P. Mondriaanstraat ??, Almelo, Netherlands
Site coordinator: Sebastiaan Smit AKA venom (wssmit@freemail.nl)
Site description: Three floor house
Three occupants
4 computers
If you would like to join the development, mail me at gmc@freemail.nl.
In progress
===========
The following projects are in progress right now:
- A script language to describe the control logic for the daemon
Koen Martens
- An cgi interface for the http connectivity
- Support for sharing variables on multiple daemons
Usage
=====
Use is for your own risk. We can not be held responsible for any damage
resulted from running any of this software.
Keeping that in mind, usage is very simple but work needs to be done on
the documentation :)
DIY door sensor using a bend CDROM and a sensor i got
I’d would send a signal to our computers and playing a sound sample on our sound system. Also a IRCbot named (lampje) would mention “Backdoor open” in our own channel. (We where running our own IRC servers, interconnected .. because we can. A average of 3 Clients per server sound the way to go .. LOL ) Lampje the IRCbot also controlled the livingroom light and more.
I came across a really old post from 1996. It was from a good friend of mine Martin.
It was a while before this post, which was by Fido mail, that he came to our house with a great idea. (1993)
FidoNet is a worldwide computer network that is used for communication between bulletin board systems (BBSes). It uses a store-and-forward system to exchange private (email) and public (forum) messages between the BBSes in the network, as well as other files and protocols in some cases. (Dial-up!)
He took a record player and connected leds to it. Connecting this to a C64 and synching the speed of rotation and the output, he wanted to display text on this.
Probably this was the mistery tape i mentioned here:
So he did the most of the programming, i made a version of my own and added a sync bit to it. This enabled it to get the scolling text more “in place”
Some pictures from Sepp’s website
--- Terminate 3.00/Pro
* Origin: Sepp Mail Development Department (2:283/334.13)
Ä Mail van en voor mij ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄBewarenÄ
Msg : 781 [1-3089] Loc
From : Martin ******** 02-Apr-96 00:59:51 2:283/334.13
To : Henri Aanstoot 2:283/334
Subj : Hardware scroller
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄSEPP.INTERESSANTÄ
* Written in: TUKKER=PROAT
Ha die Henri!
MM>> Heb je de laatste KIJK al gezien??? Die eikels hebben onze 8-ledjes-
MM>> hardware-scroller na zitten maken, alleen scrollt-ie bij hunnie niet
MM>> in de vorm van een cirkel, maar hebben ze mijn ruitenwisserversie
MM>> gebruikt... En het enige wat-ie doet is de tijd aangeven...
HA> Bah, wat een na-apers.
Ja, vreselijk...
HA> Maar die van ons was toch beter!
Inderdaad... kunnen ze nog wat van leren... :-)
MM>> Btw is jouw prototype nog operationeel??? De mijne niet, omals de
HA> Nee, ik wil heb eigenlijk opnieuw bouwen! (was ik al een tijdje van plan)
Met full-colour LEDs, 16 hoog???
MM>> elastiekjes die ik heb gebruikt in de loop der tijd helemaal poreus
MM>> We moeten maar weer eens iets compleet revolutionair nieuws uitvinden,
MM>> ik heb nog wel een paar innovatieve ideejen...
HA> Als je gaat kijken wat ze allemaal van mijn gejat hebben .......
Nou, vertel...
To the loo,
Martin ********
Somewhere in 1992 i got hold of a Oscilloscope, probably borrowed from someone. I don’t know what happend to it. I got the idea to generate drawings on the scope, because it had two inputs with you could switch to x and y inputs.
Example oscilloscope
My friend Sepp got into it also, we both wrote some software to do funky stuff with this. I found some software today (20220516), and having bought a old skool scope 2 years ago …
So i found source machine code, no executables. Now i needed to get a assembler running again.
Sidenote: I recently fixed a Amiga 500 and got a disk switch installed on the even cia.
Disk df0 df1 switch print at the center of the image
Booting some old seka disks and starting MasterSeka again in a looong time.
ESC - open editor
r (read file)
v (directory)
a + enter + enter (no options assemble)
g (go running the program)
FIrst part of machine code .. at the bottom part are arrays of coordinates to draw things
Some programs on the disk: (some are made by Sepp, who is a far better coder than i am)
Funny triangles
Lissajous figures
Moving square
House
House with door
Draw with mouse
Lissajous figures are simple sine and cosine functions to get:
So how does this work, well a amiga has stereo outputs. These are controlled by two DAC outputs on the 8364 (Paula) chip. (DAC – Digital Analog Convertor) ( Paula has 4 DMA controlled DACs !! )
Looking at the schematics of the audio part, we see a lot going on concering audio filters. The tests i’ve done today (2022) are on a amiga with unmodified audio filters. (Low on my prio list) So frequencies are not direct what you get directly converted from digital values. Besides that, syncronisation between left and right channel, even using DMA can be an issue. (DMA – Direct Memory Access, this means that it can be controlled without using the CPU)
Running the house draw code:
A little house
Note: Due to different hardware not a good working example .. yet
More examples .. hard to capture a still image
I tried a few years after we did this, to modify a generic monitor to display things using two inputs, not using scanlines. But to no avail. Only flipping the screen and colors using relais (more on this later)
Bonus part: Above did remind me of a Vectrex, a game console which utilises same display technic. So no raster lines and pixels, but line drawing by controlling the beam.
Two games on a borrowed Vectrex – You can see the continuous line – faint to see, even harder IRLMovie from 2017 .. Vectrex was made in 1982-1983
While attending school, we had to come up with a computer related project.
I had access to a military grade laser (i think it was for aiming), so i went for a drawing-animations-with-a-laser project.
I started off by myself, but soon after my teacher was interested in the project. He knew someone at the University of Twente. So he made an appointment for me. I don’t know which teacher and guy at the Uni but it was really interesting. Laser microscopes!
Image from https://physics.emory.edu/faculty/weeks/confocal/
I was using speakers with mirrors on it, and glued tiny mirrors on stepper motors. But these are far too slow. The Uni guy gave me some tiny mirrors which can be controlled by putting power on the little coils. But even these lightweight mirrors from a video disc player are “slow”. At least for making sharp corner turns.
Kindda dusty
So i was given an electronic schematic also. This was an amplifier with sensors, which would give a power boost when needed.
Amplifier with light sensors (click me)Light breaking glasses
In 2022 I found some information about this on my fileserver.
Setup
Above a schematic about the feedback amplifier
Writing software and experimenting with coordinates to send to the laser mirrors.
A few years later this laser was used in my computer dungeon using a smoke machine from my friend Marco who used this machine for his mobile disco. We closed all doors and windows, making it as dark as possible. Let the smoke machine run for a long long time, and played with this laser setup. Next day when the room was aired, all computers had a fatty substance on it, so I spent the rest of the day cleaning everything.
Some time later the laser broke.
"If something is worth doing, it's worth overdoing."