venerdì 30 novembre 2012

Volumetric lighting in Blender

Hi, this psot is about how to create a volumetric light in blender.
Here is an example of volumetric light:



There is only a lamp type that support volumetric lighting in blender: the spot.
First of all add the spot(Optional: in the lamp properties check Show cone to see how light influence your scene). Then go in lamp properties and in Spot Shape submenu check Halo and edit Step to 12.
Now you have created a volumetric light but if you wanna get a better result (not always, but sometimes  using this it looks more realistic) activate Ambient Occlusion and Indirect Lighting int the World Properties.
I hope you found this post useful, if you have any question comment or send me an e-mail to damianoandre@gmail.com

Bye, Dami

lunedì 12 novembre 2012

Use Arduino to program AVR

Hi, today I'm posting about programming an AVR (such as an attiny85) using Arduino.
You'll need:
- one LED
-10 microfarad capacitor
-an AVR (in my case an attiny85)
-an Arduino board (in my case Arduino UNO)
-some wires

First of all open the Arduino IDE and upload the ArduinoISP sketch (you can find it in File>Examples)
If you are using arduino 1.0 software check that in the void heartbeat() there is a line that says delay(20) if not change it.
When you have uploaded it to Arduino disconnect the board from pc and connect your avr like this:
-Arudino GND to AVR GND
-Arduino 5v to AVR VCC
-Arduino pin 10 to RST pin on AVR
-Arduino pin 11 to MOSI pin on AVR
-Arduino pin 12 to MISO pin on AVR
-Arduino pin 13 to SCK pin on AVR
-10 microfarad capacitor  between GND and Reset on Arduino

If you are using an Attiny85/45/13 it should look like this:



Now hardware side everything it's done.
To compile and upload the code for the AVR we need a software like WinAVR.
Download and install it, then create a C source file with your code in my case this:
 
#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

int main(void) {
    int n;
    DDRB |= ( 1 << 4 );
    while (1) {
        PORTB &= ~(1 << 4 );
        _delay_ms(1000);
        PORTB |= ( 1 << 4 );
        _delay_ms(1000);
    }
    return 0;
}

Now you're ready to compile and upload your code:
-connect arduino to USB
-navigate to code folder using cd command
-compile your code using these commands:
for attiny13:
avr-gcc -g -Os -c -mmcu=attiny13 test.c
avr-gcc -mmcu=attiny13 test.o -o test.elf
avr-objcopy -O ihex -R .eeprom test.elf test.hex
 
for attiny85/45:
avr-gcc -g -Os -c -mmcu=attiny85 test.c
avr-gcc -mmcu=attiny85 test.o -o test.elf
avr-objcopy -O ihex -R .eeprom test.elf test.hex 

check this for more commands.

-upload your code with this command:

avrdude -P COM4 -p t13 -c avrisp -b 19200 -U test.hex
 
If you're using a different port change COM4.
 
Now everything it's done and the AVR should be programmed.


Here are some photos of the project:



I hope you like this post, if you have any question comment or send me an e-mail to
damianoandre@gmail.com 

Bye, Dami