Go Down

Topic: Primissimo Progetto - Bottone Arcade USB (Read 1 time) previous topic - next topic

salve a tutti, vorrei (anzi DEVO XD) realizzare un bottone arcade (stile quelli delle slot machine nei bar) USB, che simuli la barra spaziatrice, premettendo che sto a zero in elettronica, avevo pensato di realizzare questo:



e quindi di usare teensy, il problema è che deve arrivare dagli usa e non ho tempo di aspettare qualche settimana, poi m'è venuto in mente, perche non usare arduino che "lo abbiamo in casa"? pero sorge il problema che li avevo una foto esatta di cio che dovevo fare, dove e come dovevo collegare i fili e perfino il codice da usare:

Code: [Select]
/*

* Button.pde

*/


void setup() {

  Serial.begin(9600);

  pinMode(10, INPUT_PULLUP);

  delay(4000);
}

void loop() {

  if (digitalRead(10) == HIGH) {

    delay(10);

  } else {

    Keyboard.print(" "); // we print a space

    delay(1000);
  }

  delay(10);
}


ora mi chiedevo, come posso fare lo stesso con arduino? e quale delle versioni potrei usare? me ne serve "semplicemente" una già pronta da programmare a cui collegare quel tasto arcade e con usb per collegarla al pc.. e posso usare quello stesso codice?

grazie a tutti per l'aiuto e la pazienza

PaoloP

E' uscito da pochissimi giorni l'Arduino Micro, che monta lo stesso chip della Leonardo e come questa può essere programmato per simulare Mouse e Tastiera.
--> http://arduino.cc/en/Main/ArduinoBoardMicro
Per conoscere i negozi dove aquistarlo
--> http://arduino.cc/en/Main/Buy

Riguardo al codice forse dovrai modificare qualcosina, per il pulsante nessun problema.

purtroppo è ancora in preview a me servirebbe provare in massimo in paio di giorni, altri consigli? riguardo al codice cosa c'è da modificare?

PaoloP

#3
Nov 12, 2012, 12:00 pm Last Edit: Nov 12, 2012, 12:04 pm by PaoloP Reason: 1
A quel punto prendi la Leonardo.
Riguardo al codice c'è da aggiungere il Keyboard.begin();

Questo è l'esempio preso dal reference (http://arduino.cc/en/Reference/KeyboardBegin)
Code: [Select]
void setup() {
 // make pin 2 an input and turn on the pullup resistor so it goes high unless connected to ground:
 pinMode(2, INPUT_PULLUP);
 Keyboard.begin();
}

void loop() {
 //if the button is pressed
 if(digitalRead(2)==LOW){
   //Send the message
   Keyboard.print("Hello!");
 }
}


Come vedi è molto simile al precedente.
Cambiano solo il pin da connettere il 2 invece del 10, ma lo puoi cambiare tranquillamente, e le temporizzazioni.
Nel tuo sketch c'è una pausa di 1 secondo.

