Strana 2 z 6

Re: arduino projekty

Napísané: 13 Máj 2017, 12:08
od používateľa Gavin Milarrr
Raspberry je ARM mikropočítač. Pokud chceš, bude fungovat jako trochu pomalejší PC c Linuxem (zjednodušeně řečeno). Pokud chceš, bude z něj normální průmyslová řídící jednotka.

Co se týče programování, dá se říct, že cokoli umí komunikovat s GPIO lze použít. Já například pro připojovaná zařízení píšu moduly do jádra, není to nic složitého. Jediné úskalí je v obtížnosti synchronního zpracování dat -- jedna akce trvá pokaždé jinou dobu. Ale hlavně, máš zařízení, na které nainstaluješ normální operační systém, se kterým můžeš komunikovat třeba přes SSH nebo si k němu připojit normální monitor a klávesnici, a zároveň máš cca 22 jednobitových portů libovolně nastavitelných. Arduino je spíš jednočipák bez terminálu.

Re: arduino projekty

Napísané: 13 Máj 2017, 12:53
od používateľa martin knocik
gavinn, nevieš povedať aka je momentálne situacia ohladom prevádzky nejakého RTOS na Rasberry ? Čo som čítal na webe tak udajne existuje nejaký základný port FreeRTOS.

Pod RTOS si minimálne predstavujem systém kde sú ulohy zoradene podla priority (aspon 2 - 3 úrovne) a v prípdade nedostatku výkonu spúšťané podla priority. Úlohy sú vykonávané v nejakom definovatelnom časovom limite.

tažko stavať riadiacu jednotku s obyčajným linuxom ked ssh alebo iný systémový/hardvérový proces zaťaží ARM procák a pridá napríklad 10ms oneskorenie nejakej úlohy riadiacej jednotky.

Re: arduino projekty

Napísané: 13 Máj 2017, 16:57
od používateľa lucky62
E001 napísal:Tak trocha zneužijem túto tému. Už dva dni vlastním ten malý zázrak, zvaný Arduino ... Plánujem ho využiť na Up - Down počítadlo impulzov s ôsmimi sedemsegmentovkami cez MAX 7219. Tak som na začiatok chcel vyskúšať jednoduchý demo program, ktorý by na displeji vypísal arduino. No nevypísal...
Aby sme mohli trochu pomôcť, môžeš sem dať schému a program? Aké máš arduino? UNO, Nano, Mega?

Re: arduino projekty

Napísané: 13 Máj 2017, 19:34
od používateľa E001
Tak od číňana som kúpil DCcELe DDcdruimo uno , displej 8x7segmentovky s MAX7219.
Program používam Arduino 1.8.2. Vyskúšať som chcel na začiatok toto:


// Program: Display 7 segments - 8 digit MAX7219
// Load the LedControl library
#include "LedControl.h"

// Definitions pins and number of modules in the circuit
LedControl lc = LedControl ( 7 , 6 , 5 , 1 );

void setup ()
{
// Initialize the module
lc.shutdown ( 0 , false);
// display brightness adjustment
lc.setIntensity ( 0 , 3 );
// Delete the display
lc.clearDisplay ( 0 );
}

void loop ()
{
// Send Arduino for display
writeArduinoOn7Segment ();
// Countdown
countdown();

// Init counter 0 1 million
for ( long i = 0 ; i < 1000000 ; i ++)
{
printNumber (i);
}
delay ( 500 );
}
void printNumber ( long v)
{
// Variable value digit
int digito1;
int digito2;
int digito3;
int digito4;
int digito5;
int digito6;
int digito7;
int digito8;

// Calculate the value of each digit
digito1 v =% 10 ;
digito2 = (V / 10 )% 10 ;
digito3 = (V / 100 )% 10 ;
digito4 = (V / 1000 )% 10 ;
digito5 = (V / 10000 )% 10 ;
digito6 = (v / 100000 )% 10 ;
digito7 = (v / 1000000 )% 10 ;
digito8 = (v / 10000000 )% 10 ;

// Display the value of each digit in the display
lc.setDigit ( 0 , 7 , (byte) digito8, false);
lc.setDigit ( 0 , 6 , (byte) digito7, false);
lc.setDigit ( 0 , 5 , (byte) digito6, false);
lc.setDigit ( 0 , 4 , (byte) digito5, false);
lc.setDigit ( 0 , 3 , (byte) digito4, false);
lc.setDigit ( 0 , 2 , (byte) digito3, false);
lc.setDigit ( 0 , 1 , (byte) digito2, false);
lc.setDigit ( 0 , 0 , (byte) digito1, false);
delay ( 00 );
}

