moje mikro vyrobky

Môj výrobok - MINI

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 06 Okt 2019, 12:53

takze to co vcera odislo bol elektrolit Samwha 50V 2200uF 105°C , bez zohriatia, len ostal vodivy
po vymene kondika a dnesnom dalsom trapeni (dostal som sa na max 13k rpm pri 24V 3A celkovo, špičky do jednotlivych faz až 6A) motorceka sa nakoniec odporucala jedna faza - ide do koša
tymto tento projekt na dlho povazujem za uspesny a uzavrety :lol:
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 26 Mar 2020, 10:44

ahojte
v jednej teme sa tu dost rozbehly riesenia riadenia otacok ventilatora od teploty. Pridam svoje, ktore som pouzil na starom notasi , po tom co origo prestalo fungovat - ventilator sa netocil (zrejme od procesora nesiel signal o teplote). Nechcel som nic zlozite , tak ma napadol uz v minulosti pouzity mosfet , 10k potenciometer, 10k NTC termistor (neviem co presne to je, ma to 10k , zvysovanim teploty klesa odpor). Pri 12V napajani nebol problem, tu pri 5V napajani som mal problem s klasickmi mosfetmi kde na otvorenie fetu som potreboval cca 3 - 4V a to bol problem. Pouzil som teda mosfet z menica zo zakladovej dosky PC, na otvorenie mu stacili cca 2V aby sa ventilator tocil a to sa uz v pohode dalo spravit s delicom z potaku a termistora. Na procak som natapkal teplovodivu pastu, do toho filcom zatlacil termistor a isiel testovat. Na prvy test sa to zdalo super (pri studenom notasi som nastavil minimalne otacky, teplotou pekne stupali). Na dalsi den den som vsak zistil ze pri vychladnutom notasi sa ventilator vobec netoci a nasledne ma ventilator problem startnut s postupne rastucim napetim. nepomohol ani kondenzator medzi +5V a G na start ventilatora, ten sice na chvlilu nabehool , potom sa vypol a znova mal problem sa rozbehnut. Tak som pridal asi 4 diody ktorych ubytok zabezpecuje standby napajanie ventilatora bez ohladu na teplotu (ventilator sa aj pri minimalnej teplote otaca). Diody som pokusne vyskladal tak aby sa vetilator nezasavil po tom co ho startne ten kondik medzi +5V a G. Momentalne mi to takto funguje uz par mesiacov a spokojnost.
R1 je ten termistor , ziarovka je ventilator :lol:
Prílohy
teplota ventilator.png
teplota ventilator.png (19.2 KiB) 7055 zobrazení
0

Používateľov profilový obrázok
sraj
Stály člen
Stály člen
Príspevky: 400
Dátum registrácie: 26 Jún 2009, 00:00
Bydlisko: PP
Kontaktovať používateľa:

Re: moje mikro vyrobky

Príspevok od používateľa sraj » 26 Mar 2020, 15:20

:biggrin: pre inšpiráciu , klasika gretz,odpor,led...,
Prílohy
pajka2.jpg
pajka1.jpg
pajka3.jpg
0
https://www.meteopp.eu/ MeteoStanica POPRAD - aktuálne údaje , +meteokamerka(test)
Mini Meteostanica Poprad : http://svetelektro.com/Forum/mini-meteo ... 42443.html
TempLogger : http://svetelektro.com/Forum/templogger-t8407.html

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 15 Jún 2020, 12:11

ahojte
kedze som vcera nasiel v skrini stary HDD a na prve zapojenie s uz spominanym arduinom som dal 16k RPM , tak som si povedal ze to vytiahnem na 20k RPM. To ze sa mi to minule nepodarilo som pripisoval tomu ze arduino uno uz nestiha (kazdy druhy pulz na fazu bol uplne kratucky) a planoval som pouzit DUE. Predtym som si to vsak spocital a zistil ze mam pulz na fazu uz v programe tak dlhy , ze to proste rychlejsie nemoze ist. Tak som len trochu upravil program na UNE a tu mozte vidiet vysledok. Frekvencia kanalu 1 je frekvencia jednej fazy , na otacku sa spina 4 krat , takze frekvencia 1500Hz je 22500 RPM (15000 / 4 * 60). motor pri tych 30V a 3,5A ma dost a vinutie smrdelo hned ale test dal :lol:. Mimochodom , ma niekto predstavu kolko fyzicky vydrzi disk kym sa roztrhne?
keby niekoho zaujimal kod:

