Archivi categoria: DIY

Aggiornare firmware USBasp con Arduino

Mi è capitato alcune volte di aver problemi con il mio USBasp, mi è capitato di leggere questo errore nel monitor: “avrdude: warning: cannot set sck period. please check for usbasp firmware update”.

Sul sito di Fischl (http://www.fischl.de/usbasp/) ho potuto trovare tutti i file necessari per l’upgrade del dispositivo, tra cui il firmware più recente usbasp.2011-05-28.tar.gz

Ma come programmare un programmatore!?

Due sono le strade:

  1.  L’uso di un secondo programmatore (un altro USBasp ad esempio)
  2.  Un Arduino

Non avendo un secondo USBasp, il modo più semplice era quello di usare un arduino come programmatore.

Ebbene, Arduino può essere utilizzato come programmatore… lo sapevate? 🙂

Gli step da eseguire per aggiornare il firmware dell’USBasp tramite Arduino sono i seguenti:

1. Aprite la vostra ide Arduino, e flashate il vostro arduino con lo sketch ArduinoISP (File>Esempi>ArduinoISP).

2. Mettete in corto lo Jumper JP2 (in qualche versione meno recente è lo jumper R8) del vostro USBasp, in modo tale da abilitare la modalità di autoprogrammazione.usbaspver2

3. Collegate il vostro arduino al pettine dell’USBasp come segue:

Arduino – USBasp
5V ———– 2
GND ——– 10
13 ———— 7 (SCK)
12  ———-  9 (MISO)
11 ———-   1 (MOSI)
10 ———    5 (RESET)

ISP_pines_ArduinoISP_lusbasp_and_arduino

4. Scaricate ed installate AVRDUDESS (http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/)

5. Cliccate sull’eseguibile e settate il tutto in questo modo:

  • Programmer > Arduino
  • MCU > Atmega8 (assumendo che il vostro USBasp abbia un atmega8)
  • Port > COM3 (dipende a quale porta del vostro pc è collegato arduino)
  • Baud Rate > 19200
  • Files > Flash > Selezionate il vostro firmware .hex da flashare

Dovrebbe essere più o meno così:

Cattura

6. Premete “START!” e incrociate le dita…

Due parole su quale firmware caricare sul vostro USBasp

Sul sito di Thomas Fischl (http://www.fischl.de/usbasp/) l’ultima versione disponibile del firmware è la usbasp.2011-05-28.tar.gz

Pare (praticamente certo), però, che l’ultima versione sia leggermente buggata e che le versioni più vecchiotte non supportano in pieno MCU con memoria flash >64k, dunque non avremo la possibilità di aggiornare i nostri Arduino con Atmega2560.

Ho trovato in giro per la rete questa versione corretta che pare funzioni a dovere: http://openrcforums.com/forum/viewtopic.php?f=10&t=1363#p29615

-Si ringrazia Romolo per la versione riveduta e corretta del firmware-

 

“Tuco” – Targhetta a porta – Versione Raspberry PI

tucoeyes

 

Tuco 2.0 è una targhetta elettronica a porta: “intelligente”, open source e open hardware.

E’ stata concepita per essere installata sulle porte degli studi della nostra università.

Lo scopo della targhetta è visualizzare in tempo reale informazioni del tipo: numero dello studio, docente/i, orari di ricevimento, contatti mail e/o telefonici etc etc… ma soprattutto avvisi presi in tempo reale da uno dei canali di comunicazione dell’università.

Tuco 2.0 è l’evoluzione del prototipo pubblicato precendemente; questa versione sfrutta Raspberry PI, minicomputer ideato in UK dalla «Raspberry PI Foundation».

Questa versione si distingue dalla precedente, in quanto il software di base è un sistema operativo basato su Linux.

Lo schema di funzionamento consiste:

  1. Alimentazione tramite rete elettrica
  2. Bootstrap del sistema
  3. Visualizzazione desktop
  4. Apertura automatica della pagina web (in fullscreen), memorizzata su server dell’ateneo

Lista dei componenti:

  1. raspberry pi modello b -> http://www.robot-italy.com/it/raspberry-pi-model-b-512mb.html
  2. monitor 7″ -> http://www.ebay.it/itm/221194928628
  3. penna wifi usb -> http://www.ebay.it/itm/360545397917
  4. 1x alimentatore 5v @ 1A -> http://www.ebay.it/itm/161035612727
  5. 1x alimentatore 12v @ 1A -> http://www.ebay.it/itm/121034125746
  6. scheda SD da 8GB (possibilmente classe 10) -> http://www.ebay.it/itm/110955861749

Totale ~130€

Dopo aver installato su sd la distribuzione Raspbian “wheezy” (http://elinux.org/RPi_Easy_SD_Card_Setup), collegarsi alla rete wifi “screens”.

Parametri di configurazione:

sudo apt-get upgrade && sudo apt-get update
sudo apt-get install unclutter
sudo nano /etc/xdg/lxsession/LXDE/autostart

#@lxpanel –profile LXDE
@pcmanfm –desktop –profile LXDE
#@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@unclutter
@midori -e Navigationbar -e Fullscreen -a http://web.uniparthenope.it/screens/player.php?id=cdnXXX

sudo nano /boot/config.txt

disable_overscan=0
overscan_top=-16
overscan_bottom=-16
framebuffer_width=480
framebuffer_height=234
sdtv_aspect=3

sudo nano /etc/environment

http_proxy=http://192.167.9.178:3128/
https_proxy=http://192.167.9.178:3128/
ftp_proxy=http://192.167.9.178:3128/
no_proxy=”localhost,127.0.0.1,10,9.4.20,.uniparthenope.it”
HTTP_PROXY=http://192.167.9.178:3128/
HTTPS_PROXY=http://192.167.9.178:3128/
FTP_PROXY=http://192.167.9.178:3128/
NO_PROXY=”localhost,127.0.0.1,10.9.4.20,.uniparthenope.it”

sudo nano /etc/ntp.conf

server 192.167.9.3 iburst

sudo date -s “28 MAY 2013 14:52:00″ //data attuale da configurare

sudo reboot

enjoy!

 

GUIDA root tablet Android – Flytouch 8 / SuperPad VIII

Salve

Questa è la mia guida al volo per fare il rooting sul tablet Flytouch 8 (BC1003).

Cattura

Prima di cominciare bisogna dire che il rooting che ho effettuato è avvenuto con successo su Windows 7 32bit (sul 64bit non funziona causa driver mancanti).

Guida:

  1. Impostare la modalità “debug USB” dal menu “opzioni sviluppatore”
  2. Collegare il cavo alla USB superiore (vicino al jack audio) al proprio pc e aspettare l’installazione dei driver.
  3. Scaricare questo SOC, decomprimerlo e per comodità piazzarlo in C:
  4. Aprire un prompt dei comandi con start>cerca>cmd
  5. Digitare i seguenti comandi per entrare nella directory ADB:
cd C:\
cd SOC
cd ADB

Ora inizia il root vero e proprio:

Se il servizio ADB è già in esecuzione, killarlo dalla taskmanager.

ADB root
ADB shell mount -o remount,rw /system
ADB push su-3.0.3.2-efghi-signed /system/xbin/su
ADB shell chown 0.0 /system/xbin/su
ADB shell chmod 04755 /system/xbin/su
ADB shell mount -o remount,ro /system
ADB install -r Superuser-3.0.7-efghi-signed.apk
ADB shell mount -o remount,rw /system
ADB push su-3.0.3.2-efghi-signed /system/bin/su
ADB shell chown 0.0 /system/bin/su
ADB shell chmod 04755 /system/bin/su

Fatto!

Piccole aggiunte opzionali:

  1. aggiornate subito Superuser 
  2. modificate il build.prop in questo modo per sbloccare tutte le app dal playstore:
ro.product.model=GT-I9300
ro.product.name=GT-I9300
ro.product.device=GT-I9300
ro.build.product=GT-I9300

Flashing SPI scheda madre asus p5b-vm

Salve

Può capitare che negli anni la vostra scheda madre possa perdere qualche colpo o che voi caricate un bios errato.

Mi è capitato, recentemente, che la mia p5b-vm aveva un serio problema di avvio: monitor nero, ventole a go-go e si spegneva inesorabilmente dopo pochi secondi.

Non l’avevo mai toccata, non ho mai messo nè mano nè saldatore… può succedere, che negli anni, che le memorie si deteriorino.

Un problema simile lo avevo sulla mitica matrox g400, una volta al mese dovevo flashare il firmware interno!

Sulle schede madri, spesso e volentieri, il bios risiede in memorie della serie 25x e che al loro fianco vi sia un connettore… il connettore spi!

Esempio:

2012-12-29 11.45.53

Come potete vedere vi è una memoria MX25 e un connettore SPI

La pedinatura del connettore è questa:

SPI header

CS# (chip select) va messo a VCC.

Fatti i debiti collegamenti col vostro programmatore siete ora in grado di: pulire la memoria, programmare un nuovo bios e verificare la scrittura.

2012-12-29 12.57.562012-12-29 12.14.382012-12-29 12.12.53

 

Usate il programmatore che volete, volendo potete usare anche la porta parallela (se esiste ancora!!!) e ricordate che questo sistema può essere utilizzato su parecchie altre schede madri

Indicatore gpl v1

Finalmente ho trovato un pò di tempo e il materiale giusto!
Ho collegato un piccolo display a 7 segmenti / voltimetro che indica esattamente il valore in volts del sensore di quantità di gpl del ruotino.
Funziona davvero bene, l’unica particolarità è che nei momenti in cui l’auto è un sballottolata (accellerate, fossi, dossi, curve) il valore cambia di un bel pò.

L’ideale sarebbe installare un arduino con display bello grosso, in modo tale da indicare tanti valori ad esempio: km percorsi, km parziali, km al litro con gas etc etc

Per ora posto le foto del mio piccolo progetto.

Da notare che:
1. ho installato un piccolo switch nascosto, nel caso in cui mia sia stufato di vedere il display acceso lo spengo
2. il display si accende solo quando si gira l’auto
20120719185455 catturabj

Indicatore livello GPL a valori continui

Ciao a tutti i miei fans (4 gatti)!

Oggi vorrei proporvi una mod per le vostre vetture molto cool: un indicatore del livello del GPL a valori continui.

Cosa significa?
Scommetto che molti di voi, per colpa di questa crisi, hanno acquistato un auto a gpl/metano o hanno installato un impianto sulle vostre auto a benzina.

La cosa che mi rende un pò sconcertato è il modo con cui viene indicata la quantità di gpl nei nostri toroidi.
Tutto viene affidato ad un pic che, tra le tante cose, pilota 5 led: riserva 1/4, 2/4, 3/4 e 4/4.
Dunque, rappresentano la quantità in modo discreto e non continuo: non avete modo di capire quanto gpl avete effettivamente!

19052012015

Facciamo un paio di conti:
Ipotizziamo un toroide di 45litri.
Ogni led rappresenta circa 45/4 del totale, ovvero 11.25 litri.
Se abbiamo 11.3 litri, quasi certamente, il vostro pic accenderà il 2° led che vi trarrà in inganno perchè penserete di avere 22.5 litri!
Per non parlare poi di quando camminate a riserva pensando di avere un bel pò di gas quando poi….

Come risolvere, dunque, questo problemino fastidioso?
Prima però, dovremmo rispondere ad un’altra domanda…. Come funziona esattamente il meccanismo che accende i led?

Proverò a spiegarvelo a parole mie…
Su di ogni toroide c’è un sensore resistivo che varia a secondo del livello di liquido all’interno del toroide.
Questo grazie ad un meccanismo a me ignoto, ma che ipotizzio sia realizzabile con qualche galleggiante a calamita.
Il sensore indica il livello in modo analogico (con una lancetta) e lo trasforma sotto forma di tensione che andrà direttamente al commutatore, che spalmerà la suddetta tensione, su 4 led:

dscn0733l

Nel mio caso ho un sensore resistivo aeb1050 ed un commutatore aeb722a:

19052012012 19052012013 19052012014

Aprendo il commutatore ho notato che:

1. E’ fatto davvero bene. Una bella pcb, ottime saldature, ottimi componenti, ottima elettronica: ho notato un pò di diodi di protezione.

2. La tensione del sensore va quasi direttamente all’entrata RC5 di un pic della famiglia 16F-qualcosa-

3. Ogni led corrisponde ad una porta del pic

4. Altra elettronica che penso servi a commutare l’impianto da gas a benzina e viceversa… tipo dei piccoli relè

Dunque, se i calcoli non mi ingannano, la tensione doveva variare tra 0~5v.
Studiando bene lo schema di montaggio ed altre caratteristiche dell’impianto, consultabile nel pdf al link: http://www.aeb.it/prodotti/commutatori/722
…si capisce in un batter d’occhio che il cavetto bianco (se correttamente installato dal vostro meccanico) porta direttamente al sensore.

captureuxg

Ho così splittato il cavetto e l’ho chiuso con un pò di guaina termorestringente:

dscn0737hc dscn0738g

Ho collegato il tester in questo modo: il positivo al cavo bianco appena splittato e il negativo ad un qualsiasi negativo… io ho usato quello del posacenere.

capturetx

…e bingo!

dscn0740v dscn0741n

La mia bellissima tensione!
Come si può evincere è molto vicina a 0v… 1.6v, quasi un pieno!
Più precisamente:
5v : 45litri = 1.67v : x
x = (45*1.67)/5 = 15.03 litri al pieno
y = 45 – x
y = 29.97 ~ 30litri effettivi!

(però non credo che il mio toroide sia da 45litri… dovrebbe essere tipo 42litri)

Ho avuto modo di camminare col tester attaccato e ho fatto anche un pò di gas.
Proprio come in una vera lancetta a benzina, il valore varia con la quantità di gpl.
Non solo… ad ogni buca, salita/discesa il valore cambiava proporzionalmente: in salita diminuiva e in discesa aumentava.

Ora viene il bello, come inscatolare il tutto rendendo più elegante questa lettura?
A mio avviso il modo più semplice è acquistare un piccolo voltimetro a pannello a 7 segmenti (o lcd) che si accende all’accensione dell’auto (o con uno switch in serie) che indica il voltaggio sul cavo bianco: 0v pieno, 5v serbatoio vuoto.
Tipo questo:

captureuud

E’ la soluzione più economica (meno di 3euro dalla cina), facile e pulita.
Ma se volete una cosa più elaborata, precisa e figa… beh… arduino!
Collegate la tensione all’input analogico, fate un piccolo sketch di conversione, mediate i vostri valori e rappresentateli su un bel display luminoso.

A voi la scelta!!

19052012005

PS
Ovviamente, non mi assumo nessuna responsabilità circa quello che andrete a fare sul vostro impianto!

PPSS
Ovviamente, il tutto varia da impianto a impianto… bisognerebbe riapplicare un pò di teoria e modificare leggermente (spero per voi) questa mod.

Nota_1:
Cosa abbastanza strana è che si può regolare anche i litri di gpl che indicano la riserva, cito il manuale: È possibile effettuare una piccola rettifica del numero di chilometri che possono essere percorsi in riserva; ruotando il sensore nella sede della multivalvola in senso antiorario, i chilometri che si possono percorrere in riserva diminuiscono mentre ruotandolo in senso orario i chilometri che si possono percorrere aumentano.