void writeArduinoOn7Segment ()
{
// Arduino on the display
for ( int i = 0 ; i < 21 ; i ++)
{
lc.setChar ( 0 , i, 'a' , false);
lc.setRow ( 0 , i 1 , 0x05 );
lc.setChar ( 0 , i- 2 , 'd' , false);
lc.setRow ( 0 , i- 3 , 0x1c );
lc.setRow ( 0 , i- 4 , B00010000);
lc.setRow ( 0 , i 5 , 0x15 );
lc.setRow ( 0 , i- 6 , 0x1D );
lc.setChar ( 0 , i- 7 , '' , false);
lc.setChar ( 0 , i- 8 , 'and' , false);
lc.setChar ( 0 , i- 9 , '' , false);
lc.setRow ( 0 , i- 10 , B1001110);
lc.setRow ( 0 , i- 11 , B0010000);
lc.setChar ( 0 , i- 12 , 'a' , false);
lc.setChar ( 0 , i- 13 , '' , false);
delay ( 300 );
}

Re: arduino projekty

Napísané: 13 Máj 2017, 19:52
od používateľa misocko
a co to robi / nrobi
kompilacia a napalenie programu OK?

Re: arduino projekty

Napísané: 13 Máj 2017, 20:03
od používateľa E001
Pri verifikácii napíše Exit status 1. Nastala chyba pri kompilácii pre dosku Arduino/Genuino uno.

Re: arduino projekty

Napísané: 13 Máj 2017, 20:17
od používateľa misocko
nemas kniznicu "LedControl.h" v PC

-- Spojený príspevok 13 Máj 2017, 20:02 --

ten kod co si dal nefunguje, aj po natiahnuti kniznice ma v sebe vela chyb
vobec nepozna funckciu Countodwn, v kode sa nachadza velke "V" na mieste kde ma byt male, niekde chyba zatvorka, a dva minusy v "i - 1" a "i - 5"
odporucam pohladat nieco funkcne

Re: arduino projekty

Napísané: 13 Máj 2017, 21:09
od používateľa E001
Ďakujem.

Re: arduino projekty

Napísané: 13 Máj 2017, 21:24
od používateľa lucky62
Inak Arduino IDE by malo zobraziť okrem tejto všeobecnej hlášky aj nejakú konkrétnejšiu a riadok, na ktorom je chyba, by mal byť farebne zvýraznený. Viď príklad...

Ja mám Arduino IDE nastavenú tmavú tému, ale je to vidieť - chybný riadok je tmavočervený.

EDIT: Konkrétne pre chýbajúcu knižnicu to napíše niečo takéto:
/SHARED/SSD_DATA/00_MyProjects/ArduinoProjects/empty/empty.ino:1:22: fatal error: hovadina.h: No such file or directory
#include <hovadina.h>
^
compilation terminated.
exit status 1

Re: arduino projekty

Napísané: 13 Máj 2017, 22:51
od používateľa E001
:applause: Tak som ho rozchodil :applause: Knižnicu na Max som nainštaloval, našiel som aj iný demo program, ktorý je chodivý.
Sa teším, ako keď vnuk spravil prvý krôčik.

Re: arduino projekty

Napísané: 13 Máj 2017, 23:27
od používateľa zen
Gavin Milarrr napísal:Nechci vám brát elán, ale Arduino mě přijde spíš jako marketingový projekt než seriozní platforma. Doporučuji Raspberry Pi.
Ja mam oboje.

Arduino bohate postaci na meranie teploty, kupis za babku v Cine, strcis do USB a bezi.

RPI pozivam s kamerou (doporucujem, za tu cenu som velmi spokojny s kvalitou). Uz mi znicil 3 SD cards ked vypadla elektrina, konfigurace mi vezme cele odpoledne.

Pripomina mi to: co je lepsie, kladivo alebo sroubovak?

Re: arduino projekty

Napísané: 03 Nov 2017, 17:15
od používateľa sf777
Nasiel som simulator arduina ak by niekto chcel na vyskusanie. TU.

Re: arduino projekty

Napísané: 03 Nov 2017, 19:03
od používateľa alidedko
Iniciativa zatial fajn.

Uz si nieco kupil?

Re: arduino projekty

Napísané: 03 Nov 2017, 19:19
od používateľa sf777
Iniciative sa medze nekladu. :mrgreen:
Este bohuzial nie. Na bazosi uz to stiahli a inde su dost slahnute ceny za kit. Ak mas typa posli.

Re: arduino projekty

Napísané: 03 Nov 2017, 20:19
od používateľa sf777
Tak som si na tom simulatore urobil hada z 8 lediek, ale zacal som s blikacom o jednej ledke :)
tu je program. Urcite sa to daj nejako zjednodusit ale na zciatok celkom ok si myslim.

Kód: Vybrať všetko

void setup() {
	pinMode(01, OUTPUT);	//nastav pin 01 ako vystup
	pinMode(02, OUTPUT); 
	pinMode(03, OUTPUT);
	pinMode(04, OUTPUT);
	pinMode(05, OUTPUT);
	pinMode(06, OUTPUT);
	pinMode(07, OUTPUT);
	pinMode(13, OUTPUT);
	
}

