Pre začiatočníkov: arduino projekty

Sekcia určená pre Arduino nadšencov

Moderátor: Moderátori

martin knocik
Ultimate člen
Ultimate člen
Príspevky: 1639
Dátum registrácie: 23 Jan 2008, 00:00
Bydlisko: Trenčianska Turná
Vek: 33
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa martin knocik » 04 Nov 2017, 13:52

posuvny register je dobre riesenie az do chvile keď sa vplyvom rušenia začne sám od seba posúvať.
0
http://mkbci.com

FEL UNIZA 2015, Ing.

ľudstvo je vírus ktorý napadol Zem

nerobme si ťažkú hlavu z debilov čo nám ani po členky nesiahajú, buďme radi že my dačo dokážeme a smejme sa im akí sú sprostí

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: arduino projekty

Príspevok od používateľa straciam » 04 Nov 2017, 14:53

spin90 napísal:
straciam napísal:napady co postavit z arduina resp. co som z arduinom spravil ja:
merac spotreby elektriny v predlzovacke
Mozes to trocha rozviest ?
kus som prispal :)
skusim to trocha rozviest. napajanie arduina 5V je z nabijacky na staru 3310. toto napetie je aj na Vref. podla kolisania primarneho napetia kolise aj sekundarne a v programe je konstanta, ktora sa pred nahratim programu upravi podla prevodoveho pomeru.
prud meriam cez ACS prudovy senzor na principe hallovho efektu. potom uz len program pocita spotrebu s napetia a prudu.
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 04 Nov 2017, 14:56

"peterple"
Nooo... vidno ze si asi troska inde ako my zacinajuci. Na zaciatok je to na poriadne rozmyslanie. Smad by pomohlo a dost, keby si hodil za jednotlive riadky v programe komenty ale podla moznosti pre zaciatocnikov. dik :)
0
Naposledy upravil/-a sf777 v 10 Nov 2017, 14:46, upravené celkom 1 krát.

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: arduino projekty

Príspevok od používateľa straciam » 04 Nov 2017, 14:57

MiroH napísal:
automaticke riadenie trojcestneho ventila ustredneho kurenia
Mna by zasa zaujimalo toto.
toto som robil na splynovaci kotol, na ktorom bol stvorcestny ventil duomix a podarilo sa mi zohnat "servo" ovladanie k tomuto ventilu.
pripojene su len cidla na snimanie teploty vody za duomixom a spiatocky do kotla. podla pozadovanej situacie zopne rele na chvilu servo, aby kus pohlo duomixom. ak nastane pozadovana zmena teploty, caka na pokles alebo stupnutie teploty a podla toho zas otvori alebo zavre duomix. tazko sa to takto vysvetluje, ale snad sa to da pochopit. :)
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa peterple » 04 Nov 2017, 19:37

Čo tam treba komentovať? Ak ti nie je niečo jasné tak sa pýtaj. Funguje to vôbec? Písal som to len z hlavy.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

beny66ka
Stály člen
Stály člen
Príspevky: 147
Dátum registrácie: 16 Apr 2016, 22:05
Bydlisko: Ostrava

Re: arduino projekty

Príspevok od používateľa beny66ka » 04 Nov 2017, 19:42

Nebo Arduino MEGA, tam máš MEGA pinů. :applause:
0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 06 Nov 2017, 13:16

alidedko napísal:Uz si nieco kupil?
Ano dnes som objednal a mozno zajtra to bude doma.
peterple napísal:Funguje to vôbec? Písal som to len z hlavy
Nahodil som to do simulatora a nic. Program sa neda spustit.
Hlasi tuto chybu. "PARSE ERROR: 'DDRD': that variable or name has not been previously declared" ( mozno chyba simulatora :mrgreen: )
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa peterple » 06 Nov 2017, 18:40

Pridal som tam niečo čo by malo pomôcť. Inak Arduino prostredie mi to skompilovalo aj bez toho. A ešte som zmenil zápis konštanty tak ako sa to zvykne písať - teda veľkými písmenami.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 06 Nov 2017, 20:09

peterple napísal:Inak Arduino prostredie mi to skompilovalo aj bez toho.
Ano aj mne. Asi to bude tym simulatorom. Uz onedloho to snad vyskusam v realy a prakticky :mrgreen: .
Inak dik za komenty za //
0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 07 Nov 2017, 14:04

Tak a veci su uz doma. Tak nezahalam a skusam a skusam :) .
Tu som nasiel peknu inspiraciu ako stmievat 1led.
Ale mne to nestacilo tak som skusal postupne stmievat 6 led.
tu je vysledok

