Pages: [1] 2   Go Down
Author Topic: Primissimo Progetto - Bottone Arcade USB  (Read 830 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salve a tutti, vorrei (anzi DEVO smiley-lol) 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:
/*

 * 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
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6579
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6579
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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
« Last Edit: November 12, 2012, 06:04:53 am by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10105
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6579
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-lol 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!
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

  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.
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10105
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Edison Member
*
Karma: 24
Posts: 2032
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

  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
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6579
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1722
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

  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
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10105
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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..
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1] 2   Go Up
Jump to: