Sub-Dividing
This is an example of using 2 photocells and a variable resistor as analog inputs to control 8×8 LED Matrix with PIC18F452, UDN2981, and ULN2803. The input values of the two photocells are compared. When the values are the same, LED lights up randomly within the entire board. Depending on how much darker a photocell is compared to the other, LED lights up within the range that is more focused towards a corner. The variable resistor controls how fast the LEDs blink. This is how the board was set up:
The following is the code:
This is an example of using 2 variable resistors as analog inputs and a switch as a digital input to control 8 LEDs with a PIC18F452 chip. Variable resistor 1 is used to control which LEDs light up. The second variable resistor controls how fast the LEDs blink. The switch decides whether the LEDs blink or not. MAX232CPE is used to allow serial communication with a computer. PICBASIC was used to program the chip. This is how the board was set up:
The following is the code:
DEFINE LOADER_USED 1
DEFINE OSC 20
INCLUDE “modedefs.bas”
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 20
ADCON1 = %10000010
TRISA = %11111111
TRISB = %00000000
TRISC = %10001000
adc VAR WORD
adcbyte VAR BYTE
SPEED VAR WORD
SPEEDbyte VAR BYTE
SWITCH VAR PORTC.4
main:
IF SWITCH = 1 THEN
ADCIN 0, adc
adcbyte = adc/140
ADCIN 1, SPEED
SPEEDbyte = SPEED/140
PORTB = %00000001 << adcbyte
PAUSE 100*SPEEDbyte
PORTB = 0
PAUSE 100*SPEEDbyte
ELSE
ADCIN 0, adc
adcbyte = adc/140
PORTB = %00000001 << adcbyte
ENDIF
GOTO main
Today was my first day at a physical computing workshop run by Jin-Yo Mok (http://www.geneo.net). I’m starting from the very basics to understand how every single piece operates at the most fundamental level. The breadboard in the image shows the simplest setup of current amplification using an NPN transistor (2N2222). Hopefully, I’ll be able to design custom circuit boards in the future as I become more comfortable with all these volts and currents :)
I have been exploring this idea of a pixelated landscape. Possibly, a park composed with a few types of regular components like grass, walkways, bench, water, light, etc. A controllable intensity of randomness is introduced. This is an attempt to create a simple green surface with a walkway defined by a curve. The curve attracts/selelcts the points according to its defined weight.
Some facade studies. All these patterns are made through a version of script that is very close to the 3D-pixelate code.
I recently purchased a book which turned out to be one of the most amazing books I have ever come across: “A New Kind of Science” by Stephen Wolfram. The entire book is available online for viewing at: http://www.wolframscience.com/nksonline/toc.html
I have been reading a chapter on randomness, which is why I have been writing scripts that heavily depends on random number generator. These are the results of a growth algorithm that explores a territory that is somewhere in between being random and ordered.