Gå til innhold

hvordan lage et lite program som kan slå av\på led lyd med usb kontroller?


Anbefalte innlegg

Videoannonse
Annonse

USB-wiring.png

https://www.ultimarc.com/nanoled.html

 

http://electronics-diy.com/electronic_schematic.php?id=1013

 

Men ser ut som de setter kun farge, finner lite som dimmer og slår av\på.

 

Nå finnes det slike micro kontroller til LED, men usikker på man må ha kildekoden til modulen i så fall.

Eller må gjøre dette på en annen måte? Noen forslag?

 

Gjerne noe som støtter OSX\Linux og windows mest mulig plug and play.

 

Så selv med assembly får man ikke slått av usb kontrolleren?

Da man kan deaktivere usb kontroller i windows, men tror lyset fremdeles lyser.

Så er kun korsluttning som slår av usb?

Endret av LMH1
Lenke til kommentar

Såvidt jeg vet er det kun en reseattble fuse på power i USB så kortslutning blir håndtert av hardware. Dobbeltsjekk gjerne med spec, tviler uansett på at det blir særlig plug and play. LEDs i HID er også kun definert som ON/OFF så med mindre du vil floode USB med f.eks caps lock on/off meldinger så tror jeg du er tilbake til hva jeg foreslo.

 

FTDI har USB til seriell drivere for alle plattformene du spør etter. Du kan bruke python til å sende en melding til en arduino som igjen bruker PWM (pulse width modulation) til å blinke LED så fort at du ikke ser det, med varierende lengder av og på. Slik kan man fade en (eller flere) LEDs.

EDIT: SER UT SOM PART FOR USB ER FEIL I FRITZING, GND OG 5V SKAL SELVSAGT TIL RETT PIN TIL USB CONNECTOR 

UaFFoYw.png

 

Så kan du skrive et lite program som tar i mot meldinger over Serial og bruker verdien til å bestemme intensitet på LED (eller det som er koblet til USB ut)

 

F.eks:

const int ledPin = 13; // the pin that the LED is attached to
const int usbPOWER = 3;

void setup() {
  // initialize serial communication:
  Serial.begin(115200);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  pinMode(usbPOWER, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    byte highOrLow = Serial.read();
    if (highOrLow == 'H') {
      digitalWrite(ledPin, HIGH);
      // wait for intensity
      while (Serial.available() < 1); 
      // set 'fade' intensity for USB connected LED
      byte pwmValue = Serial.read();
      analogWrite(usbPOWER, pwmValue);
    }
    else if (highOrLow == 'L') {
      digitalWrite(ledPin, LOW);
      digitalWrite(usbPOWER, LOW);
    }
  }
}

Nå kan du snakke med den fra linux med noe ala

echo -en 'H\x7F' > /dev/ttyUSB0 # 50% led brightness 0x7F == 127 == 256/2
echo -en 'L' > /dev/ttyUSB0     # led off
Endret av Enthroner
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...