Kód: Vybrať všetko

volatile byte x=0;
volatile bool y = false;
long cas=0;
long dlzka_pulzu=50;
int pauza=0;
int ddd=250;

void setup()
{
  pinMode(2, INPUT);
  attachInterrupt(0, zapni, FALLING);
  DDRB = 0b11111111;
  Serial.begin(9600);
  cas=micros();
}

void loop()
{
 if (y==true)
  {
  delayMicroseconds(pauza);
  PORTB = 0b00000000;
  y=false;
  dlzka_pulzu=micros()-cas;
  cas=micros();
  pauza=dlzka_pulzu>>2;
  if (pauza < 500) {ddd=150;}
  if (pauza < 250) {ddd=110;}
  if (pauza >=500) {ddd=250;}
  pauza=pauza+ddd;
  }
}

void zapni()
{
    x<<=1;
    if (x==0 || x>4) x=1;
    PORTB = x;
    y=true;
}
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 23 Aug 2020, 21:35

ahojte
asi som posadnuty vyssimi otackami HDD diskov , mozno tym rachotom (a hlavne mam zopar diskov doma) :lol:
napadlo ma pouzit IGBT tehlu aj s kompletnym driverom z menica z robota z prace. Ten celok ma tu vyhodu ze na vstupe mu staci 5V z Arduina, k tomu asi 15V na napajanie budicov a samozrejme hlavne napajanie (v robotovi to bolo usmernenych 400V) , do motorceka som dal max 47V.
z povodneho konceptu kde som na snimanie polohy disku (motorceka) pouzil optiku a otvor v disku nad kazdym vrcholom fazy (neprakticke koli tomu ze ak vypadol motor zo sinchronizmu uz nasledne nevedel ktoru fazu ma zopnut a zastavil sa - pouzil som iba jeden snimac. Tuto som dal otvori iba nad vrchol jednej fazy (4 otvori na disk), polohy ostatnych faz dopocita arduino z casu prechodov jednotlivych otvorov. na pocudovanie to bezalo vyborne, uz pri 30V napajani som sa dostal na cca 25k / min otacok pri relativne nizkom prude do 1,5A. Nasledne som pridal dalsi menic na napajanie , vysledne napetie 47V , otacky 30k / min, prud cca 2A. Vzhladom na nizky prud a vysoke otacky , asi sa mi podarilo skvele casovanie. Taktiez som mierne prekvapeny ze to este stale UNO stiha (uz som studoval direct port manipulation na DUE :lol: ) , ale to asi az pri vyssich otackach. Video a foto dam ked budem mat mobil :D .
kod:

Kód: Vybrať všetko

volatile bool snimac = false;
unsigned long  cas_startu_f1=0;
unsigned long dlzka_pulzu=50;
unsigned long dlzka_fazy=0;
byte f1_ON=0, f2_ON=0, f3_ON =0; // faza zapnuta
byte f4_ON=0, f5_ON=0; // faza zapnuta


void setup()
{
  pinMode(2, INPUT_PULLUP);
  attachInterrupt(0, zapni, FALLING); //prerusenie na pine 2
  DDRC = 0b11111111;
}

void loop()
{
 if (snimac==true)
  {
    f1_ON=true;
    dlzka_fazy = ( micros() - cas_startu_f1 ) / 6;
    cas_startu_f1=micros();
    snimac=false;
  }
    if (f1_ON && ( micros() > (cas_startu_f1 + dlzka_fazy)))      {PORTC = 0b00100100; f1_ON = false; f2_ON = true;}
    if (f2_ON && ( micros() > (cas_startu_f1 + dlzka_fazy * 2)))  {PORTC = 0b00100001; f2_ON = false; f3_ON = true;}
    if (f3_ON && ( micros() > (cas_startu_f1 + dlzka_fazy * 3)))  {PORTC = 0b00001001; f3_ON = false; f4_ON = true;}
    if (f4_ON && ( micros() > (cas_startu_f1 + dlzka_fazy * 4)))  {PORTC = 0b00011000; f4_ON = false; f5_ON = true;}
    if (f5_ON && ( micros() > (cas_startu_f1 + dlzka_fazy * 5)))  {PORTC = 0b00010010; f5_ON = false;}
}

void zapni()
{
    PORTC = 0b00000110; //zapni fazu jedna
    snimac=true;
}
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 07 Nov 2020, 20:50

sice to nieje elektro , ale dam to sem
vcerajsia cesta do Trnavy , najprv nejaky odbornik neviem ci opyty alebo co, celu cestu bol s mini autickom nalepeny na pravej ciare , obcas az privelmi za ciarov. Na zaver , vjazd do mesta, z benzinky sa vyrutil tuning , a my dvaja (ja a protiiduce vozidlo) sme sa velicentvu museli pekne uhnut...
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 15 Apr 2022, 19:55

ahojte
Po dlhej dobe , asi moj posledný mikroprojekt :( , prestalo ma bavit elektro a veci okolo :crying: (relaxujem bicyklom).
Začalo to tak že sa mi resetoval PC počas hrania hry. Potreboval som teda odsledovať teplotu , plan bol merať teplotu vzduchu z ventilatorov. Samozrejme ma hneď napadlo merať a ukladať data. Objednal som si teda LCD a RTC + SD card shield na arduino. K tomu nejake DS 18B20 (digitalne senzory teploty). Napajanie som poriešil cez nejaký stepdown s pevným 5V výstupom. Napajať to možem čímkoľvek s aspoň cca 6V. Na foto akupack lion z nejakeho notasu, pod akumulatormy (nevidno na foto, je nejaký činsky balancer a protection). Nebudem tu rospisovať celú cestu programovania - ladenia, vychytavania chýb , tak len výsledna funkcia.

1. po zapnutí naskoči obrazovka s dátumom a časom ktoré sú aktuálne uložené v RTC module (zálohovane vlastnou baterkou na shielde). Na tejto obrazovke je možne meniť (nastaviť aktuálny dátum a čas), alebo len proste potvrdiť "OK". Samozrejme som sa vyšantil , a nieje možné nastaviť napr 26 hodin , 13ty mesiac ... :-) .

2. po nastavení , potvrdení dátumu a času zbehne kontrola SD karty a log súboru na nej - tu som veľmi nešantil, buď je všetko OK alebo to len napiše chyba SD a nerobi ďalej nič.

3. ak SD a súbor OK , prebehne načítanie senzorov teploty.

4. ak aj senzory OK, prebehne prvý zápis na posledný riadok súboru. Každý zapis obsahuje: datum, čas, obe teploty a napájacie napetie pred Stepdown meničom. Myslim že napetie menšie ako 6V nezobrazujem , aby to nepisalo blbosti keď je to napajane cez komunikačný Arduino kábel

5. RTC posiela každú sekundu impulz do Arduina ktorým zobrazujem sekundy a kontrolujem teploty na senzoroch. Signal je na vstupe Arduina sledovaný ako "prerušenie", aby som nič nezmeškal.

6. ak je rozdiel teplôt väčší ako nastavený v programe , tak prebehne zápis aktuálnych dat do súboru a podsvietenie displeja preblikne. Pôvodne som chcel v menu na začiatku riešiť aj "triger" zápisu (nastavenie času alebo rozdielu rozdielu teplôt, prípadne kombinácia) , ale vzhľadom na to že ma to už nebavi , som sa na to vykašlal.

Aby celý displej neblikal pri aktualizacii dat , aktualizujem na ňom iba dáta ktoré sa zmenili (sekundy, teplota, minuty...).
Dáta sa ukladaju do .txt , rozdelil som ich tak aby som ich vedel jednoducho natiahnuť do Excelu a pozriet.

To že to vyzerá tak ako to vyzerá , snaď ste si už zvykli ... (proste estetika , nula bodou a tak to už aj ostane, nebudem to na staré kolena meniť)
Prílohy
IMG_20220415_171832.jpg
Nový textový dokument.txt
(8.49 KiB) 62 stiahnutí
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: moje mikro vyrobky

Príspevok od používateľa miso156 » 15 Apr 2022, 20:43

S tym zanietenim pre elektro je to tak, ze v dnesnej dobe ked si mozes kupit "hotove" doslova cokovelvek musis hladat velmi silny dovod preco sa do niecoho pustit.

U mna su to dovody:


Zariadenie co potrebujem nie je mozne zohnat.
Zariadenie je mozne zohnat, ale parametre mi nevyhovuju.
Nemam financie na kupu "hotoveho".
Rozsirit obzory a zvysit tak svoju cenu na trhu prace.
Youtube kanal, mozno z toho nieco kapne.
Spravis zariadenie, mozno aj z poslednych sil, povies si ze by mohlo byt zaujimave pre trh, skusis predat.
Pri pokusoch ani nevies co objavis, das patentovat, predas.
Vo volnom case ked nie je co, je stale lepsie drotikovat nez riesit sudoku alebo tajnicky.


Existuje vela veci ktore mozu cloveku pomoct/urobit radost len ich treba objavit.
Jednym casom som prezeral hackaday lebo reddit pre inspiraciu, ale za posledne dva roky som tam tiez nenasiel jedinu vec co by ma zaujala.
Druha vec je, ze v dnesnej dobe vykonnych procesorov je nejake bastlenie elektro uz dost trapne. Predsa nebudem robit vlastnu vedecku kalkulacku, ked je k dispozicii Matlab.

Ja som ten typ cloveka, ktory nie je s nicim spokojny co vyrobi niekto druhy, preto mam stale co robit... haha
1
Obrázok 1
"No pain, no gain." (KC238)

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 15 Apr 2022, 21:25

- Tak u mňa je to celé len o relaxe. Proste niečim si vyčistiť hlavu. Ideálne sa niečo naučiť - keď sa niekde riešilo niečo na čo nikto nevedel odpovedať a bolo to jednoduche , tak som to proste spravil , pomeral, napisal výsledok...
- finannčne mám na kúpu nového zariadenia (zatiaľ) :D
- rozsirujem obzory , ale pracujem v úplne inej oblasti. Proste doma to musí byť relax. Chvilu som sa hral s makrami pre excel , aj na jednom fore. Tam si ma našla jedna "pani" (neviem kto, bol to iba mailovy kontakt), pre ňu som spravil par makier, chcela mi to zaplatit, zamestnať ma - bol som proti, mal som to ako relax, za paniaze by to už bola práca
- na youtube môžem davať ako prekračujem max povolenu rýchlost, to je zábavnejšie :-) (len s mojou estetickou stránkou čohokoľvek, sa neuživim videami aj keď v poslednej dobe striham vo veľkom :-) )
- na strednej (myslim ze som maturoval v 1994), som si do jedneho zosita pisal moje naj napady. Pamätam:
1. variabilna dlžka sacieho potrubia pre lepšie plnenie spaľovacieho priestoru spaľovacich motorov pri roznych otáčkach (dynamicke vlastnosti vzduchu, rezonancia v potrubi, hmotnosť vzduchu)- pouzivaly to potom myslim aj formuly. Samozrejme že to nemali odo mňa ale vymyslel to team technikov. Do normalnych aut sa to velmi nedostalo - začali turba, potom už to nema zmysel riešiť.
2. vstrekovanie vody do valcov na schladenie zmesi (večši objem zmesi vo valci) - používali chviľu formuly, keď im zakázali turba.
3. vymyslel som CR - nevedel som ze ho uz niekto vynasiel, k internetu som sa dostal asi o 10 rokov neskor
4. turbo pohanane elektrikou - vtedy nepredstavitelne otačky, dnes realita :-)
5. Greatzov mostik som vyrobil z diod asi v skolke - prehaňam :D