void loop() {
	digitalWrite(01, HIGH);	//na pin 01 pust prud
	delay(50);			//pockaj 50 ms 
	digitalWrite(01,LOW);	//na pin 01 vypni prud
	delay(50);			//pockaj 50 ms 
	
	digitalWrite(02, HIGH); 
	delay(50); 
	digitalWrite(02,LOW); 
	delay(50);
	
	digitalWrite(03, HIGH); 
	delay(50); 
	digitalWrite(03,LOW); 
	delay(50);
	
	digitalWrite(04, HIGH); 
	delay(50);
	digitalWrite(04,LOW); 
	delay(50);
	
	digitalWrite(05, HIGH); 
	delay(50); 
	digitalWrite(05,LOW); 
	delay(50);
	
	digitalWrite(06, HIGH); 
	delay(50); 
	digitalWrite(06,LOW); 
	delay(50);
	
	digitalWrite(07, HIGH); 
	delay(50); 
	digitalWrite(07,LOW); 
	delay(50);
	
	digitalWrite(13, HIGH); 
	delay(50); 
	digitalWrite(13, LOW); 
	delay(50);
	
}
V prilohe je subor txt. Je konfiguracia komponentov v simulatore (aspon tak som to pochopil). Prejdi v programe simulatora do Configure / I/O Devices / Load
Daj nacitat a mas to. Program len skopiruj.

Re: arduino projekty

Napísané: 03 Nov 2017, 20:43
od používateľa maskrtnik01
Pre začiatok, ten loop by sa dal podstatne skrátiť použitím cykla for. Indexy pinov, kde sú LEDky by som si nasypal do poľa.

Re: arduino projekty

Napísané: 03 Nov 2017, 21:25
od používateľa sf777
Takze som to trocha upravil. Najprv to musim pochopit polopatisticky a potom budem zjednodusovat. Ale dik za radu.

Kód: Vybrať všetko

byte led[] = {1,2,3,4,5,6,7,13}; 	//vystupy s LED diodami
byte pocet = 8; 						//pocet diod
int rychlost = 50; 					//prestavka medzi bliknutiami

void setup() {
	for(int i = 0; i < pocet; i++){
		pinMode(led[i], OUTPUT); 		//nastavenie pinu
	}
}

void loop() {
	for(int i = 0; i < pocet; i++){
		digitalWrite(led[i], HIGH);
		delay(rychlost/1);
		digitalWrite(led[i], LOW);
		delay(rychlost/1);
	}
}
Vedeli by ste mi povedat ako by sa to riesilo keby som chcel zapojit hada trebars z 15 alebo 20 led?
thx

Re: arduino projekty

Napísané: 04 Nov 2017, 06:25
od používateľa roboulbricht
Pokiaľ ti stačia piny na Arduine, tak zapájaš podľa tvojho príkladu. 15 sa ti ešte dá použiť, lebo môžeš použiť aj piny na Arduine, ktoré sú označená ako A0-A5. Vyskúšaj, či mu to bude fungovať aj v simulátore.

20 už takto nezapojíš, lebo na Arduino Uno (ATmega328P) máš len 13+6 pinov. Tam musíš použiť napríklad posuvný register.

https://www.arduinoslovakia.eu/page/74h ... y-register

Re: arduino projekty

Napísané: 04 Nov 2017, 11:13
od používateľa peterple
Aby si mal nad čím rozmýšľať. Viem že arduinisti hw nemusia a tak končia pri knižničných funkciách, ale..

Kód: Vybrať všetko

#include <avr/io.h>
#define RYCHLOST 50

void setup() {
   DDRD = 0xFF;  //cely port D nastav na vystup
}

void loop() {
   for(char i =8, out=1; i; i--, out<=1){ //8 krat rotuj out dolava
      PORTD = out; //zmen stav led na porte D podla out
      delay(RYCHLOST);
   }
}
alebo

Kód: Vybrať všetko

#include <avr/io.h>
#define RYCHLOST 50
void setup() {
   DDRD = 0xFF;
}

char out=0x80;
void loop() {
      if (!out){ //ak out==0 nastav vychodziu hodnotu
        out=0x80;
      }
      PORTD = out;
      delay(RYCHLOST);
      out>=1; //rotuj doprava
}

Čo sa týka pripojenia LED, tak sa síce zdá že na 20 LED to s arduinom uno už nepôjde, ale potom tu máme zase "hardveristov" a tak spravia 90 LED s desiatimi pinmi
https://en.wikipedia.org/wiki/Charlieplexing

Re: arduino projekty

Napísané: 04 Nov 2017, 11:22
od používateľa sf777
Vyskúšaj, či mu to bude fungovať aj v simulátore.
Ano funguje. Jedno co mi nefunguje je pin "00" . Mam na nom vystup hned po zapnuti arduina. On sice spina ked ho zadefinujem, ale v pohotovostnom rezime arduina ma tam vystup cize "1" (led svieti)

Ten posuvny register je celkom fajn. Jednoduche take polopatisticke asi tomu aj principialne rozumiem.