Zobrazují se příspěvky se štítkemsériová linka. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemsériová linka. Zobrazit všechny příspěvky

neděle 26. března 2017

Jednoduché zobrazení přijatých dat po sériové lince Arduina

Při testování komunikace po sériové lince se může někdy hodit si přijatá data zobrazit.
Napíšeme si malý program, který nám zobrazí přijatá data na osmi led diodách. Z  digitálních pinů 2 až 9, připojíme osm LED diod přes rezistory na zem (Gnd). Takže svítit budou při Log_1 (HIGH). Přijatá data se maskují jednotlivými bity a pokud je výsledek pravda tak rozsvítí příslušnou diodu.


#define LedPin1 2 
#define LedPin2 3
#define LedPin3 4 
#define LedPin4 5
#define LedPin5 6 
#define LedPin6 7
#define LedPin7 8 
#define LedPin8 9

void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

  pinMode(LedPin1, OUTPUT);
  pinMode(LedPin2, OUTPUT);
  pinMode(LedPin3, OUTPUT);
  pinMode(LedPin4, OUTPUT);
  pinMode(LedPin5, OUTPUT);
  pinMode(LedPin6, OUTPUT);
  pinMode(LedPin7, OUTPUT);
  pinMode(LedPin8, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available() > 0)
  {
    byte ch = Serial.read();

    digitalWrite(LedPin1, LOW);
    digitalWrite(LedPin2, LOW);
    digitalWrite(LedPin3, LOW);
    digitalWrite(LedPin4, LOW);
    digitalWrite(LedPin5, LOW);
    digitalWrite(LedPin6, LOW);
    digitalWrite(LedPin7, LOW);
    digitalWrite(LedPin8, LOW);
    
    if (ch & B00000001) digitalWrite(LedPin1,HIGH);
    if (ch & B00000010) digitalWrite(LedPin2,HIGH);
    if (ch & B00000100) digitalWrite(LedPin3,HIGH);
    if (ch & B00001000) digitalWrite(LedPin4,HIGH);
    if (ch & B00010000) digitalWrite(LedPin5,HIGH);
    if (ch & B00100000) digitalWrite(LedPin6,HIGH);
    if (ch & B01000000) digitalWrite(LedPin7,HIGH);
    if (ch & B10000000) digitalWrite(LedPin8,HIGH);
      
  }
}

čtvrtek 13. června 2013

Co je to NetDuino Plus vlastně zač?

S čím si vlastně si budeme hrát? Na začátek je potřeba trošku popsat co nám vlastně leží na stole. Netduino  Plus je vybaveno 32-bitovým  ARM7 procesorem od firmy Atmel o výkonu 48MHz. Pro uložení zdrojového kódu je k dispozici 64KB a pro data 42KB. Pokud nepotřebujete komunikovat po síti, tak čísla vzrostou na 128KB pro kód a 60KB pro data.
Můj první počítač byl 486SX o výkonu 25MHz. Myslím, že měl 4MB operační paměti a 250MB HDD. První co jsem na něm naprogramoval myslím byla ještě v Q-Basicu, pomocí příkazu Play, písnička "Skákal pes".

NetDuino Plus

Napájení: 7,5-12V
Kmitočet: 48MHz

Konektory, piny a ostatní věcičky na desce
1x Konektor napájení
1x Micro USB
1x RJ-45
5x LED
14x Digitální vstup/výstupní piny
6x Analogové vstup výstupní piny
4x PWM (Pluzně šířková modulace) jsou započítány do digitálních
2x Sériová linka - podobně jako PWM nám překrývá digitální piny
1x Micro SD
1x Tlačítko Reset

Rozšiřitelnost pomocí Shieldů
Pomocí tzv. shieldů se dá NetDuino rozšířit o další periferie mezi které patří např. Robot Shield, shield pro ovládání servomotorů atd. NetDuino je svým rozmístěním pinů kompatibilní s Arduinem. Proto je možné používat stejné shieldy.
Rozdíl meti NetDuinem a Arduinem je hlavně v tom že NetDuino má již v základu na sobě konektor pro připojení do počítačové sítě. K Arduinu by jste si museli dokoupit NetworkShield.