Kód: Vybrať všetko

int ledka1 = 3; //Vytvoríme nový objekt "ledka1". 3 = číslo pinu.
int ledka2 = 5;
int ledka3 = 6;
int ledka4 = 9;
int ledka5 = 10;
int ledka6 = 11;
int jas = 0; //Vytvoríme novú hodnotu "jas". 0 = hodnota jasu.
int cas = 3; //Vytvoríme novú hodnotu "cas".  = hodnota mili sekund.

void setup()//Základné nastavenia programu,
{
  pinMode(ledka1, OUTPUT); //Nastavíme pin 3 ako výstup.
  pinMode(ledka2, OUTPUT); //Nastavíme pin 5 ako výstup.
  pinMode(ledka3, OUTPUT); //Nastavíme pin 6 ako výstup.
  pinMode(ledka4, OUTPUT); //Nastavíme pin 9 ako výstup.
  pinMode(ledka5, OUTPUT); //Nastavíme pin 10 ako výstup.
  pinMode(ledka6, OUTPUT); //Nastavíme pin 11 ako výstup. 
}
void loop() //Opakovanie programu.
{
  //led1
  //Pre tento štýl kódu použijeme funkciu "for" pre.
  //Kód dole v preklade znamená. 
 
  for(jas = 0; jas < 255; jas ++) //Pre (jas sa = 0; keď je jas menší, než 255; jas stúpa).
  {
    //Aj keď je pin 3 digitálny, aj tak použijeme funkciu
    //analogWrite a nie digitalwrite. Je to preto, pretože
    //chceme zapísať špecifickú hodnotu od 0 po 255.
    analogWrite(ledka1, jas);
    delay(cas); //Pauza medzi jednotlivými fázami rozsvecovania.
  }  
  //Kód dole v preklade znamená. 
  //Pre (jas sa = 255; keď je jas menší vačší 0; jas klesá).
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka1, jas); // Zapišeme hodnotu jas na pin 9.
    delay(cas); //Pauza medzi jednotlivými fázami stmievania.
    digitalWrite(ledka1,LOW);   //na pin 03 vypni prud
  }
  //led2
  for(jas = 0; jas < 255; jas ++)
  {
    analogWrite(ledka2, jas);
    delay(cas);
  }
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka2, jas);
    delay(cas);
    digitalWrite(ledka2,LOW);
  }
  //led3
  for(jas = 0; jas < 255; jas ++)
  {
    analogWrite(ledka3, jas);
    delay(cas);
  }
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka3, jas);
    delay(cas);
    digitalWrite(ledka3,LOW);
  }
  //led4
  for(jas = 0; jas < 255; jas ++)
  {
    analogWrite(ledka4, jas);
    delay(cas);
  }
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka4, jas);
    delay(cas);
    digitalWrite(ledka4,LOW);
  }
  //led5
  for(jas = 0; jas < 255; jas ++)
  {
    analogWrite(ledka5, jas);
    delay(cas);
  }
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka5, jas);
    delay(cas);
    digitalWrite(ledka5,LOW);
  }
  //led6
  for(jas = 0; jas < 255; jas ++)
  {
    analogWrite(ledka6, jas);
    delay(cas);
  }
  for(jas = 255; jas > 0; jas --)
  {
    analogWrite(ledka6, jas);
    delay(cas);
    digitalWrite(ledka6,LOW);
  }
}
Mozno ze to neni dokonake napisaneale mna to celkom potesi :mrgreen:

-- Spojený príspevok 07 Nov 2017, 15:33 --

hmmm.... ako by sa dalo urobit aby mi toto stmievanie opakovalo trebars 5 karat (alebo nejaky cas) a potom program pokracoval dalej.
Chcel by som k tomu doplnit dalsi efekt "blikanie".
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 988
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: arduino projekty

Príspevok od používateľa budvar10 » 07 Nov 2017, 14:40

Dáš to celé do cyklu:

Kód: Vybrať všetko

for(uint8_t i = 0; i < 5; i++) {
/* kod pre stmievanie */
}

// dalsi kod, co treba

0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: arduino projekty

Príspevok od používateľa dan21 » 07 Nov 2017, 14:57

Mozes k tomu pripojit:
uart - ovladanie svietenia cez RS232,
ovladanie jasu pomocou dialkoveho ovladania z telky (VCR....),
ovladanie pomocou rotacneho enkodera,
nacitanie sekvencie blikania (roznych efektov) z SD karty
......

to su len inspiracie :-)
0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 07 Nov 2017, 15:01

