mercoledì 25 febbraio 2015

PCB, PCB ovunque!

Oggi volevo lasciare una piccola recensione su www.pcbway.com che mi fornisce le PCB che utilizzo per i miei progettini

Le schede vengono progettate direttamente da me con Fritzing (ho provato Eagle e Kicad ma mi trovo meglio con fritzing) e si esportano in formato gerber. Se andate sulla loro homepage potete fare direttamente una richiesta automatica per conoscere il prezzo delle vostre schede.
E' tutto immediato, basta specificare cose come lo spessore, dimensione, quantità e in automatico viene calcolato il prezzo finale delle PCB.

E' molto comodo, anche perchè io non ho voglia di inviare delle email a produttori che poi si sono rivelati costosissimi.

Devo dire che invece i loro prezzi sono imbattibili. mi hanno orpreso motlo in quanto a qualità, efficenza e velocità in tutto. Ogni singola parte del lavoro di produzione è monitorizzato e quindi ci permettono di sapere direttamente come sta andando il lavoro.

Ecco alcune immagini di due mie schede che ho fatto recentemente:



Devo dire che sono molto soddisfatto.
Le saldature vengono molto bene, specialmente con una stazione saldante ad aria calda.
Devo dire che, se dovete farvi fare delle PCB, pcbway è un ottimo produttore.

Passo e chiudo.

lunedì 12 gennaio 2015

Si ricomincia!

Eccomi quà, di nuovo in forma!
E' riiniziata la scuola, sono passate le vacanze di natale...
Approposito... Buon anno!

Di recente mi sono messo a partecipare un po' alle discussioni sul forum di arduino nella sezione italiana e indovinate un po'... Il mio codice che avevo lasciato tempo fa è servito! :D

In realtà l'ho modificato un po' perchè serviva solo per il seriale, niente LCD, quindi l'ho ridotto e migliorato!

Tutto quà. Non è molto diverso e l'ho commentato il più possibile!
Alla prossima!

mercoledì 13 agosto 2014

Wow!

Io sono fatto così.
Non sono molto costante e quando riesco ad esserlo, la mia noncostanza (buone le coste, no?) mi porta a non esserlo più.
Era necessario prendere una pausa da tutto, come la sto prendendo ora per scrivere quà

In questi due mesi sono accadute molte cose... un cellulare nuovo, una splendida vacanza, un progetto fermo e un altro ricominciato...

Ricominciato.
Prima o poi avrei dovuto parlarne un po', anche se non troppo nei dettagli (non mi piace che le mie idee vengano rubate e copiate spudoratamente)

Siamo in un momento di crisi e per ora non si vede una grande luce sul fondo del tunnel, ma ognuno di noi, per portarci avanti verso la fine dei problemi, deve dare una mano.

Quel che ho pensato io "per dare una mano" è abbastanza semplice: un sito web

Adesso potreste pensare che è una cosa strana, o una perdita di tempo, ma aspettate un attimo
Il progetto al momento è ancora in uno stadio completamente precoce e non è nemmeno funzionante (una parte sì, ma deve essere finita) perciò non potrei neanche descriverlo molto perchè credo cambierà ancora nello stile e nelle funzionalità...

Sapete, in questi anni sta crescendo molto lo sviluppo di stili grafici molto lineari e minimalistici, basti pensare a Windows o iOS o ancora ad Android e quindi per seguire lo stile ho (e poi abbiamo) deciso di utilizzare dei template fantastici preparati da quei pazzi di Twitter.
Potrebbe sembrare un po' strano ma vi assicuro: la grafica è molto bella.

Al momento è tutto sul mio computer ma entro agosto dovrei aver preparato qualcosa di utilizzabile almeno per Asti e Provincia, così da vedere quanto interesse può ricevere uan cosa del genere e se può funzionare.

Il tema del sito? Cultura.

lunedì 23 giugno 2014

Altri arrivi!

Proseguendo il precedente post..

Avevo richiesto dei campioni dalla Linear che sono estremamente piccoli e non credo che dalla foto si vedano nemmeno, ma sono lunghi circa 3mm...
 E infine sono arrivati dei jumper aggiuntivi, qualche resistenza e un convertitore USB -> TTL che sfortunatamente non è compatibile con Windows 8...

Beh, cercherò un modo per utilizzarlo, ma d'ora in avanti comprerò solo quelli che contengono l' FT232RL che è il "vecchio amico" dell'Arduino AKA Arduino duemilanove/diecimila

