Recent Posts

Pages: [1] 2 3 ... 10
1
Not sure whether this is the right place to post this. I set up a very simple configuration using:

1 Pro Mini
1 Oled display
6 Peltiers
2 Thermometers
2 0,7A Fans
6 Relays
1 AC-DC adaptor 12V - 50A

The job is only about switching Peltiers on/of in order to keep a constant temperature over a metal plate.

PROBLEM: The sketch runs fine when the Pro Mini is connected to a computer and powered via USB. When I power it through the AC-DC adaptor, using a LM7805 to reduce 12 to 5V, the Pro Mini goes crazy. I tried 12V directly to raw and the pro mini not even blink.

What have I tried so far and did not work:

1- Putting the AC-DV far away from Pro Mini (field interference?)
2- Setting a 2nd AC-DC 5V totally separated from the 12 V, not sharing ground or whatsoever

Any clue about what could be the reason and solution to this problem?
2
Project Guidance / Re: RF Inquires
Last post by Ericwa - Today at 01:49 am
Okay, I just bought the Adafruit two button 315MHz keyfob and I own the matching RF L4 Receiver - 315MHz (Latching). I'm thinking by all accounts these two should pair. I'm pretty sure if I could get a signal transferred between the two I can stop bugging you guys. I think I'll be good from there because at worse I maybe able to stack another shield on top. I have the same set up as before shown in the picture and I am using the sample code form the rc-switch library, but I am not getting any output. I would like to print to the serial monitor, what am I doing wrong?

I went by this example

Sample code

3
Deutsch / Re: Mega2560 den Attiny 2313 p...
Last post by agmue - Today at 01:49 am
Wenn ich nach "fuse" suche, stoße ich in "Table 21-8. Serial Programming Instruction Set" auf "Write Fuse bits", "Write Fuse High bits" und "Write Extended Fuse Bits" sowie Read.

Für mich hätte das klarer beschrieben sein dürfen. Aber wenn man weiß, daß es geht, findet man es dann auch im Datenblatt.

@combie: Danke für die Erläuterungen!
4
Project Guidance / Re: get crank angle
Last post by johnwasser - Today at 01:48 am
to my understanding resistance is increased the faster the wheel turns what kind of sensor is this ??
Since an inductive pickup with a magnetized gear would produce higher spikes as the speed increased, I'm guessing this is what is called a "Variable Reluctance" sensor.  According to wikipedia:
Quote
variable reluctancesensor (commonly called a VR sensor) is a transducer that, when combined with very basic electronic circuitry, detects the change in presence or proximity of ferrous objects.
They go on to talk about interface circuits:
Quote
VR sensor interface circuits VR sensors need waveform shaping for their output to be digitally readable. The normal output of a VR sensor is an analog signal, shaped much like a sine wave. The frequency and amplitude of the analog signal is proportional to the target's velocity. This waveform needs to be squared up, and flattened off by a comparator like electronic chip to be digitally readable. While discrete VR sensor interface circuits can be implemented, the semiconductor industry also offers integrated solutions. Examples are the MAX9924 to MAX9927 VR sensor interface IC from Maxim Integrated products, LM1815 VR sensor amplifier from National Semiconductor and NCV1124 from ON semiconductor. An integrated VR sensor interface circuit like the MAX9924 features a differential input stage to provide enhanced noise immunity, Precision Amplifier and Comparator with user enabled Internal Adaptive Peak Threshold or user programmed external threshold to provide a wide dynamic range and zero-crossing detection circuit to provide accurate phase Information.
Sounds like you should get one of those chips on a breakout board.
5
Software / Re: 8 Switcher controlador de ...
Last post by surbyte - Today at 01:48 am
No se si ya se leyo o no se leyó pero Terminado el tema enre ArduMyth y Renzo2314

Y Renzo2314 yo no tengo tiempo para estar averiguando el nivel de programación que tiene cada persona. Respondo 20 mensajes o mas diarios, tu crees que alguno de los 10 novatos que llegan van a tolerar que los interrogue de ese modo?

Vamos a tu problema y por favor, terminado el debate/discusión planteado.

Esto es lo que te he hecho que no se acercará totlamente a tu necesitadad pero te va a servir. Comence con seleccionar reles y pedales y luego me perdí porque no entiendo bien tu necesidad a falta de un código que nunca mostraste.
Es mas, ahora me doy cuenta que en muchas circunstancias casi ni respondo.. pero con la intención de que salgas del atasco y luego compartas lo que resuelvas, aca tienes.


Code: [Select]
#include <EEPROM.h>

#define RELE_INICIAL   20
#define CANT_RELES     16
#define PEDALINICIAL   2
#define CANT_PEDALES   8

const char *textos[3] = {"Distor", "Flager", "Delay"};

struct datos{
  byte pedal1;
  byte pedal2;
  byte swtich;
  unsigned long tiempo;
  char texto;
};

datos dpedal[3];
int eeAddress = 0; //EEPROM address to start reading from