na relax mi zatial ostáva teda bicykel :-)
- ja som ten typ človeka, čo nedokáže vyrobiť nič pékné na pohľad, preto ma to demotivuje a nerobim to (moja predstava je proste dokonala a výsledok je bieda :crying: )

Taktiež sme vtedy so spolužiakom snívali o digitálnom prenose obrazu do TV - vtedy to bolo tiez nepredstavitelne pri rychlostiach prenosov a rychlostiach procesorov na kodovanie / dekodovanie (a mame to tu)
0

dudoo
Pokročilý člen
Pokročilý člen
Príspevky: 522
Dátum registrácie: 31 Júl 2014, 05:27
Bydlisko: Kusok od Cahnova, Brno
Vek: 42

Re: moje mikro vyrobky

Príspevok od používateľa dudoo » 17 Apr 2022, 12:03

miso156 napísal:
15 Apr 2022, 20:43

Rozsirit obzory a zvysit tak svoju cenu na trhu prace.
Bacha na tieto odvážne slová.
Raz som tu chcel trochu povzbudiť a motivovať k tomu aby sa zamysleli nad tým, či kúpiť lacný hotový šrot, ktorý nie úplne bude fungovať podľa predstáv a po tisíckach urazených kilometrov skončí v koši.
No proste diskusia smerovala do toho, že vlastne ja som debil, lebo v číne to vyrobia a dovezú za lacnejšie než je samotná cena súčiastok tu v európe a diskutéri si nenechajú ohroziť svoj biznis tým že by si niečo dokázali navrhnúť a vyrobiť.

