RC ahel

RC ahel on takisti (R) ja kondensaatori (C) kombinatsioon. Kondensaatoril pinge kasvamine ja kahanemine toimuvad ajas eksponentsiaalselt ja sõltuvalt takisti takistuse R ning kondensaatori mahtuvuse C korrutisest R * C. Korrutist R*C nimetatakse RC-ahela ajateguriks. Tähis τ (tau), ühik sekund. Ajategur näitab kondensaatori laadumise või tühjenemise kiirust. Kui ajategur on suur, siis kondensaator laadub aeglaselt, […]

ESP-o1

This small module allows microcontrollers to connect to a Wi-Fi network and make simple TCP/IP connections using Hayes-style (AT) commands. GPIO0 pin must be pulled to GND, and the GPIO2 pin must be pulled HIGH, to +3.3V, to enable bootloader mode. RST pin pulled GND to restart module. We use USB to TTL module to […]

Ohmi seadus

Takistus Takistuse ühik: Ω – oom 1 kΩ (kilo-oom) = 1000 Ω 1 MΩ (megaoom) = 1 000 000 Ω 1 mΩ (millioom) = 0,001 Ω Kahe sama takistusega takisti paralleeli ühendamisel takistus väheneb 2 korda. Kahe takisti paralleelühenduse kogutakistus: n-arvu takistite paralleelühenduse kogutakistus: Takistite jadaühenduse kogutakistus on Pinge Pingejagur Pingejagur on kaks jadamisi ühendatud […]

Anagramm

Application, that finds all anagrams for provided word from a provided dictionary. Returns executation time in microseconds and anagramms. Compile: gcc anagramm.c -o ./bin/anagramm Run: ./bin/anagramm lemmad.txt word Tested on Ubuntu 18.04.02 https://github.com/taunoe/anagramm

AVR vs Arduino funktsioonid

pinMode() Arduino funktsiooni pinMode() abil seatakse siin (pin) kas sisendiks või väljundiks: pinMode(6, INPUT); AVR c-keeles: DDRD &= ~(1 << 6); DDR – tähendab Data Direction Registrit. Ja kuna Arduino (Atmega328) digital pin 6 kuulub regitrise Port D siis DDRD. Näiteks Arduino digtal pin 12 kuulub registrisse Port B ja siis oleks DDRB. Et siin (pin) oleks […]

AVR: Katkestused

Interrupts Arduino UNO mikrokontrolleril Atmega 328 (ja 168) on kahte tüüpi katkestusi: Välised (external). Kaks tükki: INT0 (pin 2) ja INT1 (pin 3). Riistvaralised ja väga kiired. RISING, FALLING, LOW, HIGH Viigu muutus (pin change) kuni 20 tk. RISING, FALLING Atmega328 katkestused, täidetavuse järjekorras: Internal names (which you can use to set up ISR callbacks) […]

AVR Registrid

Refister on nagu nuppude paneel. Nupp on, kas sisse lülitatud (1) või väljalülitatud (0). Kuna AVR on 8-bitine mikrokontroller, on ka enamik registreid 8-bitised. Mõned regidtrid on 16-bitised, mis tegelikult koosnevad kahes 8-bitisest registrist. Mõnes registris pole kõik 8 bitti kasutatud. Sel juhul tähistatakse biti lahter sidekriipsuga. Väikse n-tähega tähistatakse registri nimes registri mooduli indeksit. […]

AVR: märkmeid

Andmetüübid (data types) Arduino MIN MAX BITTE Baite int8_t char -128 127 8 1 uint8_t unsigned char, byte 0 255 8 1 int16_t short -32768 32767 16 2 uint16_t unsigned short 0 65535 16 2 int32_t long -2147483648 2147483647 32 4 uint32_t unsigned long, double (Atmega) 0 4294967295 32 4 int64_t long long −9,223,372,036,854,775,808 9,223,372,036,854,775,807 […]

AVR: Binaartehted

Inglise keeles: Bitwise Logical Operators Registrisse binaarväärtuse kirjutamine: PORTB = 0b01100001; Registri lugemine muutujasse: unsigned char reg = PORTB; Üksikute bittide muutmiseks registris (arvus jne) kasutatakse binaartehteid. Binaartehe on tehe binaararvude vahel, kus nende arvude iga biti vahel toimub omaette loogikatehe. Binaararvude ette kirjutatakse 0b ja heksatestimaalarvud 0x. Binaararve kirjutatakse paremalt vasakule. Näiteks: 1 == 0b0001, […]