Estate!

E' da un po' che non scrivo, e mi scuso per questo, ma sono rimasto molto indaffarato in alcuni progetti su cui sto lavorando

Quindi, per aggiornare un po' la situazione, iniziamo con...

Arduino: al momento sto lavorando ad un progetto piuttosto complesso di cui preferirei non dire troppo... per il momento posso solo dire che è un gioco e che c'è da divertirsi parecchio, ma nient'altro.

Per alcuni primi test infatti ho voluto farmi produrre qualche PCB per poter costruire dei prototipi e per ora non sono venuti malissimo:
 Ho lo spazio per reggere il prcessore e gli NRF che avevo ricevuto qualche tempo fa!

Poi un giorno dovevo iniziare un altra stampa con la stampante 3D e accade l'inevitabile: si rompono i "giunti" improvvisati con della guaina termorestringente..
Devo essere sincero: non mi aspettavo che sarebbero durati così tanto, dato che è da Dicembre che sono lì. Non ho una foto ma posso spiegarvi più o meno dove si trovano:
la mia stampante (una prusa i3) per fare i vari strati deve sollevare l'estrusore della plastica che si regge su due barre filettate. Le due barre sono fissate all'asse Z (il pezzo dell'estrusore) attraverso due pezzi stampati in cui è inserito un dado che permette di alzare o abbassare il tutto.
Per poter fare ciò, è necessario avere due motori che girano le barre che sono giuntate ad esso con il metodo sopra citato. Ora quindi mi tocca (ma non è proprio malissimo) comprare due giunti seri: ne vendono su ebay ma sembrano essere inesistenti in tutti i ferramenta che ci sono quà ad Asti (per ora ho cercato in 10 negozi)...

Tra poco arriva la continuazione !

sabato 14 giugno 2014

Nota per il futuro: mai spaventare gli altri giocatori!

Oggi su DayZ sono finalmente riuscito a trovare del cibo... o sarei morto

Una partita abbastanza tranquilla, tranne qualche zombie che ci ha messo un po' a morire
Poi ad Elektro sono persino riuscito a vedere un giocatore (per me è raro) ma l'ho spaventato ed è corso via. Aveva una maschera, tipo quella di Payday: di solito chi le porta non è nient'altro che un "maniaco", come vengono soprannominati nel gioco. Sono delle persone che cercano di spaventare e di uccidere gli altri giocatori, a volte anche con strane note che si torvano nel loro zaino
Non è difficile ucciderli, ma di solito cerco di non uccidere nessuno, a patto che non mi attacchi o non attacchi i miei compagni

Ora che ho questo nuovo personaggio dovrò cercare un po' di tutto, dato che il precedente ha fatto una fine orribile, cadendo per un errore del gioco giù da una scala a pioli, e aveva ogni cosa che potesse servire...

Vedremo come riuscirò a non morire!

giovedì 5 giugno 2014

Niente da fare

Dopo un'ora di stampa questo primo tentativo è stato invano...
Doveva essere un buon reggilattina, ma non va proprio... Per cinque millimetri

         

mercoledì 4 giugno 2014

Piastre Petri e Colture di Batteri!

Cercavo su eBay delle Piastre Petri per fare un piccolo progetto estivo, dato che a scuola non siamo sfortunatamente riusciti a farlo...
Mi sembra che queste siano molto convenienti...

Vi chiederete... "Perchè ti servono delle piastre Petri?"

Ebbene, sono perfette per le colture di batteri e, dato che ho già L'Agar Agar (o soltanto Agar), sono praticamente a posto!

La mia prof di biologia mi ha consigliato di preparare il composto per le piastre bollendo un pezzo di carne e una carota (così i microorganismi hanno qualcosa di cui nutrirsi) o aggiungendo del sangue (per i batteri anemofili), aggiungendo poi l'agar e quando arrivo verso i 50° devo versare tutto nelle piastre, così non mi si solidifica nella pentola... x)

Tra un po' credo le acquisterò e, ovviamente, ogni giorno dovendo controllare i cambiamenti nelle varie piastre, caricherò tutto quà!

Solo di una cosa non sono sicuro... è meglio prenderle da 6cm di diametro (confezione da 10) o da  15cm (confezione da 5)?
Probabilmente, dato che ce ne sono un bel po' in quello da 6cm, credo opterò per quelle!

SSD1306: Realtà!

Finalmente funziona!
Che bello! Dopo una giornata intera di ricerche sono riuscito a trovare una specie di datasheet per il mio OLED da 128 x 64 pixel che ha i collegamenti fatti per vari tipi di connessioni...

Il venditore da cui l'ho acquistato non ha ancora risposto alla mia mail per la richiesta del datasheet della scheda, ma ormai non serve più!

Se vi serve, ecco lo schema; per sicurezza ho salvato l'immagine e ve la lascio quà:

Per il resto, se vi interessa, la libreria che sto usando è quella di Adafruit, ma credo la cambierò perchè è ESTREMAMENTE grande: su un UNO di circa 32 mila bytes me ne occupa 20 (mila)!

Sono anche riuscito a far funzionare gli NRF24L01+ e da qualche primo test con la famigerata (e perfetta, anche se un po' grande) libreria di Maniacbug (RF24) ho capito che ho acquistato i moduli giusti: sono velocissimi!

Nel frattempo, mentre cerco di far funzionare il modulo per l'audio, la stampante 3D si dà da fare!

martedì 3 giugno 2014

Ommioddio quanta roba!

Finalmente è arrivato dalla Cina tutto quello che avevo acquistato!
Quanta roba!

E non è neanche costata molto, sui 19 € se non sbaglio
Mh... vediamo un po':

Headers 4*2 10 pezzi e connettori Maschio 10 pezzi 40*1



Schermo OLED 0.96'' monocromatico

10 NRF24L01+

WTV020 - Per riprodurre files audio

Spero presto di riuscire a scrivere le mie impressioni su questi moduli che, per ora, sembrano già fantastici!

venerdì 30 maggio 2014

E' ora di rispolverare il codice!

Funziona!
Mi ricordo che quando lo portai a scuola i miei compagni mi chiesero se era una bomba... io gli risposi (ovviamente) di no, ma che quella l'avrei portata la settimana successiva.
Anche se poi non l'ho fatto... ma la tentazione era forte
NOTA: il codice è stato aggiornato. Se vuoi vedere la versione a cui si riferisce questo post vai quì

Iniziamo ad osservare il codice.
All'inizio, come è solito fare includo le librerie che uso; in questo caso solo la liquid crystal è necessaria.
L'LCD si trova collegato sui pin 7, 8, 9, 10, 11, 12.
Con delle variabili indichiamo i pin dei sensori analogici, con mis indico un numero di cicli dopo il quale aggiorniamo i valori delle letture (così da non aggiornare troppo spesso l'LCD che altrimenti diventa illeggibile)
vrif è una variabile che utilizziamo per indicare il voltaggio di riferimento (1.1 V è perfetto perchè molto preciso). Più avanti vedremo dove è stato impostato il valore esterno.
Se vi chiedete a cosa serve un array di byte, vi consiglio di andarvi a vedere la libreria Liquid Crystal; è molto utile per creare caratteri che non esistono. Un tool online per disegnare questi caratteri su schermi con "quadretti" da 5*7 pixel o 5*8 è su questo sito. Mi è stata molto utile varie volte. (il segno del grado non esiste infatti!)
Vedremo più avanti come stampare un carattere creato da noi sull'LCD.

Passiamo al setup.
Il pin 13, dato che a me dà fastidio tenerlo sempre acceso, lo spengo fin dall'inizio del setup.
Ecco: analogReference(INTERNAL); serve per impostare il tipo di riferimento per il voltaggio analogico interno. Vi sono vari valori che possiamo impostare:
  • DEFAULT: viene impostato il valore di base: 5V per le schede arduino a 5V e 3.3 per quelle a 3.3V
  • INTERNAL: è una riferimento interna, equivalente a 1.1V sull' ATmega168 o ATmega328 (Arduino UNO e MICRO) and 2.56V sull' ATmega8. Non si può utilizzare questo parametro su un arduino MEGA (ATmega2560 o 1280)
  • INTERNAL1V1: riferimento a 1.1V SOLO per il MEGA
  • INTERNAL2V56: riferimento a 2.56V SOLO per il MEGA
  • EXTERNAL: il voltaggio applicato al pin AREF ( solo da 0 a 5V ) è utilizzato come riferimento. 
 Bisogna fare attenzione, come è scritto sulla pagina della funzione, dato che:
  1. Dopo aver cambiato il riferimento i primi valori restituiti da analogRead() potrebbero essere "sporchi"
  2. Se colleghiamo il pin AREF a un voltaggio di riferimento e poi non impostiamo l'analog reference ( prima di utilizzare analogRead() ) o passiamo per il pin un voltaggio superiore a 5 volt o inferiore a 0 volt, manderemo in corto l'AREF e il riferimento interno attivo, danneggiando irreparabilmente il vostro processore.
Inoltre dobbiamo fare attenzione che, dato che all'interno il pin AREF è collegato al processore attraverso una resistenza da 32K, il voltaggio che verrà utilizzato come riferimento sarà leggermente più basso. Ecco un calcolo di esempio:
Se applichiamo 2.5V all'AREF, 2.5 * 32 / (32 + 5) = ~2.2V che il processore riceverà.

Continuando
A questo punto finiamo la funzione setup stampando alcune cose a schermo in seriale (dopo aver utilizzato Serial.begin(baudrate) ) e sull'LCD (indicando la dimensione, prima delle colonne, 20, e poi delle righe, 4).

Il void loop()

Innanzitutto incrementiamo il contatore delle misurazioni ( mis++ ) e poi aggiungiamo alle attuali letture salvate nelle variabili media1 e media2 i valori conversi in gradi Celsius attraverso l'utilissima funzione readTemp() che accetta come parametro il valore del pin analogico che si vuole analizzare.

Analizziamo quindi la funzione: 
il calcolo è semplice: moltiplichiamo 100 per il valore di riferimento e per una lettura analogica del sensore. Il tutto poi è diviso per 1024, il valore massimo + 1 leggibile da un processore dell'UNO (il DUE può dare il doppio della precisione, 2048 - 1 valori. -1 per includere lo 0)

Se abbiamo effettuato 5 letture, dividiamo i valori per 5 per effettuare la media; dopodichè li stampiamo sull'LCD e in Seriale se  è collegato.

Non dimentichiamo di resettare mis e le medie dei valori.

Tutto quà, non era neanche troppo lungo :)

Spero che vi sia interessato; non sapete quanto tempo mi ci è voluto per ridocumentare tutto x)
Il codice che lascio quà sopra è utilizzabile da chiunque; basta che non sia per opere commerciali, che per definirlo proprio abbiate apportato modifiche grosse allo sketch e che lo condividiate in rete con gli stessi termini.

Alla prossima con un nuovo progetto!

Il termometro "tascabile"


L'estate scorsa avevo in mente un piccolo progetto per una specie di condizionatore, utilizzando una cella di peltier (è una piccola cella che se viene alimentata da una parte diventa bollente e dall'altra freddissima) e un sensore di temperatura della Texas Instruments, molto noto con il nome di LM35.
Il tutto controllato da Arduino (ovviamente)

