lunes, 6 de febrero de 2012

Compilando Arduino 1.0 desde shell

Como compilar sketchs de Arduino 1.0 desde la shell de linux sin dificultad ( o intentarlo )

* Requisitos previos

* Entrar al directorio del ejemplo Blink y descargar el fichero makefile

mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$
mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$ wget http://shallowsky.com/software/arduino/Makefile-1.0-v7
mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$ mv Makefile-1.0-v7 Makefile

* Editar el fichero Makefile y cambiar los siguientes parametros:

TARGET = Blink
ARDUINO_DIR = "directorio de arduino 1.0"
ARDUINO_MODEL = atmega328 o "elegir el modelo de arduino, ante la duda mirar en el fichero arduino-1.0/hardware/arduino/boards.txt"
AVR_TOOLS_PATH = /usr/bin "cambiar si se tiene una ruta diferente del toolchain de gcc avr, en mi caso es /usr/local/avr/bin/"

* El script toma como extension del archivo .pde, asi que antes de nada lo renombramos o copiamos

mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$ cp Blink.ino Blink.pde

* Ejecutar make, y observar como surge la magia


mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$ make

/usr/local/avr/bin//avr-g++ -c -mmcu=atmega328p -I. -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 applet/Blink.cpp -o applet/Blink.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_analog.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_analog.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_digital.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_digital.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_pulse.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_pulse.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_shift.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_shift.o 
/usr/local/avr/bin//avr-gcc -c -mmcu=atmega328p -I. -gstabs -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os   -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WInterrupts.c -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WInterrupts.o 
/usr/local/avr/bin//avr-g++ -c -mmcu=atmega328p -I. -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/HardwareSerial.cpp -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/HardwareSerial.o 
/usr/local/avr/bin//avr-g++ -c -mmcu=atmega328p -I. -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WMath.cpp -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WMath.o 
/usr/local/avr/bin//avr-g++ -c -mmcu=atmega328p -I. -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WString.cpp -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WString.o 
/usr/local/avr/bin//avr-g++ -c -mmcu=atmega328p -I. -DF_CPU=16000000L -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino -I/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/variants/standard    -Os -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -DARDUINO=100 /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/Print.cpp -o /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/Print.o 
/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
/home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/Print.cpp:44:23: warning: '__progmem__' attribute ignored
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_analog.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_digital.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_pulse.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/wiring_shift.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WInterrupts.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/HardwareSerial.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WMath.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/WString.o
/usr/local/avr/bin//avr-ar rcs applet/core.a /home/mrgastoso/Descargas/arduino-1.0//hardware/arduino/cores/arduino/Print.o
/usr/local/avr/bin//avr-gcc -o applet/Blink.elf applet/Blink.o -L. applet/core.a -Os -Wl,--gc-sections -mmcu=atmega328p -lm
/usr/local/avr/bin//avr-objcopy -O ihex -R .eeprom applet/Blink.elf applet/Blink.hex


   text   data    bss    dec    hex filename
      0   1010      0   1010    3f2 applet/Blink.hex

mrgastoso#:~/arduino-1.0/examples/1.Basics/Blink$

Notas: del mismo autor tambien esta la version para arduino-0.22 : http://shallowsky.com/software/arduino/Makefile-0022-v4

- Referencias

martes, 31 de enero de 2012

Acabado de PCB con mascara de soldadura

- Acabado de PCB con mascara de soldadura estilo supremo ( de pollo )

Convertidor de señaales 5v-3.3v LCX245

Convertidor de señaales 5v-3.3v LCX245

Convertidor de señaales 5v-3.3v LCX245

Placa Arduino Ethernet con ENCJ2860

Placa Arduino Ethernet con ENCJ2860

Placa Arduino Ethernet con ENCJ2860

domingo, 29 de enero de 2012

Display LCD ST7565R

Me he topado con este display LCD grafico de 128x64 lineas, que aparte de su bajo precio 13€, tiene opcion de conexion serie SPI, lo cual lo hace muy interesante a la hora de conextarlo, estos son los datos que he podido sacar de momento del datasheet.
  • chipset ST7565R 
  • voltaje 3.3v para logica y backlight
  • conexion paralelo, o serie SPI 
  • 18 pines tipo pasante
- Pinout
1.- GND
2.- +3.3V
4.- SI
5.- SCLK
14.- A0
15.- RES
16.- CS
- Foto del bicho


lunes, 16 de enero de 2012

Pruebas con mascara de soldadura

Ha llegado a mis manos unos tubos de mascara uv para pcbs, en principio para darle el acabado profesional a las pcbs de las frikadas.

De momento parece que hay que usar un timming muy concreto para conseguir unos resultados adecuados.