Tvoj pohľad na vec si vážim. Lebo sa chceš zlepšovať po tej technickej stránke.
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 13 Feb 2023, 21:56

Ahojte. Chcel som si spraviť zapinanie dashcam cez napätie v sieti auta. Keďže dnešné auta dobijajú podľa nálady a "EKO", chcel som nalogovať zopár priebehov aby som vedel kam sa uberať. Zistil som však že doma mám na záznam na SD kartu iba modul displeja , použil som ten a k tomu teda aj nejake menu...
video

Kód: Vybrať všetko

#include <UTFT.h>
#include <URTouch.h>
#include <SPI.h>
#include <SD.h>

UTFT    myGLCD(CTE32_R2,38,39,40,41);
URTouch  myTouch( 6, 5, 4, 3, 2);

const int chipSelect = 53;
extern uint8_t BigFont[];
File subor;
String startt = "START";
String stopp = "STOP"; 
int x=0, hodnota;
float napetie=0;
int x_dotyk, y_dotyk;
bool cyklus=0;
bool subor_otvoreny=0;
int f1 = VGA_BLUE, f15 = VGA_BLUE, f50 = VGA_BLUE, f100 = VGA_BLUE, f200 = VGA_BLUE, f500 = VGA_BLUE, f1000 = VGA_BLUE, f01 = VGA_BLUE, f02 = VGA_BLUE, f03 = VGA_BLUE, fzmaz = VGA_RED;
int cas, volt;
int volba=2;
int pauza =0;
unsigned long currentMillis = 0;
unsigned long previousMillis = 0;
int stara = 0;

