Supporto smartphone per fare video

ovvero molto più semplicemente come realizzare un supporto per smartphone da abbinare al treppiede…passando dalla stampa 3D…

TANTI SMARTPHONE

L’offerta dei telefoni cellulari o meglio smartphone è oggi molto varia.

Anche se i formati degli schermi sono standard, meno standard sono le dimensioni. Ovviamente si tratta di pochi millimetri di differenza però’ in qualche caso fa la differenza.

SUPPORTO PER TREPPIEDE

Volendo riutilizzare un vecchio treppiede, da abbinare allo smartphone, mi si è presentato il problema dell’ancoraggio del telefono al cavalletto.

Oramai , telefono e treppiede è quasi lo standard per i neofiti del videomaking.

IN COMMERCIO…

Ovviamente in commercio, specie on-line, si trova di tutto e per tutte le misure. Però tra il tempo pe ordinare, essere sicuri che l’oggetto sia quello giusto e non volerlo per forza nero (uffa, un po’ di fantasia!), bene, dopo tutto, mi conviene disegnarlo e stamparlo.

Bene , detto e fatto. Con la differenza che il progettino, che chiamerò “SmartVideo 3D”, prevede due parti ed è quindi modulare od adattabili a diversi telefoni. E poi è colorato.

CAD CAE E CAM

Per disegnare ho usato Sketchup, passando poi per Netfabb ed infine su Cura (versione CreateBot)

Cliccando qui puoi scaricare i sorgenti.

STAMPA E MONTAGGIO

La stampa è stata fatta con filamento HIPS: simile all’ABS , ma più pratico. Per il montaggio un goccio di silicone oppure colla specifica per plastica.

Ricarica smartphone e hub USB

kit hub USB 3.0 completo

Con la stampa 3D possiamo produrre oggetti unici e quindi uscire dalle tante “plastiche” anonime.

In questo caso ecco come realizzare un semplice hub USB 3.0 o alimentatore per smartphone, personalizzato con il proprio nome, o quello di un amico, oppure di qualche società sportiva…

Il costo totale, compreso il filamento è intorno ai 20CHF, che è certamente poco se confrontato con prodotti simili, ma anonimi, reperibili in commercio. La scheda che utilizzeremo è potente tanto da poter alimentare sino a 4 smartphone con 500mA ciascuno.

MATERIALE

  • scaricare il file
  • hub USB 3.0 + cavo “host”
  • opzionale alimentatore da 2A
  • pistola a caldo

OPERAZIONI

  • modificare il disegno del contenitore tramite Sketchup
  • stampare il contenitore
  • inserire la scheda
  • incollare la scheda al contenitore

PERSONALIZZARE

Per personalizzare il nostro dispositivo basterà stampare una targhetta da incollare successivamente sull’apposita superficie. Sulla targhetta potremo inserire testi, disegni e anche …fotografie!

 

PER SCARICARE

Per stampare il contenitore basterà scaricare l’STL ed elaborarlo con il proprio CAM. Infill consigliato: 20%.

Richiederlo a fablabway@gmail.com

Salva

Salva

Come sviluppare APP facilmente

Da diverso tempo oramai si è aggiunta una nuova “piattaforma” hardware e software: il nostro smartphone.

Oggi vedremo come sviluppare, o meglio iniziare a sviluppare, su questi dispositivi.

Trattandosi di un ambito molto vasto e complesso, questo articolo sarà una introduzione ad una modalità nuova per programmare su Android.

 

SISTEMA OPERATIVO SMARTPHONE

Fatta esclusione al mondo Apple, al giorno d’oggi l’alternativa è, di fatto, una sola: Android.

Android deriva in sostanza da un sistema operativo noto: Linux. Quindi è affidabile by-design.

 

Per essere chiari, magari ancora una volta, ecco l’esempio di come l’OpenSource si trasforma in motore per una iniziativa economica.

 

PUNTO DI PARTENZA

Sin dall’inizio lo sviluppo di software su Android è stato l’SDK: in praticadalvik

  • librerie
  • compilatore
  • macchina virtuale

