Translate

segunda-feira, 27 de julho de 2020

NXT-G - blocos de sensores...



Colaborei no espaço Reddit, com o utilizador u/MindS1, no listar de todos os blocos para sensores do LEGO NXT. Como este trabalho é muito útil para os docentes que usam NXT com sensores quer da Lego quer de terceiros, deixo aqui o post original com links para fazerem o download de todos os blocos que foram compilados bem como o modo de os instalar. O trabalho original é inglês, e deixo aqui na sua língua original.


I collaborated in the Reddit space, with the user u / MindS1, in the list of all LEGO NXT sensor blocks. As this work is very useful for teachers who use NXT with sensors from either Lego or third parties, I leave here the original post with links to download all the blocks that were compiled as well as how to install them. The original work is English, and I leave it here in its original language.


"Over the years, Lego and various 3rd parties have created many add-in blocks for the graphical NXT-G programming environment. To keep the platform alive, I'm putting my personal collection up for download."

UPDATES
Big thanks to /u/leonardoverde for helping collect NXT-G blocks from many additional hardware suppliers!
11/26/19 - added hardware support packages for HiTechnic, Vernier, LogIT. Added a few additional math blocks.
11/30/19 - added hardware support packages for Dexter Industries, Codatex, and POB.

DOWNLOAD
For use with any version of the Lego NXT programming software (but NOT the EV3 programming software). These are programming blocks originally from various sources such as Lego.com, Team Hassenplug, NXTASY.ORG (The original forum, before it went offline), and HiTechnic, mostly from the 2006 to 2012 era. Most of these cannot be found on the internet anymore, so I decided to upload the ones I've collected over the years.
or here:
https://drive.google.com/file/d/1XKGXuLAgJhvEkDda_W9w6LXsi5FDVKB7/view?usp=sharing

HOW TO INSTALL NXT-G BLOCKS:
  1. If using NXT-G 1.1 or 2.0 skip to step 2. If using the original NXT 1.0 software, download the "Dynamic Block Update.zip" at the link above.
    Right click -> Extract All.
    Run "Dynamic Block Update\Products\LEGO MINDSTORMS NXT Dynamic Blocks Update\NXT_3RD_PARTY\3rdPartyUpdate.msi" to install the package into the NXT-G environment.
    Later versions of the NXT-G software come with the Dynamic Block Update already installed. NXT-G 1.0 users can alternatively download and install the full NXT-G 2.0 software from the official source. NXT-G 2.0 is fully backwards-compatible with NXT 1.0 hardware and software.
  2. Download one or more NXT-G block packages from the dropbox link at the top of this post.
  3. Right click each downloaded .zip folder, click Extract All. Remember where you're extracting your blocks to (usually your downloads folder).
  4. Open the NXT software. On the top menu bar, click Tools -> Block Import and Export Wizard.
  5. Click Browse and navigate to the place where the blocks were extracted, click OK. The list should find all the NXT-G blocks in that location.
  6. Click the blocks you want to import (ctrl-click to select multiple). Select a pallette to add the blocks to (Common, Action, Sensor, Flow, Data, or Advanced, your decision). Click import then restart NXT-G.
You should now have new NXT-G blocks to use.