void cakaj(int pauza)
{
  currentMillis = millis();
  if (currentMillis - previousMillis >= pauza)
    {
      previousMillis = currentMillis;
      SD_karta(hodnota);
      graf(hodnota);
    }  
}

void F_napetie(int hodnota, int delta)
{
  //Serial.print("delta :"); Serial.println(delta);
  //Serial.print("hodnota :"); Serial.println(hodnota);
 if ((hodnota > (stara + delta)) || (hodnota < (stara - delta)))
  {
    stara = hodnota;
    SD_karta(hodnota);
    graf(hodnota);
  }
}


void tlacitko(String text, int volba)
{
  myGLCD.setColor(0, 255, 0);
  if (text == "STOP") { myGLCD.setColor(255, 0, 0); }
  myGLCD.fillRoundRect (5, 200, 100, 230);
  myGLCD.setColor(255, 255, 255);  myGLCD.print(text, 12, 207);
  if (volba > 0) {
        myGLCD.setColor(VGA_BLUE);  myGLCD.fillRoundRect (135, 200, 310, 230);  myGLCD.setColor(VGA_WHITE);
        switch (volba) {
                    case 1:
                           myGLCD.print("1 ms", 143, 207);
                           break;
                    case 2:
                           myGLCD.print("15 ms", 143, 207);
                           break;
                    case 3:
                           myGLCD.print("50 ms", 143, 207);
                           break;
                    case 4:
                           myGLCD.print("100 ms", 143, 207);
                           break;
                    case 5:
                           myGLCD.print("200 ms", 143, 207);
                           break;
                    case 6:
                           myGLCD.print("500 ms", 143, 207);
                           break;
                    case 7:
                           myGLCD.print("1000 ms", 143, 207);
                           break;
                    case 8:
                           myGLCD.print("0,1 V", 143, 207);
                           break;
                    case 9:
                           myGLCD.print("0,2 V", 143, 207);
                           break;
                    case 10:
                           myGLCD.print("0,3 V", 143, 207);
                           break;
                   }
            }
}

