https://senzor.robotika.sk/sensorwiki/index.php?title=%C5%A0peci%C3%A1lne:Nov%C3%A9Str%C3%A1nky&feed=atom&limit=50&offset=&namespace=0&username=&tagfilter=&size-mode=max&size=0
SensorWiki - Nové stránky [sk]
2024-03-29T13:48:12Z
Z SensorWiki
MediaWiki 1.29.0
https://senzor.robotika.sk/sensorwiki/index.php/Datalogger_so_z%C3%A1znamom
Datalogger so záznamom
2024-03-18T17:41:08Z
<p>Balogh: </p>
<hr />
<div><br />
<br />
<br />
S novým Extension balíkom, ktorý sa volá príhodne Datalogger, je možné namerané dáta zaznamenávať do flash pamäte mikropočítača, ktorá sa sprístupní po pripojení micro:bitu ako flash disk, na ktorom nájdeme namerané dáta ako .html súbor s ktorým potom vieme ďalej pracovať. <br />
<br />
Základné informácie nájdete aj tu:<br />
* [https://microbit.org/get-started/user-guide/data-logging/ Sprievodca záznamom dát]<br />
* [https://www.computingatschool.org.uk/resources/2022/october/datalogging-with-the-microbit Nejaké ďalšie informácie]<br />
* [https://senzor.robotika.sk/sensorwiki/index.php/Senzory_na_mikropo%C4%8D%C3%ADta%C4%8Di_micro:bit Základné info o senzoroch na micro:bite]<br />
<br />
<br />
<gallery heights=400px mode="packed"> <!-- slideshow? --><br />
Image:microbit-Datalogger.png|''Program v blokovom jazyku''<br />
</gallery><br />
<br />
<br />
<tabs><br />
<tab name="Javascript"><source lang="javascript"><br />
<br />
let logging = false<br />
datalogger.setColumnTitles("ms","x")<br />
<br />
<br />
<br />
loops.everyInterval(100, function () <br />
{<br />
if (logging) <br />
{<br />
datalogger.log(<br />
datalogger.createCV("ms", control.millis()),<br />
datalogger.createCV("x", input.acceleration(Dimension.X))<br />
)<br />
}<br />
})<br />
<br />
<br />
input.onButtonPressed(Button.A, function () {<br />
logging = !(logging)<br />
if (logging) {<br />
basic.showIcon(IconNames.Yes)<br />
} else {<br />
basic.clearScreen()<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
<br />
datalogger.onLogFull(function () <br />
{<br />
logging = false<br />
basic.showIcon(IconNames.No)<br />
})<br />
<br />
<br />
<br />
<br />
input.onButtonPressed(Button.AB, function () {<br />
if (input.logoIsPressed()) {<br />
basic.showIcon(IconNames.Angry)<br />
datalogger.deleteLog()<br />
logging = false<br />
datalogger.setColumnTitles(<br />
"ms",<br />
"x"<br />
)<br />
}<br />
})<br />
<br />
<br />
</source></tab><br />
<tab name="MS Python"><source lang="python" style="background: LightBlue;"><br />
<br />
logging = False<br />
datalogger.set_column_titles("ms", "x")<br />
<br />
<br />
def on_every_interval():<br />
if logging:<br />
datalogger.log(datalogger.create_cv("ms", control.millis()),<br />
datalogger.create_cv("x", input.acceleration(Dimension.X)))<br />
loops.every_interval(100, on_every_interval)<br />
<br />
<br />
<br />
<br />
def on_button_pressed_a():<br />
global logging<br />
logging = not (logging)<br />
if logging:<br />
basic.show_icon(IconNames.YES)<br />
else:<br />
basic.clear_screen()<br />
input.on_button_pressed(Button.A, on_button_pressed_a)<br />
<br />
<br />
<br />
<br />
def on_log_full():<br />
global logging<br />
logging = False<br />
basic.show_icon(IconNames.NO)<br />
datalogger.on_log_full(on_log_full)<br />
<br />
<br />
<br />
<br />
def on_button_pressed_ab():<br />
global logging<br />
if input.logo_is_pressed():<br />
basic.show_icon(IconNames.ANGRY)<br />
datalogger.delete_log()<br />
logging = False<br />
datalogger.set_column_titles("ms", "x")<br />
input.on_button_pressed(Button.AB, on_button_pressed_ab)<br />
<br />
<br />
<br />
<br />
</source></tab><br />
<tab name="uPython"><source lang="python" style="background: LightBlue;"><br />
</source></tab><br />
</tabs><br />
<br />
<br />
Po skončení merania treba micro:bit znova pripojiť k počítaču, jeho obsah bude vyzerať asi takto - pozri: https://senzor.robotika.sk/zp/microbit/<br />
<br />
Na tomto "flash disku" si treba otvoriť súbor [https://senzor.robotika.sk/zp/microbit/MY_DATA.HTM MY_DATA.HTM] a uvidíte nielen tabuľku s nameranými dátami, ale aj jednoduchý graf. Odtiaľto sa dajú data stiahnuť vo formáte .csv (comma separated values) vhodnom pre ďalšie spracovanie napr. v Matlabe, Exceli alebo Pythone.<br />
<br />
<br />
Späť na [[Kurz micro:bit#Zbierka príkladov|zoznam príkladov....]]<br />
<br />
<br />
[[Category:Príklady micro:bit]]</div>
Balogh
https://senzor.robotika.sk/sensorwiki/index.php/Datalogger_cez_r%C3%A1diov%C3%BD_prenos
Datalogger cez rádiový prenos
2024-03-18T17:40:59Z
<p>Balogh: </p>
<hr />
<div>Toto je základný príklad na bezdrôtový prenos dát. Jeden micro:bit je napájaný z batérie a vykonáva samotné merania, tie pošle cez rádiový kanál druhému micro:bitu, ktorý je pripojený k počítaču a všetky dáta, ktoré prijme hneď prepošle po sériovej linke (resp. USB) do počítača, kde ich môžeme sledovať buď priamo v MakeCode prostredí, alebo inom terminálovom programe. <br />
<br />
<br />
<gallery heights=300px mode="packed"> <!-- slideshow? --><br />
Image:microbit-serialRadioNumberTx.png|''Program v blokovom jazyku pre vysielač''<br />
Image:microbit-serialRadioNumberRx.png|''a pre prijímač''<br />
</gallery><br />
<br />
<br />
<tabs><br />
<tab name="Javascript"><source lang="javascript"><br />
radio.onReceivedNumber(function on_received_number(receivedNumber: number) {<br />
serial.writeLine("" + ("" + receivedNumber))<br />
})<br />
<br />
let AccX = 0<br />
radio.setGroup(1)<br />
<br />
basic.forever(function on_forever() {<br />
radio.sendString("" + ("" + control.millis()) + "," + ("" + AccX))<br />
led.toggle(2, 2)<br />
basic.pause(100)<br />
})<br />
<br />
</source></tab><br />
<tab name="MS Python"><source lang="python" style="background: LightBlue;"><br />
def on_received_number(receivedNumber):<br />
serial.write_line("" + str((receivedNumber)))<br />
radio.on_received_number(on_received_number)<br />
<br />
AccX = 0<br />
radio.set_group(1)<br />
<br />
def on_forever():<br />
global AccX<br />
AccX = input.acceleration(Dimension.X)<br />
radio.send_number(AccX)<br />
basic.pause(100)<br />
basic.forever(on_forever)<br />
<br />
</source></tab><br />
<tab name="uPython"><source lang="python" style="background: LightBlue;"><br />
<br />
ToDo<br />
<br />
</source></tab><br />
</tabs><br />
<br />
<br />
Nasleduje drobná modifikácia, kde nebudeme posielať číslo, ale celý reťazec s viacerými meraniami, v tomto prípade oddelenými čiarkou. <br />
<br />
<br />
<gallery heights=300px mode="packed"> <!-- slideshow? --><br />
Image:microbit-serialRadioStringTx.png|''Program v blokovom jazyku pre vysielač''<br />
Image:microbit-serialRadioStringRx.png|''a pre prijímač''<br />
</gallery><br />
<br />
<br />
<tabs><br />
<tab name="Javascript"><source lang="javascript"><br />
radio.onReceivedString(function on_received_string(receivedString: string) {<br />
serial.writeLine(receivedString)<br />
})<br />
<br />
let AccX = 0<br />
radio.setGroup(1)<br />
<br />
basic.forever(function on_forever() {<br />
<br />
AccX = input.acceleration(Dimension.X)<br />
radio.sendNumber(AccX)<br />
basic.pause(100)<br />
})<br />
<br />
</source></tab><br />
<tab name="MS Python"><source lang="python" style="background: LightBlue;"><br />
<br />
def on_received_number(receivedNumber):<br />
serial.write_line("" + str((receivedNumber)))<br />
radio.on_received_number(on_received_number)<br />
<br />
def on_received_string(receivedString):<br />
serial.write_line(receivedString)<br />
radio.on_received_string(on_received_string)<br />
<br />
AccX = 0<br />
radio.set_group(1)<br />
<br />
def on_forever():<br />
radio.send_string("" + str(control.millis()) + "," + str(AccX))<br />
led.toggle(2, 2)<br />
basic.pause(100)<br />
basic.forever(on_forever)<br />
<br />
def on_forever2():<br />
global AccX<br />
AccX = input.acceleration(Dimension.X)<br />
radio.send_number(AccX)<br />
basic.pause(100)<br />
basic.forever(on_forever2)<br />
<br />
<br />
</source></tab><br />
<tab name="uPython"><source lang="python" style="background: LightBlue;"><br />
<br />
ToDo<br />
<br />
</source></tab><br />
</tabs><br />
<br />
<br />
Späť na [[Kurz micro:bit#Zbierka príkladov|zoznam príkladov....]]<br />
<br />
<br />
[[Category:Príklady micro:bit]]</div>
Balogh
https://senzor.robotika.sk/sensorwiki/index.php/MIPS_Blink
MIPS Blink
2024-03-10T18:53:52Z
<p>Balogh: </p>
<hr />
<div>Toto je šablóna, ktorá správne založí projekt v AVR Studio 5.1 a obsahuje všetko potrebné pre prácu so sériovou linkou.<br />
<br />
Mala by byť nainštalovaná na všetkých počítačoch v D-208 ale môžete si ju aj [https://senzor.robotika.sk/mips/Blink/MIPS.zip stiahnuť odtiaľto].<br />
<br />
<br />
Čo máte k dispozícii<br />
<br />
bit_is_set(ADDRESS, BIT) // logická funkcia, vráti true ak je v ADDRESS bit BIT nastavený do log. 1<br />
bit_is_clear(ADDRESS, BIT) // logická funkcia, vráti true ak je v ADDRESS bit BIT nastavený do log. 0<br />
<br />
Príklad: <br />
<br />
if ( bit_is_set(PINC,SW1) )<br />
<br />
Preddefinované sú aj nasledovné dve čakacie slučky<br />
<br />
loop_until_bit_is_set(ADDRESS, BIT); // cakanie na uvolnenie tlacitka<br />
loop_until_bit_is_clear(ADDRESS, BIT); // cakanie na stlacenie tlacitka<br />
<br />
Príklad:<br />
<br />
loop_until_bit_is_set(USARTC0, RX0); // <br />
<br />
<br />
<br />
set_bit(ADDRESS,BIT) // nastaví bit BIT na adrese ADDRESS, <br />
clear_bit(ADDRESS,BIT) // vynuluje bit BIT na adrese ADDRESS, <br />
<br />
<br />
Príklad: <br />
<br />
set_bit(PORTB,5) // bastav 5. bit PORTB ako vystupny<br />
<br />
<br />
Oneskorenie<br />
<br />
void delay(int delay); <br />
<br />
Pozdrží vykonávanie programu na čas delay [ms]<br />
<br />
Inicializácia HW<br />
<br />
void hw_init( void );<br />
<br />
Zatiaľ je v tejto funkcii len konfigurácia PORTB.5 ako výstup - je na ňom užívateľská žltá LED<br />
<br />
<br />
Sériové rozhranie<br />
<br />
void uart_init( void );<br />
<br />
Inicializácia sériového rozhrania s parametrami 9600,n,8,1<br />
<br />
char uart_getc( void );<br />
<br />
Načíta jeden znak zo sériového rozhrania. Blokujúca funkcia.<br />
<br />
Na výpis používajte funkciu printf, ale zatiaľ bez float výpisov.</div>
Balogh
https://senzor.robotika.sk/sensorwiki/index.php/Resistor_color_code
Resistor color code
2024-02-07T18:47:31Z
<p>Balogh: /* Rezistory */</p>
<hr />
<div>== Rezistory ==<br />
<br />
Rezistory majú svoju hodnotu zakódovanú farebnými pásikmi. U bežných rezistorov sú tri alebo štyri. Kód sa číta zľava doprava, pričom prá cifra nikdy nie je nula (čierny pásik). Posledný pásik <br />
(tolerancia) niekedy býva oddelený väčšou medzerou.<br />
<br />
* prvý pásik je prvá platná číslica hodnoty odporu v ohmoch<br />
* druhý pásik je druhá platná číslica hodnoty odporu<br />
* tretí pásik je násobiteľ <br />
* štvrtý pásik (ak je uvedený) je tolerancia (ak nie je, tak tolerancia je 20 %)<br />
<br />
<br />
{| border="1" cellspacing="0" cellpadding="3" class="wikitable"<br />
|+ Farebné pruhy rezistorov<br />
!Farba!!1. pruh!!2. pruh!!3. pruh!!Násobiteľ!!Tolerancia!!Tepl. koeficient!!Spoľahlivosť<br />
|- bgcolor = "#000000"<br />
|[[Černá|<font color=white>Čierna</font>]]||<font color = "#FFFFFF">0</font>||<font color = "#FFFFFF">0</font>||<font color = "#FFFFFF">0</font>||<font color = "#FFFFFF">×10<sup>0</sup></font>||&nbsp;||&nbsp;||1%;<br />
|- bgcolor = "#663300"<br />
| Hnedá ||1||1||1||×10<sup>1</sup>||±1% (F) ||100 ppm ||0.1%;<br />
|- bgcolor = "#FF0000" <br />
| Červená ||2||2||2||×10<sup>2</sup>||±2% (G) ||50 ppm ||0.01%;<br />
|- bgcolor = "#FFA500" <br />
| Oranžová ||3||3||3||×10<sup>3</sup>||&nbsp;||15 ppm ||0.001%;<br />
|- bgcolor = "#FFFF00" <br />
| Žltá ||4||4||4||×10<sup>4</sup>||&nbsp; ||25 ppm||&nbsp;<br />
|- bgcolor = "#9ACD32" <br />
| Zelená ||5||5||5||×10<sup>5</sup>||±0.5% (D) ||&nbsp;||&nbsp;<br />
|- bgcolor = "#6495ED" <br />
| Modrá ||6||6||6||×10<sup>6</sup>||±0.25% (C)||10 ppm||&nbsp;<br />
|- bgcolor = "#EE82EE" <br />
| Fialová ||7||7||7||×10<sup>7</sup>||±0.1% (B) ||5 ppm||&nbsp;<br />
|- bgcolor = "#A0A0A0" <br />
| Šedá ||8||8||8||×10<sup>8</sup>||±0.05% (A)||&nbsp;||&nbsp;<br />
|- bgcolor = "#FFFFFF" <br />
| Biela ||9||9||9||×10<sup>9</sup>||&nbsp; ||1 ppm||&nbsp;<br />
|- bgcolor = "#FFD700" <br />
| Zlatá|Zlatá ||&nbsp;||&nbsp;||&nbsp;||×0.1 ||±5% (J) ||&nbsp;||&nbsp;<br />
|- bgcolor = "#C0C0C0" <br />
| Strieborná ||&nbsp;||&nbsp;||&nbsp;||×0.01 ||±10% (K) ||&nbsp;||&nbsp;<br />
|-<br />
|Žiadna ||&nbsp;||&nbsp;||&nbsp;||&nbsp; ||±20% (M) ||&nbsp;||&nbsp;<br />
|}<br />
<br />
'''Príklad:'''<br />
<br />
[[Súbor:Resistor470.png|Rezistor s odporom 470 Ohm]]<br />
<br />
<br />
- pásiky ''[http://www.weerstandcalculator.nl/resistor.php?ohm=470&tol=1 žltá fialová hnedá hnedá]'' znamená 470 ohmov, s toleranciou 1%.<br />
<br />
Link: [http://www.weerstandcalculator.nl/resistor.php?ohm=470&tol=1 on-line kalkulátor]</div>
Balogh