Text
Archive photo from first meeting at the council 15.11.17
5 notes
·
View notes
Text
Archive: Light Masonry

Archive photo from first onsite tryouts 07.10.16 Unused content
2 notes
·
View notes
Text
Archive: Random Cinetica
Quick archive of odd pictures left on a phone memory card. This was the first prototype build for the project was Cinetica, a device for kinetic drawings based on the artists bodily movements
http://www.carlosvalente.net/cinetica/




2 notes
·
View notes
Text
Archive: Create 274x Gerber files in Eagle
During the making of the PCBs for LEDLife I had a hard time exporting the gerber files needed for manufacturing from Eagle. Using the given 274x cam preset there were missing files or incorrect information, mostly related to the outlines.
I eventually figured it out and the file is available here. I have tested it successfully in most PCB manufacturers I use including DirtyPCBs and OSHPark. It was used with Eagle 9.0.1 will export the following
*.GBL *.GBO *.GBS *.GKO *.GML *.GTL *.GTO *.GTP *.GTS *.TXT + .gbrjob
Use it as any other cam job file.
I have also found this website handy for double checking my files in the browser
0 notes
Text
Shameless self plug - Final touches on finishing my artwork
See more over in my website
1 note
·
View note
Text
Archive: People Counter - Heads first electronics
People Counter was a project for creating a pedestrian counting sensor and a large format display to show the results over a day.
This included the design of custom PCBs and enclosures for the purpose. Both devices (counter and sensor) used off the shelf development boards (Feather adalogger and Teensy 3.2 respectively)
It was also part of the design process to create a modular assembly for 7 segment screens, with the intent of being able to use it as base for a creation of a 7 segment matrix capable of displaying graphics.
In this case the 7 segment PCB was build to be modular. It has links for SPI and power on the X direction and I2C in the Y. This way it could be assembled in a X*Y panel with one Teensy per row and I2C to control the overall matrix. Using a microcontroller for each row would mean it is possible to keep high refresh rate needed for displaying the graphics.
The project is finished as is and links for the sensor and screen development including the enclosure design, PCB and code are available on Github.
Development will be continued pursuing a graphics based version
EDIT: Specification
This is a post post. I thought it would be important to clarify the project specification in the case. The following are excerpts from the project description document
(...) It should be able to count people walking past independently of direction to a range of 5 meters.
A PIR sensor detect changes in light and for this reason might not be allow to detect groups of people that walk together. The people counter will not have any user interface.
A second part of the system will be a display for the count number, the two systems are independent and connected through a custom designed cable (up to 5 meters long).
Further · We could make the people counter work of computer vision. Ideally this would have the camera to be placed directly over the path. The counter would be more precise and able to handle groups of people. Solutions like these are employed regularly in cities. However this would change the needs in computer power
NOTES Efficiency and reliability of the system may vary depending actual operating conditions:
1) Detecting heat sources other than the human body, such as
(1) Small animals entering the detection area. (2) When a heat source for example sunlight, incandescent light, car headlights etc, or strong light beam hit the sensor regardless inside or outside the detection area. (3) Sudden temperature change inside or around the detection area caused by hot or cold wind from HVAC, or vapor from the humidifier, etc.
2) Difficulty in sensing the heat source(1) Glass, acrylic or similar materials standing between the target and the sensor may not allow a correct transmission of infrared rays.
1 note
·
View note
Text
Things I wish I didn’t forget all the time: transfer files between pi and computer over ssh
Trick is to remember the name of the protocol, SFTP. I will be using cyberduck and a freshly installed raspbian image. A simple setup guide can be found here
1. Create a new SFTP connection. You will need the username and password as well as the IP address. By default this would be
User: pi Password: raspberry in a local connection you can find your pi [email protected]
2. Yes yes
3. Voila!
2 notes
·
View notes
Text
Control Freak: Projector control with PJLINK
Getting to it
Ensure that you are in the same network range as the projector, note projector IP address and port
Test connection with ping
Ensure that PJLINK is activated in the projector and password is disabled**
Open terminal and run netcat
Start UDP connection using netcat -u <projector ip> <port>
Type the relevant commands from the projector manual or see PJLink specs
Use ctrl+c to exit netcat
** The password is the same used in the web remote manager, not the other system password. Using password with PJLink would mean some encription so it would be impractical to try manually as in this example.
Something like this
netcat -u 192.168.0.1 4352
%1POWR 1 # turn on projector
%1POWR 0 # shutdown projector
%1INPT 11 # Select RGB 1 input
%1INPT 31 # Select DVI input
%1AVMT 30 # Open Shutter
%1AVMT 31 # Close Shutter
Finding our information is just as simple
netcat -u 192.168.0.1 4352
%1POWR ? # return power status of the projector
%1INPT ? # return selected input
%1LAMP ? # returns lamp status
Perhaps unorthodox to start with the conclusion, do it anyway for the sake of simplicity. Users at different levels could be off put by network and terminal explanations. Follow below to see more
The tools
In OSX I generally use netcat or packetsender for testing the send and receive of raw packets (as well as good ol’ wireshark to keep an eye on everything). It is worth noting that all these tools are cross platform and will work in OSX, Linux and Windows.
EDIT: I came across the super NetTools, it is like a packetsender on steroids. Unfortunately windows only
Setup
PJLINK
The implemented control protocol is called PJLINK.
The commands are listed in the product manual and in the Panasonic case are the same across most of the range (to my best knowledge). Keep in mind the communication port might differ. Either way the procedure will be the same
Before starting PJLINK has to be activated in the projector menu as shown below. Keep in mind that PJLINK shares the password set for the web remote. In general case is best to disable the password all together.
Once activated please consult the manual for the list of commands.
NOTE: While we are here note that most projectors (as this model) allow for Artnet Control. This usually gives access to other parameters of the projector such as lens adjustment and shutter control. You could use any lighting software or my Python examples to control the projector this way.
Networking
It is important to mention that for this to work one has to be networked with the projector. ie: the machine in use should be in the same IP range as the projectors to be controlled. This is set under Network Control in the Menu Tree. In a small network a projector could be addressed as 192.168.0.1 with a network mask of 255.255.255.0. Once the IP address is setup it is common to check the connection using the ping command:
From the computer that will control the projector
ping <projector ip>
A successful connection could look something like below. While an unsuccessful one would list a connection timeout error
Netcat
I will be using netcat for this example, using packetsender or nettools would be the same as the commands do not change.
Using terminal in OSX or Command Prompt in Windows, the general syntax is something of the sort
netcat [options] <host> <port(s)>
Netcat is a powerful tool implementing several network oriented tasks. Here we focus on sending simple messages. You can of course use netcat -help to find more about the usage
netcat -t 255.255.255.255 8008 # Broadcast TCP message on port 8008
netcat -u 255.255.255.255 8008 # UDP is passed as option
netcat -u localhost 8000-8008 # Port ranges can be used
Once the port is open the terminal is listening and ready to send the commands, use ctrl+z (OSX) to close the service
NOTE: TCP is the default mode for netcat, in which case the option -t is not necessary but included here for clarity.
EDIT: A NOTE ON PANASONIC PROJECTORS
It happened way too many times so I have decided to write it down. Panasonic projectors seem to come with password enabled for PJLINK. The password is the same as for the web remote interface (panasonic) and to disable this you should log into the web remote and change the password to empty field
Logging into the web remote is default to user ‘user1′ and password ‘panasonic’
0 notes
Text
Archive: Sleep walker steps for compiling QT in Raspberry Pi
This is a silly step by step / copy paste guide for what i had to do to finally compile QT in Raspberry Pi. I have used this guide with this thread and this thread for getting over some problems (mostly EGLFS related). Here are documented minor modifications I have done to make it work
Date: 08.04.2018 RPi Version 3B QT Version 5.10.1 SD Card 16GB (Dont think you can use less) OS Raspbian Stretch Lite
1. Downloaded latest stretch Lite version from RPi website
2. Make image using etcher
3. Connect raspberry pi to my mac and enable internet sharing in OSX (Inside System Preferences -> Sharing)
4. Few setup items: - Enable SSH in raspberry pi with sudo raspi-config (Interfacing Options) - Change swap (first time I tried compiling ran out of memory)
sudo nano /etc/dphys-swapfile # The default value should be # CONF_SWAPSIZE=100 # Change to CONF_SWAPSIZE=1024 # Restart the service sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start
- Allocate 256MB to GPU memory on memory split
ALL STEPS BELOW WHERE TAKEN FROM OSX OVER SSH
5. From mac connect to Rpi over ssh, the default user - password is pi - raspberry
6. Make sure everything is up to date
sudo apt-get update sudo apt-get upgrade
sudo reboot
sudo rpi-update
sudo reboot
7. Make Directory and download and extract QT
mkdir qt cd qt wget http://download.qt.io/official_releases/qt/5.10/5.10.1/single/qt-everywhere-src-5.10.1.tar.xz sudo tar -xvf qt-everywhere-src-5.10.1.tar.xz
8. Install dependencies (one at a time just to be sure)
sudo apt-get install build-essential sudo apt-get install libfontconfig1-dev sudo apt-get install libdbus-1-dev sudo apt-get install libfreetype6-dev sudo apt-get install libicu-dev sudo apt-get install libinput-dev sudo apt-get install libxkbcommon-dev sudo apt-get install libsqlite3-dev sudo apt-get install libssl-dev sudo apt-get install libpng-dev sudo apt-get install libjpeg-dev sudo apt-get install libglib2.0-dev sudo apt-get install libraspberrypi-dev sudo apt-get install libpq-dev libmariadbclient-dev
9. Edit mkspecs
Navigate to [QT_ROOT]/qtbase/mkspecs/devces/linux-rpi2-g++ PEOPLE SEEM TO HAVE PROBLEMS, SEE LINKS IN INTRO TEXT
10. Create build directory
mkdir build cd build
11. Configure build
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig PKG_CONFIG_SYSROOT_DIlsR=/ \ ../qt-everywhere-src-5.10.1/configure \ -v -opengl es2 -eglfs -no-gtk \ -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/usr/bin/ \ -opensource -confirm-license -release -reduce-exports -no-use-gold-linker \ -force-pkg-config -nomake examples -no-compile-examples \ -skip qtwayland -skip qtwebengine -no-feature-geoservices_mapboxgl \ -qt-pcre -ssl -evdev -system-freetype -fontconfig -glib -prefix /opt/Qt5.10
DO YOURSELF A FAVOR AND DO THE REST IN THE RPi, YOU DONT WANT TO HAVE YOUR MACHINE STUCK FOR HOURS
12. Run compile (I did it nice and slow, you can try to use the cores if you want)
make
13. Install build
sudo make install
1 note
·
View note
Photo
bw texture experiments 23.01.2018
https://www.instagram.com/cpvalente/
2 notes
·
View notes
Text
Small Bits: Frame Buffer Matrix in Openframeworks
I thought it would be nice to try and revisit simple techniques. Little bits of code that could be explored into an interesting / playful experiment or installation.
Here I am playing with deques in C++ to save frames from a video player. This results in a very simple and fun frame delay matrix. The same technique can be applied for slit scanners. Add some computer vision and it should be fun
Couldnt find a way to embed the gist, link is here
0 notes
Photo
Growth 17.01.2018
https://www.instagram.com/cpvalente/
1 note
·
View note
Text
Archive: Reaction Diffusion ish
About 2 years ago I spent some time looking into Reaction Diffusion Systems as part of my visual search into chaotic - predeterministic systems.
The idea was to build geometry based on this behaviors. I did post some if it back then here
Anyway, these were some of the process screenshots I had lying around.
1 note
·
View note
Photo

Slice 17.01.2018
https://www.instagram.com/cpvalente/
7 notes
·
View notes