NXT-G FEATURE BLOCK PACKAGES
These blocks simply add specialized functionality and do not require any specific 3rd-party hardware.
  • "High Performance Actions.zip"
    Official Lego NXT-G blocks. These blocks use less memory on the NXT than the original action blocks, and might result in faster code execution (untested).
    • Display Performance: Same as Display block, but less memory.
    • Motor Performance: Same as Motor block, but less memory.
    • Move Performance: Same as Move block, but less memory.
    • Sound Performance: Same as Sound block, but less memory.
  • "Advanced Display.zip"
    Originally from NXTASY.ORG (author unknown)
    • Advanced Display Image: Allows passing parameters to .ric image files (for use with RICEDITv2).
    • Advanced Display Text: Adds multiple fonts and sizes for text display.
    • Advanced Display Number: Displays a number (EG from a sensor) with a caption.
    • Display Time: Not sure, could not get it working.
  • "Advanced Math.zip"
    Originally from NXTASY.ORG (author unknown), HiTechnic, and Steve Hassenplug
    • Average Block: Computes a running average of the past n samples. Intended to be used inside a loop and provided a new input value every iteration.
    • Bit Logic: Provides bitwise AND, OR, NOT, XOR
    • HTAtan2I (Integer math, for NXT-G 1.0): Arctangent (tan-1) function. Calculates angle from a coordinate pair.
    • HTAtan2 (Floating-point, for NXT-G 2.0 ONLY): Arctangent (tan-1) function.
    • HiTechnic Limit Number: Clamps a number to be within upper and lower bounds. Provides presets for power levels (0 to 100) and angles (0 to 360).
    • HTSinCosI (Integer math, for NXT-G 1.0): Sin and Cos functions.
    • HTSinCos (Floating-point, for NXT-G 2.0 ONLY): Sin and Cos functions.
    • MinMax: Intended to be used inside a loop and provided a new input value every iteration. Outputs the minimum and maximum values the block has seen since the loop started.
    • MathScript Block: Combines many math operations into one block. See help for usage.
    • POW: Raises a number to a power.
    • Square Root: Calculates square root of a number.
    • SRand: Outputs a random number. Given a constant seed the program will output the same sequence of random numbers every time it is run.
  • "Advanced Text Manipulation.zip"
    Originally from NXTASY.ORG (author unknown).
    • Text Compare: Outputs TRUE if the two text inputs are the same.
    • Text Contains: Outputs TRUE if text 1 contains text 2.
    • Text Length: Outputs number of characters in the text input.
    • Text Subset: Outputs a segment of the input text (substring function).
    • Text to Number: If the input text is a number, outputs that number. Opposite of "Number to Text" block.
  • "Datalogging.zip"
    Originally from NXTASY.ORG (author unknown).
    • Datalog: Records values from up to 4 sources (usually sensors) to a Comma-Separated Values (.csv) file on the NXT. Intended to be used in a loop and provided new values every iteration. Can use the "Upload Datalog" button on the Datalog Block OR the "Upload File" tool in the NXT manager to get the datalog file onto your computer. Data can be viewed with any spreadsheet program like Excel.
  • "IIC.zip"
    Blocks for low-level I2C communication. For use with custom sensor hardware. Originally from Steve Hassenplug.
    • IIC Read: Reads a register from an I2C device at the specified address.
    • IIC Write: Writes a value to a register in the I2C device at the specified address.
    • IIC Multiple Read: Reads multiple times.
  • "Power and Memory.zip"
    Originally from NXTASY.ORG (author unknown), HiTechnic, and Steve Hassenplug.
    • Battery Level: Outputs the battery voltage in millivolts (mV).
    • HTMotorPID: Allows finer control over the motor position regulators.
    • Line Following Block: Implements a basic threshold-turn line follower algorithm in a single block. Intended to be looped, and (supposedly) offers higher performance than the equivalent in separate blocks.
    • Memory Level: Outputs the number of bytes left in flash memory on the NXT. Useful in conjunction with the Datalog block (can stop datalogging when storage fills up).
    • Motor Power Meter: Outputs a number representing how fast a motor is moving (0-100) compared to how fast the NXT expects it to be moving based on its power setting. Can be used to detect motor stalls.
  • RS485.zip:
    Originally from Dexter Industries.
    • RS485 Comm Block: All NXTs have an RS485 chip behind port 4 which can be used for high speed data transmission. Can be used to communicate with other NXTs (simply connect both port 4's using a standard NXT cable) or to communicate with other RS485 devices.

NXT-G HARDWARE SUPPORT PACKAGES
NXT-G blocks for specific hardware (sensors/motors/multiplexers/etc).
  • "Legacy Blocks (RCX Compatibility).zip"
    Official Lego NXT-G blocks (originally the Legacy Block Library). Provides support for RCX motors and sensors on the NXT via a converter cable.
  • "Codatex Hardware.zip"
    Official Codatex RFID Sensor NXT-G block.
  • "Dexter Industries Hardware.zip"
    Official Dexter Industries NXT-G blocks, for home edition and educational versions of the software (education versions include datalogging support). Also includes some documentation and example code. Package contains sensor blocks for the following:
    • dCompass Sensor
    • dFlex Sensor
    • dGPS
    • dIMU
    • dLight
    • dPressure Sensor
    • Dexter Industries NXTBee
    • Dexter Industries Thermal-Infrared Sensor
    • Dexter Industries Thermometer
  • "HiTechnic Hardware.zip" Official HiTechnic NXT-G blocks. Package contains sensor blocks for the following:
    • HiTechnic Acceleration Sensor
    • HiTechnic Angle Sensor
    • HiTechnic Barometer
    • HiTechnic Compass
    • HiTechnic Color Sensor
    • HiTechnic EOPD
    • HiTechnic Force Sensor
    • HiTechnic Gyro
    • HiTechnic IR Seeker V1
    • HiTechnic IR Seeker V2
    • HiTechnic IR Receiver
    • HiTechnic IR Link: Separate blocks for power functions, train, RCX, RCX numeric messages
    • HiTechnic Prototype Board
    • HiTechnic Passive Infrared (PIR) Sensor
    • HiTechnic Sensor Multiplexer: Also adds SMUX-compatible Touch, Light, Sound, Ultrasonic sensor blocks
    • HiTechnic SuperPro Development Board
    • HiTechnic Touch Sensor Multiplexer
  • "LogIT Hardware.zip" Official LogIT NXT-G blocks. LogIT sensors require a LogIT sensor adapter. Package contains sensor blocks for the following:
    • LogIT Acceleration Sensor
    • LogIT Barometric Sensor
    • LogIT CO2 Sensor
    • LogIT Current Sensor
    • LogIT Electrosmog Sensor
    • LogIT Humidity Sensor
    • LogIT Infrared Sensor
    • LogIT LUX Sensor
    • LogIT Movement Sensor
    • LogIT pH Sensor
    • LogIT ProTemp Sensor
    • LogIT Radiation Sensor
    • LogIT Voltage Sensor
  • "POB Hardware.zip"
    Official POB Bridge NXT-G block. Requires a POB-NXT Bridge and (optionally) a POB-Eye Camera.
  • "Vernier Hardware.zip"
    Official Vernier NXT-G block. Vernier sensors require a Vernier Sensor Adapter (also here). See the official page for supported sensors. Choose a sensor from the NXT-G block configuration menu.
  • "Techno-Stuff Hardware.zip"
    Official Techno-Stuff NXT-G blocks. Package contains sensor blocks for the following:
    • Techno-Stuff IR Flame Sensor
    • Techno-Stuff Motion Sensor
    • Techno-Stuff Pressure Sensor
    • Techno-Stuff UV Flame Sensor

MAKING YOUR OWN NXT-G BLOCKS USING LABVIEW
I suggest starting with Guy Ziv's "Template VI Library Block.zip" in the dropbox repository linked above. You can read more about how to use it here.

quinta-feira, 16 de julho de 2020

O RCX :o software original (parte I) - Software Robolab e RCX Code

O RCX foi divulgado em 1998. Para o programar foram criados dois softwares pela LEGO, e parceiros: O RoboLab e o RCX Code. O primeiro era utilizado com os conjuntos da gama RoboLab, mais tarde, Mindstorms for Schools. O segundo era vendido com os conjuntos da gama Mindstorms - Robotics Invention System (RIS), os quais foram criados para o consumidor final (não para as escolas).

O RoboLab conheceu diversas versões em diversas línguas, sendo a sua última versão a 2.9.4d. A primeira versão (datada de 15 setembro de 1998) e a versão 1.5 (datada de 1 de fevereiro de 1999) só suportava o Pilot e o Programmer. Na altura a Lego ofereceu a possibilidade do upgrade da versão 1.0 para a versão 1.5. A partir da versão 2.0 (datada de 1 de janeiro de 2000) é introduzido o módulo Investigator, contudo não era possível fazer o upgrade da versão 1.5 para a versão 2.0, sendo ambas vendidas em separado. Com o passar dos anos surge a última versão a qual possibilita a integração da programação do RCX, do NXT e com o Interface b (9751), o Scout, o Microscout e Code Pilot. Penso que a última versão suportava 12 línguas (inglês, dinamarquês, norueguês, sueco, espanhol, português, alemão, holandês, francês, chinês, russo e japonês). Com atualização de uns drives possibilitava o controlo dos pbrick Pico.

RCX was released in 1998. To program it, two software were created by LEGO, and partners: RoboLab and RCX Code. The first was used with the sets of the RoboLab range, later Mindstorms for Schools. The second was sold with Mindstorms - Robotics Invention System (RIS) sets, which were created for the final consumer (not for schools).

RoboLab has known several versions in different languages, the latest version being 2.9.4c. The first version (dated 15 September 1998) and version 1.5 (dated 1 February 1999) only supported Pilot and Programmer. At the time, Lego offered the possibility of upgrading from version 1.0 to version 1.5. As of version 2.0 (dated 1 January 2000) the Investigator module was introduced, however it was not possible to upgrade from version 1.5 to version 2.0, both of which are sold separately. Over the years, the latest version appears, which allows the integration of RCX, NXT programming and Interface b (9751), Scout, , Microscout and Code Pilot.. I think the latest version supported 12 languages ​​(English, Danish, Norwegian, Swedish, Spanish, Portuguese, German, Dutch, French, Chinese, Russian and Japanese).Updating some drives made it possible to control the pbrick Pico.


-----------//----------



uma das primeiras versões (Demo v. 1.0)
(Nota: foram disponibilizadas online, à data, 
esta versão e a versão 2.0, ambas DEMO)


versão 1.0 (2000050)
ref caixa: 4125167.



Imagem do arranque da versão 1.0



versão 1.5 (2000050) 
(clique na imagem para fazer download)


versão 2.0 (2000051) 
janeiro 2000


versão 2.0 (2000051/E/BR) português e espanhol.


versão 2.01 (2000051/NOR),  dinamarquês, noroeguês, sueco e inglês.
(clique na imagem para fazer download)




versão 2.5 (2000054)
(clique na imagem para fazer download)


RoboLab 2.5 com as missões de treino
(2000062)


RoboLab 2.5.4b com as missões de treino
(2000076)


Robolab versão 2.0 alemã (2000076/DE)


RoboLab 2.5.4 espanhola (2000076 ES)


RoboLab 2.5.2 Software



RoboLab 2.9 CDROM
(2000069)
(clique na imagem para fazer download)


RoboLab 2.9.4 CDROM versão japonesa
(2000069 JPN v95)


RoboLab 2.9.2 CDROM versão portuguesa
e espanhola
(2000069 ES,PT)


RoboLab 2.9.4 Software
(Este software obtinha-se com o upgrade da versão 2.9.0 ou 2.9.2 
e as  patch 2.9.3 e 2.9.4 cumulativamente. 
Mais tarde saiu uma patch para upgrade dos sensores (ver quadro abaixo) )


Quadro resumo das versões RoboLab (em construção). 
A amarelo , informação confirmada visualmente pelo autor.

Summary table of RoboLab versions (under construction). 
In yellow, information visually confirmed by the author.


Este quadro visa dar uma visão global da evolução do RoboLab. 
É muito interessante verificar que a introdução do menu Investigator, marca a diferença entre a versão 1 e a 2. Contudo, a versão 2 vai evoluir de modo a integrar pbricks anteriores e mesmo o Interface B. É muito significativo o esforço que foi feito pela LEGO. Foi uma época de desenvolvimento de software e sobretudo de hardware muito intensa o que levou a constantes reajustes. Esta tabela está em construção. Com realce a amarelo encontra-se informação confirmada pelo autor deste blog. Agradeço todos os contributos dos leitores deste blogue para o cabal esclarecimento das versões. 
A versão 2.9.2 com o upgrade das patch 2.9.3, 2.9.4 e por fim em 2010 com o upgrade para os sensores, foi a última versão (aguardo atualização desta informação, gentilmente, por Chris Rogers - maio 2024 ). 

This table aims to give a global view of the evolution of RoboLab. 
It is very interesting to see that the introduction of the Investigator menu marks the difference between version 1 and 2. However, version 2 will evolve to integrate previous pbricks and even Interface B. The effort that was made by LEGO. It was a time of very intense software and especially hardware development, which led to constant readjustments. This table is under construction. Highlighted in yellow is information confirmed by the author of this blog. I appreciate all the contributions from the readers of this blog to fully clarify the versions. 
Version 2.9.2 with the upgrade of patches 2.9.3, 2.9.4 and finally in 2010 with the upgrade for sensors, was the last version (I'm waiting for this information to be updated, kindly, by Chris Rogers - may 2024).


-----------//----------



O RCX Code teve unicamente 3 versões, correspondentes aos conjuntos RIS 1.0, 1.5 e 2.0. respetivamente versão 1.0, 1.5 e 2.0. A versão última, a 2.0, saiu em inglês, alemão, holandês, francês, japonês e italiano.

The RCX Code had only 3 versions, corresponding to the RIS 1.0, 1.5 and 2.0 sets. version 1.0, 1.5 and 2.0 respectively. The latest version, 2.0, came out in English, German, Dutch, French, Japanese and Italian.



RIS 1.0 CDROM
(download aqui)


RIS 1.0 Software


RIS 1.5 CDROM
(clique aqui para download da versão inglesa , versão sueca ou versão alemã)


RIS 1.5 Software


RIS 2,0 CDROM
(download aqui)


RIS 2.0 Software


(última atualização em 29/05/2024)