void menu()
{
//prvy riadok
  myGLCD.setColor(f1);  myGLCD.fillRoundRect (5, 5, 65, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("1ms", 10, 12);
  myGLCD.setColor(f15);  myGLCD.fillRoundRect (70, 5, 140, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("15ms", 75, 12);
  myGLCD.setColor(f50);  myGLCD.fillRoundRect (145, 5, 220, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("50ms", 150, 12);
  myGLCD.setColor(f100);  myGLCD.fillRoundRect (225, 5, 310, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("100ms", 230, 12);
  
//druhy riadok
  myGLCD.setColor(f200);  myGLCD.fillRoundRect (5, 70, 93, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("200ms", 10, 75);
  myGLCD.setColor(f500);  myGLCD.fillRoundRect (105, 70, 193, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("500ms", 110, 75);
  myGLCD.setColor(f1000);  myGLCD.fillRoundRect (200, 70, 310, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("1000ms", 205, 75);

//treti riadok
  myGLCD.setColor(f01);  myGLCD.fillRoundRect (5, 140, 93, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,1 V", 10, 147);
  myGLCD.setColor(f02);  myGLCD.fillRoundRect (105, 140, 193, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,2 V", 110, 147);
  myGLCD.setColor(f03);  myGLCD.fillRoundRect (205, 140, 310, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,3 V", 210, 147);

//zmaz
  myGLCD.setColor(fzmaz);  myGLCD.fillRoundRect (135, 200, 310, 230);  myGLCD.setColor(255, 0, 0);  myGLCD.print("ZMAZ subor", 143, 207);
  tlacitko("start", 0);
}

void menu_touch()
{
    if (myTouch.dataAvailable())
    {
      myTouch.read(); x_dotyk = myTouch.getX(); y_dotyk = myTouch.getY(); //Serial.println(" "); Serial.println(" "); Serial.print("X_dot = "); Serial.println(x_dotyk); Serial.print("Y_dot = "); Serial.println(y_dotyk); 

      //prvy riadok
      if ((y_dotyk >= 0) && (y_dotyk <= 40))
      {
        //riadok 1
        if ((x_dotyk >= 0) && (x_dotyk <= 65))  {menu(); myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (5, 5, 65, 35); myGLCD.setColor(255, 255, 255);  myGLCD.print("1ms", 10, 12); volba = 1;}
        else if ((x_dotyk >= 70) && (x_dotyk <= 140)){menu(); myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (70, 5, 140, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("15ms", 75, 12); volba = 2;}
        else if ((x_dotyk >= 145) && (x_dotyk <= 220)){menu(); myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (145, 5, 220, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("50ms", 150, 12); volba = 3;}
        else if ((x_dotyk >= 225) && (x_dotyk <= 310)){menu(); myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (225, 5, 310, 35);  myGLCD.setColor(255, 255, 255);  myGLCD.print("100ms", 230, 12); volba = 4;}
      }
      else if ((y_dotyk >= 65) && (y_dotyk <= 105)) //druhy riadok
      {
        //riadok 1
        if ((x_dotyk >= 0) && (x_dotyk <= 90))  {menu(); myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (5, 70, 93, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("200ms", 10, 75); volba = 5;}
        else if ((x_dotyk >= 105) && (x_dotyk <= 190)){menu(); myGLCD.setColor(VGA_WHITE); myGLCD.fillRoundRect (105, 70, 193, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("500ms", 110, 75); volba = 6;}
        else if ((x_dotyk >= 200) && (x_dotyk <= 310)){menu(); myGLCD.setColor(VGA_WHITE); myGLCD.fillRoundRect (200, 70, 310, 100);  myGLCD.setColor(255, 255, 255);  myGLCD.print("1000ms", 205, 75); volba = 7;}
      }
      else if ((y_dotyk >= 135) && (y_dotyk <= 170))//treti riadok
      {
        //riadok 1
        if ((x_dotyk >= 0) && (x_dotyk <= 90))  {menu(); myGLCD.setColor(VGA_WHITE); myGLCD.fillRoundRect (5, 140, 93, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,1 V", 10, 147); volba = 8;}
        else if ((x_dotyk >= 105) && (x_dotyk <= 190)){menu(); myGLCD.setColor(VGA_WHITE); myGLCD.fillRoundRect (105, 140, 193, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,2 V", 110, 147); volba = 9;}
        else if ((x_dotyk >= 205) && (x_dotyk <= 310)){menu(); myGLCD.setColor(VGA_WHITE); myGLCD.fillRoundRect (205, 140, 310, 170);  myGLCD.setColor(255, 255, 255);  myGLCD.print("0,3 V", 210, 147); volba = 10;}
      }
      //Serial.print("3X_dot = "); Serial.println(x_dotyk); Serial.print("3Y_dot = "); Serial.println(y_dotyk); 
      //zmaz
      if ((x_dotyk >= 135) && (y_dotyk >= 200)) {myGLCD.setColor(VGA_WHITE);  myGLCD.fillRoundRect (135, 200, 310, 230);  myGLCD.setColor(255, 0, 0);  myGLCD.print("ZMAZ subor", 143, 207); SD.remove("datalog.txt"); delay(100);
                                                 myGLCD.setColor(VGA_RED);  myGLCD.fillRoundRect (135, 200, 310, 230);  myGLCD.setColor(255, 0, 0);  myGLCD.print("ZMAZ subor", 143, 207);}
      
    }
}

void graf(int an_H)
{
  x++;
  int y = map(an_H, 0, 1023, 240, 0);
  if (y>80) myGLCD.setColor(0, 255, 0);
  if (y>160) myGLCD.setColor(0, 0, 255);
  if (y<80) myGLCD.setColor(255, 0, 0);
  
  napetie = (an_H / (float) 1023) * 5;
  myGLCD.drawPixel(x,y);
  myGLCD.printNumF(napetie, 2, 190, 5);
  if (x > 319)
    {
      x = 0;
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(0,0,319,239);
      tlacitko(stopp, volba);
    }
}

void SD_karta(int an_H1)
{
  String retazec = "";
  int sensor = an_H1;
  retazec += String(sensor);

  // if the file is available, write to it:
  if (subor)
  {
    retazec += ",";
    retazec += millis();
    subor.println(retazec);
    Serial.println(retazec);
  }
  else
  {
    Serial.println("error opening datalog.txt");
  }
}


void setup()
{
  myGLCD.InitLCD();  myGLCD.clrScr(); myGLCD.setFont(BigFont);  myGLCD.setBackColor(0, 0, 0);
  myTouch.InitTouch();  myTouch.setPrecision(PREC_MEDIUM);

  Serial.begin(115200);  while (!Serial);
  Serial.print("Initializing SD card...");
  if (!SD.begin(chipSelect))
  {
    Serial.println("initialization failed.");
    myGLCD.print("Init. SD card FAIL", 12, 100);
    while (true);
  }
  Serial.println("initialization done.");
  tlacitko(startt, volba);
}


void loop()
{
  if (cyklus)
    {
      if (subor_otvoreny == 0) { subor = SD.open("datalog.txt", FILE_WRITE); subor_otvoreny = 1; Serial.println("otvaram subor"); }
      hodnota = analogRead(A0);
      switch (volba) {
                    case 1:
                           SD_karta(hodnota);
                           break;
                    case 2:
                           SD_karta(hodnota);
                           graf(hodnota);
                           break;
                    case 3:
                           cakaj(50);
                           break;
                    case 4:
                           cakaj(100);
                           break;
                    case 5:
                           cakaj(200);
                           break;
                    case 6:
                           cakaj(500);
                           break;
                    case 7:
                           cakaj(1000);
                           break;
                    case 8:
                           F_napetie(hodnota, 20);
                           break;
                    case 9:
                           F_napetie(hodnota, 50);
                           break;
                    case 10:
                           F_napetie(hodnota, 60);
                           break;
                   }
     }
  if (!cyklus) { menu_touch();}
  
  if (myTouch.dataAvailable())
    {
      myTouch.read(); x_dotyk = myTouch.getX(); y_dotyk = myTouch.getY();

      if ((y_dotyk >= 200) && (y_dotyk <= 230))
      {
        if ((x_dotyk >= 0) && (x_dotyk <= 200))
        {
          delay(300);
          myGLCD.clrScr();
          if (cyklus == 1) { tlacitko(startt, volba); }
          if (cyklus == 0){ tlacitko(stopp, volba); subor.close();} 
          cyklus =! cyklus;
          if (cyklus == 0) { subor_otvoreny = 0; subor.close(); Serial.println("zatvaram subor"); myGLCD.clrScr(); menu();}
        }
      }
    }
}
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 03 Nov 2023, 21:03

Čavte
trošku som prešiel z elektro na bajk (bez bateriek :D ). Doma sa mi aj napriek tomu, že som minule, bez milosti vyhodil všetko čo malo zjavne nulovú hodnotu, váľa ešte plno vecí ktoré majú nenulovú hodnotu.
Bohužiaľ, nie som ochotný isť na poštu, takže len osobný odber, Hlohovec (max blízke okolie aj doveziem, TN, PN, NR).
Nejake Arduina Uno, mikro, mini, Mega 2x, DUE 2x, Malina 1x nejaka, DA a AD prevodníky (viacbitové, bol som posadnutý presnosťou), zdroj presného napetia, rôzne moduly Arduino, drivre pre motorčeky, male serva + drivre, nejake presnejšie operáky a prevodníky ešte na DPS:
ADTL082ARMZ
AD8221ARM(Z)
OP1177ARMZ
AD7740.

K tomu nejake LEM CAS snímače prúdu, nejake hall snimace analog aj digital, drivre pre výkonové LED aj výkonové LED.
Bol by záujem a mám to naceniť alebo len hodím do krabice v pivnici?
Prílohy
20231103_200119.jpg
20231103_200440.jpg
20231103_200939.jpg
20231103_200948.jpg
0

Milanko
Pokročilý člen
Pokročilý člen
Príspevky: 628
Dátum registrácie: 25 Jún 2008, 00:00
Bydlisko: Banská Bystrica

Re: moje mikro vyrobky

Príspevok od používateľa Milanko » 04 Nov 2023, 05:28

Pozrel som si, máš toho až-až. Na teraz zháňam do starej mašiny Ramku 1 G.- viď
foto.
P1010019.JPG
0
Človek môže uspieť v takmer čomkoľvek za čo má neobmedzené nadšenie.

Používateľov profilový obrázok
Radus
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1497
Dátum registrácie: 27 Okt 2009, 00:00
Bydlisko: Prešov
Vek: 42

Re: moje mikro vyrobky

Príspevok od používateľa Radus » 04 Nov 2023, 11:36

...mám v praci nejake ramky zo starého servera, môžem ti pozrieť. Co to je ta typ?
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6200
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: moje mikro vyrobky

Príspevok od používateľa pocitujlasku » 04 Nov 2023, 11:59

serverove budu asi ECC, toto su klasicke.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 04 Nov 2023, 18:06

Ramku mam iba jednu, z notasu, neviem čo je zac
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: moje mikro vyrobky

Príspevok od používateľa misocko » 24 Dec 2023, 00:09

Dnes som ako test na koronu chcel vybehnuť nejaký kopček na bajku. Bohužiaľ hneď ako som namazal reťaz, sa husto rozsnežilo a snežilo až do večera :( .
Spomenul som si na to že som ešte nevyhodil všetko elektro čo som mal, a tiež na to že mi na autokamere blikajú niektoré moderné svetlá, tak som rozblikal LED a skúsil nakrútiť na kameru pri roznych snimacich frakvenciach (doma mam iba mobili a kamery ktoré zvládnu 30 a 60 FPS). Duty nastavené na 1%, frekvencia riadená činskym frequenci kontrolerom. Nieje to presné ale zabitie času stačí :D
You Tube
0

Napísať odpoveď