Ja skor teraz premyslam kde zadat ten cyklus do akeho riadka za aku operaciu.
0

Používateľov profilový obrázok
pablox
Ultimate člen
Ultimate člen
Príspevky: 1737
Dátum registrácie: 19 Júl 2006, 00:00
Bydlisko: Ruzomberok
Vek: 32
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa pablox » 07 Nov 2017, 15:38

0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 07 Nov 2017, 16:44

:applause: uz mi to ide
Chybu som robil v tom ze:
cyklus
for(pocitadlo = 0; pocitadlo < 3; pocitadlo++)
{
a prave tu ma byt to co chcete opakovat
}

-- Spojený príspevok 07 Nov 2017, 17:46 --
pablox napísal:Prispejem aj ja niečím čo som vyrobil s Arduinom
zaujimave :thumbup:
0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 09 Nov 2017, 10:38

Caute
Chcel by som vyskusat urobyt dalsi led efektt. A to taky. Rozsvietenie jednej led z: 0%-40%, 20%-60%, 30%-80%, 40%-100% (take pulzovanie) Jasne ze to prevediem na 0-255. To len pre nazornost. Vedeli by ste poradit ako by som to urobil?
dik
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa jirka.jirka. » 09 Nov 2017, 12:16

Tak nejjednodušeji bych to udělal tak, že bych si vytvořil funkce:
  • 1. funkce 0%-40%
    2. funkce 20%-60%
    3. funkce 30%-80%
    4. funkce 40%-100%
S tím, že vždy po dokončení (tzn. dosažení dané svítivosti ti vrátí hodnotu hodnotu o jedno větší. Např:
  • 1. funkce vrátí 1
    2. funkce vrátí 2
    3. funkce vrátí 3
    4. funkce vrátí 4
A potom už jen třeba zapneš funkci 1 a počkáš až ti vrátí 1. Jakmile ta dorazí, zapneš druhou fci a čekáš na 2. Jak ta dorazí zapneš fci 3 a opět čekáš no a najednou je to hotové.

EDIT: Toto je to nejjednodušší co mě zrovna napadlo. Cest ke správnému výsledku je habakuk. :thumbup:
0

lacog
Stály člen
Stály člen
Príspevky: 302
Dátum registrácie: 27 Mar 2007, 00:00

Re: arduino projekty

Príspevok od používateľa lacog » 09 Nov 2017, 12:40

Pablox: ten detektor bleskov je zaujímavý. Škoda, že ten modul je pomerne drahý. Ako spoľahlivo to funguje?
0

sf777
Nový člen
Nový člen
Príspevky: 83
Dátum registrácie: 01 Nov 2017, 10:20
Bydlisko: Vranov nad Topľou

Re: arduino projekty

Príspevok od používateľa sf777 » 09 Nov 2017, 16:29

jirka.jirka. napísal:Tak nejjednodušeji bych to udělal tak, že bych si vytvořil funkce: .......
Predppokladam ze budem musiet definovat hodnoty 0 az 255 a nie v percentach, alebo sa to da?
0 je LOW a 255 je HIGH ?
thx za rady
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: arduino projekty

Príspevok od používateľa jirka.jirka. » 09 Nov 2017, 17:10

Všechno jde. Tady je "nějaká" inspirace.

Toto je funkce pro ATmega8 (čisté C), kde si nastavíš frekvenci a procenty střídu.

Kód: Vybrať všetko

void FrequencyDutyPWM(uint16_t frequency, uint8_t percentage)
{
	uint16_t divider = 256; //delicka
	TCCR1B |= (1<<CS12); //nastaveni delicky podle nastaveneho divider
	TCCR1B &= ~(1<<CS11);  //nastaveni delicky podle nastaveneho divider
	TCCR1B &= ~(1<<CS10); //nastaveni delicky podle nastaveneho divider

	uint16_t resolution = F_CPU/((uint32_t)divider * frequency);
	ICR1 = resolution - 1;
	OCR1A = (((uint32_t)percentage * resolution) / 100) - 1;
}
Takže touto funkcí si jsi schopen nastavit frekvenci třeba 50Hz se střídou 80%.

A ber to jako inspiraci ať víš co kam vstupuje. :) Takže u arduina to půjde tím tuplem.

EDIT: Ještě pro jednoduchost a větší názornost.

Kód: Vybrať všetko

Hodnota je v rozsahu 0~255

Kód: Vybrať všetko

procenta = 100-(Hodnota*100.00)/256;
A troškou selského rozumu si vyhodíš ven položku Hodnota. :lol: :biggrin:
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok