Arduino schéma - arduino.sk

Serial zadanie hodnoty

Programovanie arduina
Príspevky: 14
Registrovaný: Štv 10. Jan 2013 0:07:01

Serial zadanie hodnoty

Poslaťod lieky » Pon 21. Jan 2013 2:23:17

Ahojte, môžte mi prosím niekto napísať kód, ktorý mi po zadaní čísla do Serial Monitoru nastaví svietivosť LEDky od 0 do 255?

druhý deň sa s tým hrám a nejde mi to
nerozchodil som ani example Dimmer, čo majú v arduine (po zadaní hodnoty v serial monitore sa mi LEDka nastaví na stále rovnakú hodnotu a zostáva v nej)
arduino leonardo.

díky

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: Serial zadanie hodnoty

Poslaťod tomXX » Pon 21. Jan 2013 11:34:31

lieky píše:Ahojte, môžte mi prosím niekto napísať kód, ktorý mi po zadaní čísla do Serial Monitoru nastaví svietivosť LEDky od 0 do 255?

druhý deň sa s tým hrám a nejde mi to
nerozchodil som ani example Dimmer, čo majú v arduine (po zadaní hodnoty v serial monitore sa mi LEDka nastaví na stále rovnakú hodnotu a zostáva v nej)
arduino leonardo.

díky


Máš LEDku na výstupe ktorý je označený ako PWM (~)?
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 14
Registrovaný: Štv 10. Jan 2013 0:07:01

Re: Serial zadanie hodnoty

Poslaťod lieky » Pon 21. Jan 2013 17:18:07

LEDku mám na Pin 11
skúšal som aj 9 a 13

áno, majú pri sebe znak "~"

aj pri zadaní hodnoty 0 sa Led rozsvieti rovnako

kód
Kód: Vybrať všetko
const int ledPin = 11;      // the pin that the LED is attached to

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

void loop() {
  byte brightness;

  // check if data has been sent from the computer:
  if (Serial.available()) {
    // read the most recent byte (which will be from 0 to 255):
    brightness = Serial.read();
    // set the brightness of the LED:
    analogWrite(ledPin, brightness);
  }
}

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: Serial zadanie hodnoty

Poslaťod tomXX » Uto 22. Jan 2013 15:49:02

Tu je pes zakopaný. Serial.Read iba naplní pole znakov, ak z toho chceš premennú, treba Serial.parseInt.

Kód: Vybrať všetko
brightness = Serial.parseInt();
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 14
Registrovaný: Štv 10. Jan 2013 0:07:01

Re: Serial zadanie hodnoty

Poslaťod lieky » Uto 22. Jan 2013 18:21:44

jej super, funguje to, ďakujem
čo sa asi dialo bolo, že vždy zobral poslednú hodnotu pola?
teda hodnotu pre znak ENTER (áno, pri výpise brightness do Serial okna mi vracalo na konci pola aj hodnotu pre Enter)

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: Serial zadanie hodnoty

Poslaťod tomXX » Uto 22. Jan 2013 20:02:57

lieky píše:jej super, funguje to, ďakujem
čo sa asi dialo bolo, že vždy zobral poslednú hodnotu pola?
teda hodnotu pre znak ENTER (áno, pri výpise brightness do Serial okna mi vracalo na konci pola aj hodnotu pre Enter)


Veď použi príkaz Serial.println(brightness) a uvidíš :) Vypisuje to Char hodnotu znaku - http://arduino.cc/en/Reference/ASCIIchart
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Späť na Software