void setup() {
  Serial.begin(9600);
  Serial.println("Inicio ");
  dpedal[0].pedal1 =  1;
  dpedal[0].pedal2 =  2;
  dpedal[1].pedal1 =  1;
  dpedal[1].pedal2 =  3;
  dpedal[2].pedal1 =  2;
  dpedal[2].pedal2 =  5;

  dpedal[0].tiempo =  5000;
  dpedal[1].tiempo =  5000;
  dpedal[2].tiempo = 10000;
                //012345678901234567890123456789
 
  dpedal[0].texto = 0;
  dpedal[1].texto = 1;
  dpedal[2].texto = 2;

  Serial.println("Datos inicializados antes de EEPROM put y get");
  printData(dpedal[0]);
  printData(dpedal[1]);
  printData(dpedal[2]);

  Serial.println("Datos almacenados en EEPROM.");
  eeAddress = 0;
  Serial.println("1er struct en direccion 0");
  EEPROM.put(eeAddress, dpedal[0]);
  eeAddress += sizeof(datos);
  Serial.println("2do struct en direccion " + String(eeAddress));
  EEPROM.put(eeAddress, dpedal[1]);
  eeAddress += sizeof(datos);
  Serial.println("3er struct en direccion " + String(eeAddress));
  EEPROM.put(eeAddress, dpedal[2]);

  Serial.println("Datos recuperados de EEPROM.");
  datos custom;
  eeAddress = 0;
  EEPROM.get(eeAddress, custom);
  printData(custom);
  eeAddress += sizeof(custom);
  EEPROM.get(eeAddress, custom);
  printData(custom);
  eeAddress += sizeof(custom);
  EEPROM.get(eeAddress, custom);
  printData(custom);

}// end setup

void loop() {
   
}

void printData(datos temp) {
    Serial.print("Pedal1 :");
    Serial.println(temp.pedal1);

    Serial.print("Pedal2 :");
    Serial.println(temp.pedal2);

    Serial.print("Delay :");
    Serial.println(temp.tiempo);

    Serial.print("Texto LCD :");
    Serial.println(textos[temp.texto]);
}


Este codigo crea una estructura bastante aproximada a tu necesidad.
pedal1 y pedal2 pueden cambiarse segun tu requerimiento. Veras que los inicializo como tu quieres.
tiempo es la variable que alojara eluso de millis() o sea tu análogo delay() pero no uses delay.
textos tiene las etiquetas que mostrará el LCD que puedes cambiar a gusto
y solo almacenamos un número que las direcciona. Todo muy simple para el almacenamiento.
Exactamente lo que te hemos dicho desde el comienzo.

Esto es algo que con prueba error y sin estrcutura, pudiste haber sacado con los ejemplos de get y put que son muy claros.

Ahora tienes otro que espero ayude.
6
Programming Questions / Re: Problem with BME280
Last post by groundFungus - Today at 01:40 am
When I have trouble with an I2C devices the first thing that I do is run an I2C scanner to confirm the address and communication on the bus.
7
Project Guidance / Re: Need advice on GPS chip an...
Last post by EmanEric - Today at 01:39 am
:( The largest antenna I could possible fit on the PCB would be about 20x20mm, and it would also need to be as thin as possible. If you have any ideas of antennas that would work better let me know. I am quite curious how commercial fitness watches get quite good GPS with a tiny case. I guess it is down to rigorous tuning and testing.
8
Project Guidance / Re: powering device at 1.8V
Last post by Wawa - Today at 01:39 am
Digital switch points for a proMini are <0.3*VCC for a LOW and >0.6*VCC for a HIGH.

If you are using a 3.3volt (8Mhz) ProMini, then the MCU expects a digital HIGH of at least 0.6*3.3= 1.98volt.
A device powered with 1.8volt can't deliver that.

Two ways to solve this.
1) adding a level shifter breakout board.
2) running the Arduino on a lower voltage.

The Arduino stops working below a certain supply voltage.
That can be fixed by lowering the clock frequency to 4Mhz, and configuration changes.
Leo..

9
I'm using a SIM800l modem where the SMS in the AT commad uses the GSM character set.
See also: http://www.sms-expert.de/pdf/SMS-Zeichensatz_GSM_7-Bit_(GSM_03.38).pdf

Arduino uses UTF-8 in the serial monitor. For debugging I want to convert it.
Also when I use the String type which I guess uses also UTF-8 encoding I want to convert to GSM 7-bit format for sending SMS via AT command. I want to use some of the special characters used in GSM 7-bit format like äöüÖÄÜ etc. which are different in both character sets.
So I'm looking for a fast string conversion function.
10
Project Guidance / Re: analogWrite not working
Last post by TomGeorge - Today at 01:36 am
IRRemote library uses timer2.

Timer2 is responsible for PWM on pin 3 and 11, so when IRRemote is in use, PWM is not available on those pins.
Good catch...

This should help, use another PWM pin except pins 3 and 11.

https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM

Tom... :)
Pages: [1] 2 3 ... 10