Quei piccoli sensori, che assomigliano ad un transistor BC337 o B331 di quelli piccoli e neri, sono leggermente costosi e, dato che qua ad Asti c'è un solo negozio che fornisce vari componenti di elettronica (ma non moltissimi) e i prezzi sono leggermente alti, ho tentato di richiedere qualche campione gratuito dalla gentilissima TI che in una settimana dal Nevada ha spedito fin qua 6 LM35...
Vi consiglio di provare a richiedere qualche campione, sono molto gentili e non si fanno molte domande (eccetto se i componenti sono indicati come "ad uso militare"; in quel caso non ve li danno se non avete un'azienda), quindi è un ottimo modo per avere qualche integrato o componente gratis...

Iniziamo parlando del sensore

E' piuttosto semplice: ha 3 pin; uno è per l'alimentazione a 5V DC, quello centrale è per l'output analogico che indica la temperatura da circa 5° C fino a 150° (non mi fiderei moltissimo a metterlo in formo però), l'ultimo è da collegare alla terra.
Quindi l'output che può dare è da circa 0V fino a 5.

Ne ho utilizzati due per poter avere una misurazione più accurata, ma non è il momento giusto per parlarne.

 Vicino ho anche aggiunto uno schermo LCD 20 x 4 per poter avere varie informazioni sulle letture.
Da solo l'LCD si mangia 6 pin digitali, senza contare i cavi aggiuntivi per poterlo alimentare e per regolare correttamente il contrasto e la luminosità. Due pin analogici sono stati usati per leggere il voltaggio del pin centrale dei due LM35.
Nel prossimo post vedremo il programma!