Essendoci la pull-up il collegamento diventa:
Fig. 4 --> http://www.mcmajan.com/mcmajanwpr/?p=769
Con la pull-up interna si semplifica ulteriormente il circuito quindi basta collegare il pulsante a GND e al pin (2 o 10 o quello che vuoi) con la resistenza in serie.
Teoricamente la resistenza può essere omessa (c'è quella interna di pull-up), ma se fai un errore nei cablaggi rischi di bruciare il pin, quindi mettila ugualmente.

PS: Ho trovato anche questa --> http://www.robot-italy.com/it/atmega32u4-breakout-board.html

la temporizzazione non mi serve, basta che a pressione del tasto è come se premessi la barra spaziatrice, al posto dell'hello world posso semplicemente usare " " e mi simula la barra spaziatrice?

lesto

non puoi usare la classe Keyboard con la UNO, semplicemente non ha l'hardware necessario per simulare una tastiera USB.

MA puoi simulare una tastiera PS/2, e visto che esistono adattatori da PS/2 a USB in pratica puoi aggirare il problema in questo modo.

cerca arduino keyboard ps/2 e troverai le librerie e gli esempi che ti servono!
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

PaoloP


non puoi usare la classe Keyboard con la UNO

Chi ha parlato della UNO?  :smiley-roll-sweat:

Lui ha parlato del Teensy, io della Micro e della Leonardo oppure di un'altra boarda ma sempre col 32U4.
A questo punto però gli consiglio la Leonardo perché in futuro potrà montarci sopra gli shield ed espanderla.  :smiley-mr-green:

posso prendere qualsiasi versione tanto mi serve per lavoro, basta che sia usb e abbia la possibilità di fare qeullo che mi serve, cioè emulare la barra spaziatrice... e un'altra cosa, è per forza necessario alimentarla esternamente? non c'è l'alimentazione via usb?

ok ho dato un'occhiata e ordinerò la Leonardo, che se ho capito bene si alimenta anche via usb, poi dovrò soltanto capire bene i collegamenti, in questo (spero) mi aiuterete voi e un'amico che ne sa di elettronica XD vi aggiorno appena arriva! nel frattempo se avete altri consigli o schermi o geni della lampada scrivete pure, mi sarebbe piaciuto avvicinarmi al mondo dell'elettronica un pò piu con calma ma ora è necessario!

astrobeed


  e visto che esistono adattatori da PS/2 a USB in pratica puoi aggirare il problema in questo modo.


Non esiste nessun adattatore da PS/2 a USB, quelli che dici tu sono semplicemente degli adattatori di connettore, è il device, mouse o tastiera che sia, che deve integrare l'hardware PS/2 e USB.
Semmai esistono i convertitori  da PS/2 a USB che ti costano quasi quanto una Leonardo.

lesto



non puoi usare la classe Keyboard con la UNO

Chi ha parlato della UNO?  :smiley-roll-sweat:


Quote
perche non usare arduino che "lo abbiamo in casa"


quindi do per scontato avere una UNO/2010/2009

Quote
non c'è l'alimentazione via usb?

tutte le board aruino sono alimentabili via USB, quindi se hai già un'arduino in casa, un pio di diodi zener a 3.6v hai già tutto quello che ti serve

http://www.practicalarduino.com/projects/virtual-usb-keyboard
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter



  e visto che esistono adattatori da PS/2 a USB in pratica puoi aggirare il problema in questo modo.


Non esiste nessun adattatore da PS/2 a USB, quelli che dici tu sono semplicemente degli adattatori di connettore, è il device, mouse o tastiera che sia, che deve integrare l'hardware PS/2 e USB.
Semmai esistono i convertitori  da PS/2 a USB che ti costano quasi quanto una Leonardo.

ma io ho usato tastiere vecchie di 20 anni con un adattatore da 5 euro e funzionavano  :smiley-eek:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

PaoloP


Quote
perche non usare arduino che "lo abbiamo in casa"

quindi do per scontato avere una UNO/2010/2009


Io l'ho interpretato come: perché devo comprare un prodotto americano che per arrivare ci mette 40 giorni e non un prodotto italiano, fatto in italia da italiani, che, se lo ordino, ci mette meno di una settimana per averlo?

cece99




  e visto che esistono adattatori da PS/2 a USB in pratica puoi aggirare il problema in questo modo.


Non esiste nessun adattatore da PS/2 a USB, quelli che dici tu sono semplicemente degli adattatori di connettore, è il device, mouse o tastiera che sia, che deve integrare l'hardware PS/2 e USB.
Semmai esistono i convertitori  da PS/2 a USB che ti costano quasi quanto una Leonardo.

ma io ho usato tastiere vecchie di 20 anni con un adattatore da 5 euro e funzionavano  :smiley-eek:


IO avevo letto che dovevano integrare la logica dell' usb per funzionare con gli adattatori delle bancarelle
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

lesto

dal link che ho postato PARE che bastino un paio di diodi per limitare la tensione in arrivo alla tastira, dopodichè il protocollo USB pare possedere un "retro-driver" che riconosce i comandi PS/2 e li interpreta in modo corretto..
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up