Conversor DC-DC Step-up / Boost Tensão de entrada: DC 10 ~ 60 V Tensão de saída: DC 12 ~ 80 V Corrente de saída: 10A Max Corrente de entrada: 15 A Max (Em circunstâncias normais, 12A) A diferença de tensão mínima: 2V Potência de saída: entrada 12V Max 120W, em 24V Max 240W, em 60V Max 600W (P = U * I) Eficiência: 95% Máx. (Por exemplo, entrada: saída 30V: 40V 5A n: 93%) Proteção contra curto-circuito de saída: sim Proteção inversa de entrada: nenhuma Tamanho: 85 x63 x 64mm (L * W * H) Peso: 251g
Usa o chip INA219B, Resistência de detecção atual de 0,1 ohm 1% 2W Até 26 V de tensão máxima no lado sensível Até ± 3.2 A corrente máxima, com uma resolução de ± 0.8mA (Alterar a resistência para ampliar o alcance) Este módulo usa endereços I2C de 7 bits 0x40, 0x41, 0x44, 0x45, selecionáveis por pontes soldáveis (A0 e A1).
- Margem de medição: 3 a 80 Centímetros - Tipo de sensor Infra-vermelho de proximidade - Corrente necessária para funcionamento: 100 mA - Alimentação: 5 Volts - Tempo de resposta e actualização: 2 Milisegundos - Material de construção: Plástico resistente - Este sensor permite ajustar a distância de aproximação - O corpo do sensor tem um led que acende quando detecta um objecto - Ligação de 3 fios - Dimensões do sensor: 55 x 17 x 17 mm
Entrada de Voltagem por jack 5.5x2.1mm -Positivo ao centro: 6-12V3V ou 5V regulável na saídaComutador: ON/OFFOutput voltage select switchPower: LEDPTC fuse protected power
Voltagem de entrada: 4.50-40V Voltagem de saída: 1.50-35V (ajustável) Corrente de saída: A corrente classificada é 2A, máximo 3ARegulação da carga: 0,5% Regulação da voltagem: 0.5% Velocidade de resposta: 5% 200uS Temperatura de funcionamento: - 40 a + 85º Dimensões: Aprox: 43 x 20 x 14 mm
DS1307 Relógio em Tempo RealInterface I2C - 2 fiosChip de memória: 24C32Indica segundos, minutos, horas, dias da semana, dias do mês, meses e anos56 bytes de SRAM que podem ser usadas como RAM extendida do microcontroladorMemória EEPROM 24C32 32K I2CCircuito de deteção de falha de energiaConsome menos de 500nA no modo bateria com oscilador em funcionamentoTemperatura de Trabalho: -40°C a +85°CDimensões: 27 x 28 x 8,4mm
Esta placa incluí um sensor de pressão atmosférica -BMP180 - de alta precisão com uma margem de medida de 300 e 1100hPa (Hecto Pascal) com uma margem de erro de 0,03hPa. Baseado na tecnologia piezo-resistiva de alta eficiência e larga duração. O sensor tem uma margem de alimentação de 1,8V e 3,6VDC. Desenhado para ser conectado directamente a um microcontrolador mediante interface I2C. Dispõe de 2 resistências pull-up de 4,7Kohm. Estes tipos de sensores podem seer usados para calcular a altitude, pelo que são muito uteis em UAVEspecificações:- Dimensões: 21 x 18 mm - Alimentação: 1.8V a 6V - I2C Max Speed: 3.5MHz - Baixo consumo de energia - 0.5uA a 1 Hz - Interface I2C - Baixo nível de ruído - até 0.02hPa (17 centímetros) - Faixa de Pressão: 300hpa para 1100hPa (+ -500m a 9000m)#include#define BMP085_ADDRESS 0x77 // I2C address of BMP085const unsigned char OSS = 0; // Oversampling Setting// Calibration valuesint ac1;int ac2;int ac3;unsigned int ac4;unsigned int ac5;unsigned int ac6;int b1;int b2;int mb;int mc;int md;// b5 is calculated in bmp085GetTemperature(...), this variable is also used in bmp085GetPressure(...)// so ...Temperature(...) must be called before ...Pressure(...).long b5;void setup(){Serial.begin(9600);Wire.begin();bmp085Calibration();}void loop(){float temperature = bmp085GetTemperature(bmp085ReadUT()); //MUST be called firstfloat pressure = bmp085GetPressure(bmp085ReadUP());float atm = pressure / 101325; // "standard atmosphere"float altitude = calcAltitude(pressure); //Uncompensated caculation - in MetersSerial.print("Temperature: ");Serial.print(temperature, 2); //display 2 decimal placesSerial.println("deg C");Serial.print("Pressure: ");Serial.print(pressure, 0); //whole number only.Serial.println(" Pa");Serial.print("Standard Atmosphere: ");Serial.println(atm, 4); //display 4 decimal placesSerial.print("Altitude: ");Serial.print(altitude, 2); //display 2 decimal placesSerial.println(" M");Serial.println();//line breakdelay(1000); //wait a second and get values again.}// Stores all of the bmp085's calibration values into global variables// Calibration values are required to calculate temp and pressure// This function should be called at the beginning of the programvoid bmp085Calibration(){ac1 = bmp085ReadInt(0xAA);ac2 = bmp085ReadInt(0xAC);ac3 = bmp085ReadInt(0xAE);ac4 = bmp085ReadInt(0xB0);ac5 = bmp085ReadInt(0xB2);ac6 = bmp085ReadInt(0xB4);b1 = bmp085ReadInt(0xB6);b2 = bmp085ReadInt(0xB8);mb = bmp085ReadInt(0xBA);mc = bmp085ReadInt(0xBC);md = bmp085ReadInt(0xBE);}// Calculate temperature in deg Cfloat bmp085GetTemperature(unsigned int ut){long x1, x2;x1 = (((long)ut - (long)ac6)*(long)ac5) >> 15;x2 = ((long)mc b5 = x1 + x2;float temp = ((b5 + 8)>>4);temp = temp /10;return temp;}// Calculate pressure given up// calibration values must be known// b5 is also required so bmp085GetTemperature(...) must be called first.// Value returned will be pressure in units of Pa.long bmp085GetPressure(unsigned long up){long x1, x2, x3, b3, b6, p;unsigned long b4, b7;b6 = b5 - 4000;// Calculate B3x1 = (b2 * (b6 * b6)>>12)>>11;x2 = (ac2 * b6)>>11;x3 = x1 + x2;b3 = (((((long)ac1)*4 + x3)>2;// Calculate B4x1 = (ac3 * b6)>>13;x2 = (b1 * ((b6 * b6)>>12))>>16;x3 = ((x1 + x2) + 2)>>2;b4 = (ac4 * (unsigned long)(x3 + 32768))>>15;b7 = ((unsigned long)(up - b3) * (50000>>OSS));if (b7 p = (b7 elsep = (b7/b4) x1 = (p>>8) * (p>>8);x1 = (x1 * 3038)>>16;x2 = (-7357 * p)>>16;p += (x1 + x2 + 3791)>>4;long temp = p;return temp;}// Read 1 byte from the BMP085 at 'address'char bmp085Read(unsigned char address){unsigned char data;Wire.beginTransmission(BMP085_ADDRESS);Wire.write(address);Wire.endTransmission();Wire.requestFrom(BMP085_ADDRESS, 1);while(!Wire.available());return Wire.read();}// Read 2 bytes from the BMP085// First byte will be from 'address'// Second byte will be from 'address'+1int bmp085ReadInt(unsigned char address){unsigned char msb, lsb;Wire.beginTransmission(BMP085_ADDRESS);Wire.write(address);Wire.endTransmission();Wire.requestFrom(BMP085_ADDRESS, 2);while(Wire.available() ;msb = Wire.read();lsb = Wire.read();return (int) msb }// Read the uncompensated temperature valueunsigned int bmp085ReadUT(){unsigned int ut;// Write 0x2E into Register 0xF4// This requests a temperature readingWire.beginTransmission(BMP085_ADDRESS);Wire.write(0xF4);Wire.write(0x2E);Wire.endTransmission();// Wait at least 4.5msdelay(5);// Read two bytes from registers 0xF6 and 0xF7ut = bmp085ReadInt(0xF6);return ut;}// Read the uncompensated pressure valueunsigned long bmp085ReadUP(){unsigned char msb, lsb, xlsb;unsigned long up = 0;// Write 0x34+(OSS // Request a pressure reading w/ oversampling settingWire.beginTransmission(BMP085_ADDRESS);Wire.write(0xF4);Wire.write(0x34 + (OSS Wire.endTransmission();// Wait for conversion, delay time dependent on OSSdelay(2 + (3 // Read register 0xF6 (MSB), 0xF7 (LSB), and 0xF8 (XLSB)msb = bmp085Read(0xF6);lsb = bmp085Read(0xF7);xlsb = bmp085Read(0xF8);up = (((unsigned long) msb > (8-OSS);return up;}void writeRegister(int deviceAddress, byte address, byte val) {Wire.beginTransmission(deviceAddress); // start transmission to deviceWire.write(address); // send register addressWire.write(val); // send value to writeWire.endTransmission(); // end transmission}int readRegister(int deviceAddress, byte address){int v;Wire.beginTransmission(deviceAddress);Wire.write(address); // register to readWire.endTransmission();Wire.requestFrom(deviceAddress, 1); // read a bytewhile(!Wire.available()) {// waiting}v = Wire.read();return v;}float calcAltitude(float pressure){float A = pressure/101325;float B = 1/5.25588;float C = pow(A,B);C = 1 - C;C = C /0.0000225577;return C;}
Módulo sensor de vibração, constituído por uma mola e uma pequena vara no interior, de modo que cada vez que o sensor é sujeito a uma vibração a sua saída será accionada.É muito útil em projectos tais como alarmes sísmicos, alarmes para carros e motos, activados por sistemas de vibração, análise de vibração em máquinas. Pode ser usado em ambientes industriais, a sua forma encapsulada apresenta alguma resistência à poeira e à água.Alimentação: 3.3V to 5VDimensões: 40.7x16.7mmPeso: 5gIO Type: DigitalSupply Voltage: 3.3V to 5VSize: 40.7*16.7mmWeight: 5gSample Code#define SensorLED 13#define SensorINPUT 3 //Connect the sensor to digital Pin 3 which is Interrupts 1.unsigned char state = 0;void setup(){pinMode(SensorLED, OUTPUT);pinMode(SensorINPUT, INPUT);attachInterrupt(1, blink, FALLING);// Trigger the blink function when the falling edge is detected}void loop(){ if(state!=0){state = 0;digitalWrite(SensorLED,HIGH);delay(500);}elsedigitalWrite(SensorLED,LOW);}void blink()//Interrupts function{ state++;}
O detector de inclinação é equivalente a um interruiptor e é usado como uma entrada digital. Quando este nível é o contato está aberto. Quando se inclina, fecha. Especificações: Tensão de alimentação: 3.3V a 5V Interface: Digital Tamanho: 30 * 20mm Peso: 3g Sample Codeint ledPin = 13; // Connect LED to pin 13int switcher = 3; // Connect Tilt sensor to Pin3void setup(){pinMode(ledPin, OUTPUT); // Set digital pin 13 to output modepinMode(switcher, INPUT); // Set digital pin 3 to input mode}void loop(){if(digitalRead(switcher)==HIGH) //Read sensor value{digitalWrite(ledPin, HIGH); // Turn on LED when the sensor is tilted}else{digitalWrite(ledPin, LOW); // Turn off LED when the sensor is not triggered}}
Este sensor IR é amplamente utilizado em controlo remoto. Com este receptor IR, o projecto Arduino pode receber o comando de qualquer controlador IR se tiver o descodificador correcto. Também será mais fácil fazer o seu próprio controlador IR usando o emissor IRCaracteristicas:Voltagem: 5VInterface:DigitalModulate Frequency: 38KhzModule Interface Socket:JST PH2.0Dimensões: 30x20mmPeso: 4gSample Code:#includeint RECV_PIN = 11;IRrecv irrecv(RECV_PIN);decode_results results;void setup(){Serial.begin(9600);irrecv.enableIRIn(); // Start the receiver}void loop() {if (irrecv.decode(&results)) {Serial.println(results.value, HEX);irrecv.resume(); // Receive the next value}
O sensor DS18B20 é um sensor digital de temperatura de Dallas Semicondutores, usado para medir o ambiente ou para fazer testes. Suporta leituras multiponto tipo Mesh Networking. Possui 3 pontos, distribuídos da seguinte forma. 1.GND: Terra2.DQ: Saída de Sinal3.VDD: AlimentaçãoCaracteristicas:Temperatura de trabalho: -55°C a 125°CResolução de temperatura: +/-0.5°C.Comunicação serial: 9-12Bits.Voltagem: 5V.Interface: Digital.3 pines JST.
Modulo sensor de ritmo cardíaco com o dedo. Este sensor é uma alternativa económica para medir o ritmo cardíaco. Compatível, com Arduino, RaspBerry e outros microcontroladores.Caracteristicas:Voltagem: 5V DCPeso: 4 gDimensões: 25 x 12 x 12 mmSample CodeThe program for this project is quite tricky to get right. Indeed, the first step is not to run the entirefinal script, but rather a test script that will gather data that we can then paste into a spreadsheet and chart to test out the smoothing algorithm (more on this later).The test script is provided in Listing Project 12.int ledPin = 13;int sensorPin = 0;double alpha = 0.75;int period = 20;double change = 0.0;void setup(){pinMode(ledPin, OUTPUT);Serial.begin(115200);}void loop(){static double oldValue = 0;static double oldChange = 0;int rawValue =analogRead(sensorPin);double value = alpha * oldValue+ (1 - alpha) * rawValue;Serial.print(rawValue);Serial.print(,);Serial.println(value);oldValue = value;delay(period);}This script reads the raw signal from the analog input and applies the smoothing function and thenwrites both values to the Serial Monitor, where we can capture them and paste them into a spreadsheet for analysis. Note that the Serial Monitors communications is set to its fastest rate tominimize the effects of the delays caused by sending the data. When you start the Serial Monitor, you will need to change the serial speed to 115200 baud.Copy and paste the captured text into a spreadsheet. The resultant data and a line chart drawn from the two columns are shown in Figure 5-17. The more jagged trace is from the raw data read from the analog port, and the smoother trace clearly has most of the noise removed. If the smoothed trace shows significant noise-in particular, any false peaks that will confuse the monitor-increase the level of smoothing by decreasing the value of alpha.Once you have found the right value of alpha for your sensor arrangement, you can transfer thisvalue into the real sketch and switch over to using the real sketch rather than the test sketch. The real sketch is provided in the following listing on the next page.int ledPin = 13;int sensorPin = 0;double alpha = 0.75;int period = 20;double change = 0.0;void setup(){pinMode(ledPin, OUTPUT);Serial.begin(115200);}void loop(){static double oldValue = 0;static double oldChange = 0;int rawValue =analogRead(sensorPin);double value = alpha * oldValue+ (1 - alpha) * rawValue;Serial.print(rawValue);Serial.print(,);Serial.println(value);oldValue = value;delay(period);}Link: http://wiki.keyestudio.com/index.php/Ks0015_keyestudio_Pulse_Rate_Monitor
O sensor de rotação analógico é compatível com Arduino. Baseado num potenciómetro. A sua voltagem pode-se dividir em 1024, fácil de conectar a Arduino. Combinado com outros sensores, podemos realizar projectos interessantes lendo o valor analógico desde a porta IO.Caracteristicas:Voltagem: 3.3V to 5VInterface: AnalógicoDimensões: 30x20mmSample code:///Arduino Sample Codevoid setup(){Serial.begin(9600); //Set serial baud rate to 9600 bps}void loop(){int val;val=analogRead(0);//Read rotation sensor value from analog 0Serial.println(val,DEC);//Print the value to serial portdelay(100);}Link http://wiki.keyestudio.com/index.php/Ks0014_keyestudio_Analog_Rotation_Sensor