Per scrivere un programma, anche su Android, bisogna scrivere in pratica un testo:

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private AudioManager mAudioManager;
private boolean mPhoneIsSilent; 
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
checkIfPhoneIsSilent(); 
setButtonClickListener(); 
}
private void setButtonClickListener() {
Button toggleButton = (Button)findViewById(R.id.toggleButton);
toggleButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (mPhoneIsSilent) { . . . .

Il linguaggio utilizzato è Java, che è sì ben collaudato e multipiattaforma, ma che non vanta certo di semplicità e richiede un paziente tirocinio.

Le librerie permettono di aumentare le funzionalità dell’applicazione senza dover riscrivere del codice (riusabilità).

I diversi SDK, o ambienti di sviluppo, sono inoltre dotati di graphic-designer in modo da poter inserire gli oggetti (widget) all’interno delle schermate. Tralascio il corredo di altri file (manifest, etc).

Per chi avesse un po’ di dimestichezza con VisualBasic noterà una certa somiglianza tra i comparti codice, grafica, attributi.

Merita una attenzione speciale la macchina virtuale che permette di eseguire i test e debug su uno smartphone virtuale e quindi non è necessario il dispositivo fisico, con il rischio di mandarlo ripetutamente in crash.

 

SVILUPPO CON LOGIC-BRICK

In precedenza l’uso di ambienti grafici per lo sviluppo del codice era limitato alla definizione degli oggetti grafici (bottoni, text-box, etc.) e poco altro.

Per capirci un costrutto logico, una if  per esempio, doveva essere proprio scritta testualmente:

if (questo==quello) {
   faglifarequalcosa();
}
else {
   chestiafermo();
}

Esiste però una alternativa: lo sviluppo a blocchi logici.

Niente testo quindi, ma il drag&drop (trascinamento) di blocchi simili alle tessere di un puzzle. Quasi un gioco.

 

QUASI GIOCO…

Beh, calma, un gioco non lo è proprio perchè il programmatore deve comunque pensare come prima, sempre utilizzare gli schemi ai quali è abituato: diagramma di flusso, sequence diagram, collaboration diagram, etc.

In aggiunta, lo sviluppatore deve conoscere le librerie degli oggetti che vorrà inserire nella sua app.

Mi spiego, se voglio che la mia app sia in grado di comunicare via bluetooth, devo conoscere che il servizio relativo deve essere presente sullo smartphone in uso e che sia attivato (o magari chiedere di attivarlo). E poi devo sapere che dovrò gestire il pairing, e via dicendo.

Queste cose vanno studiate e non usate in maniera “clikka-clikka“.

In definitiva è necessario conoscere l’architettura del sistema, anche per sommi capi, e poi iniziare con i mattoncini-logici.

 

APP INVENTOR

Cominiciamo dal sito. Si parte da qui.

Lo sviluppo con app-inventor è web-based: non bisogna installare alcun software sul proprio computer, unico punto negativo è che bisogna essere sempre connessi, ma al giorno d’oggi non è più un problema.

Dopo la registrazione di rito avremo a disposizione il piano di lavoro. Dal menu scegliendo “Project/new” potremo creare il primo.

 

Il video è suddiviso in quattro frame (o div in html):

  • palette
  • viewer
  • components
  • properties

INSERIMENTO WIDGET

Da Palette si potrà scegliere un bottone o altro oggetto e poi trascinarlo in Viewer. A questo punto potremo cambiare le caratteristiche dell’oggetto passando al riquadro Properties.

Tra i widget abbiamo: bottoni, liste, text-box, immagini, ecc., in pratica tutto quello che vediamo sullo schermo (e non solo).

IL CODICE “NUOVO”

Come dicevo il codice in app-inventor è diverso, è “molto” grafico. Per passare alla modalità “codice” bisogna cliccare su “Block”:

 

E qui si apre un nuovo mondo!

 

I pannelli sono adesso due:

  • i blocchi logici  e gli oggetti (widget)
  • il “codice-blocchi”

CODIFICARE

Per programmare dovremo selezionare e trascinare le “tessere” nel riquadro viewer.

Chiaramente ci sono delle regole di composizione grafica: per esempio un blocco iterativo (do_while.click) contiene al suo interno le istruzioni relative.

Inoltre quando viene aggiunto uno statement all’interno di un blocco, quest’ultimo si modifica per poterlo contenere. Questa modifica automatica sta ad indicare che il sistema ha “compreso” l’operazione che volevamo svolgere.

 

INSTALLAZIONE

Facciamo un salto alla fine della programmazione. La nostra app è adesso pronta e possiamo installarla.

Dal menu, selezionaniamo Build

 

quindi il web-service compilerà l’applicazione:

 

ed infine avremo il qrcode per il download dell’apk:

 

a questo punto scansionando il QR-code potremo installare la nostra app.

Facile, no?

 

CONSIDERAZIONE

Questo articolo vuole solo essere una semplice presentazione ed introduzione.

Per chi volesse proseguire, vi aspetto alla prossima!

(continua…)