Recent Posts

Pages: [1] 2 3 ... 10
1
Remove the square brackets in the struct
Code: [Select]

typedef struct
{

  char* SKU[];
  char* ProductName[];
  char* Description[];
  float MRP;
  float OfferPrice;
 
} ProductData;


E.g. char* SKU[] declares an array of pointers, not a pointer (to an array). char* SKU declare a pointer (to e.g. an array).
2
Code: [Select]
typedef struct
{

  char* SKU;
  char* ProductName;
  char* Description;
  float MRP;
  float OfferPrice;
 
} ProductData;
3
Displays / display different program usi...
Last post by Platon123 - Today at 07:29 am
Sorry for my last Post !! I am relatively new to this forum  . Coming back  I have Menubackend  program Here i have to display

Menu  - Menu A - Display a program A (for example  i want to know PWM delay)
         |
          - MenuB -  Display a program B
         |
          - Menu C - Dplay a program C
4
Project Guidance / Re: water leak system
Last post by immot - Today at 07:24 am
what would interest us in you knowing is item #7

sorry about that

Code: [Select]


int analogPin=1;
int led=12;
int val=0;
int data=0;

void setup()
{
    pinMode(led,OUTPUT);
    Serial.begin(9600);
}


void loop()
{
    val=analogRead(analogPin);

    if(val>700)
    {
        digitalWrite(led,HIGH);
    }
    else
    {
        digitalWrite(led,LOW);
    }

    data=val;
    Serial.println(data);
    delay(100);
}

5
Pin 16 in an Uno is analog input 2 and that matches the schematic. The analog inputs continue with numbers after the digitial inputs (A0 equals 14).

Code: [Select]

void setup() {
  Serial.begin(9600);
  Serial.println(A2);
}
6
Hi,

I am trying to declare following Struct:

Code: [Select]


typedef struct
{

  char* SKU[];
  char* ProductName[];
  char* Description[];
  float MRP;
  float OfferPrice;
 
} ProductData;

ProductData Product[2]{
 
  {"AH00007","Blend Micro","Blend Micro is a RedBearLab Arduino at Heart integrated development board, they have \"blend\"ed Arduino with Bluetooth 4.0 Low Energy (aka BLE or Bluetooth Smart) into a single board. It is targeted for makers to develop low power Internet-Of-Things (IoT) projects quickly and easily.",20,15},
  {"GBX00004","Genuino MKR1000","Genuino MKR1000 has been designed to offer a practical and cost effective solution for makers seeking to add WiFi connectivity to their projects with minimal previous experience in networking. The design includes a Li-Po charging circuit that allows the Genuino MKR1000 to run on battery power or external 5V, charging the Li-Po battery while running on external power. Switching from one source to the other is done automatically.",30.99,20.99}
 
 
  };





But I am getting errors while compilation:


Code: [Select]


Struct:22: error: too many initializers for 'ProductData'
   };
   ^
Struct:22: error: too many initializers for 'ProductData'
Struct:22: error: cannot convert 'const char*' to 'float' in initialization
Struct:22: error: cannot convert 'const char*' to 'float' in initialization
Struct:22: error: cannot convert 'const char*' to 'float' in initialization
Struct:22: error: cannot convert 'const char*' to 'float' in initialization
exit status 1
too many initializers for 'ProductData'

7
Project Guidance / Re: Interactive Talking Bot
Last post by TomGeorge - Today at 07:14 am
Hi,
Hi I have Biped working very well , with lots of different sensors/shields etc.. Now i want to bring it to a next level where I would like it to interact with people , as in  to provide audio response to certain questions etc
what is the easiest way to do it , for starters , it shall be able to introduce itself and then shall be able to reply some basic questions like how are you , what is time / date ( I have  RTC shield )  

Please help where where shall i start . I am  low on budget to buy any expensive shield ( TTS / AUDIO ) more than 3 or 4 USD, as have already spend lots of money on the Biped humanoid ;)  
Vinay
What pins and how much power have you got to spare.
What model Arduino are you using and what shields?
Tom... :)
8
Project Guidance / Re: water leak system
Last post by immot - Today at 07:14 am
You do know the Arduino uses C / C++ ?

sure
thanks, i should study embedded linux
9
Software / Re: Problemas al guardad el ID...
Last post by carloszuniga - Today at 07:12 am
Hice eso mismo pero haciendo funciones.

Code: [Select]

#include <Keypad.h>
#include <LiquidCrystal.h>
#include <EEPROM.h>

///////////////////////LCD///////////////////////////////////////

//Incializa la libreria con los numeros de pines a interactuar el LCD
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

///////////////////////////////////////////////////////////////////


//////////////Teclado/////////////////////////////////////////////

//Definición de filas y columnas
const byte Filas = 4; //Cuatro filas
const byte Cols = 4; //Cuatro columnas

//Definición de los pines
byte Pins_Filas[] = {3, 2, 1, 0}; //Pines Arduino para las filas
byte Pins_Cols[] =  {4, 5, 6, 7}; // Pines Arduino para las columnas


//Definición de las teclas
char Teclas [ Filas ][ Cols ] =
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

//Se crea una instancia llamada Teclado1 y el cual asignara las teclas que tenemos en el arreglo "Teclas" y le decimos
//que se han conectados los pines de las filas y columnas


Keypad kpd = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);



char Teclado ()
{
  do{
    
    char Tecla = kpd.getKey();         // lee el teclado por si hay alguna tecla pulsada
    
    if(Tecla != NO_KEY)          
    {
      return Tecla;
    }  
  } while (1);
}

int i = 0;
static int cnt = 0;
char kp;
char Estado;
char Menu;
char Ingresar_Contrasena[10];
char Contrasena1[] = {"123456"};
char Ingresar_Contrasena_Adm[10];
int short Peligro = A1;

void setup() {
 lcd.begin(16, 4); //Configura el LCD con el numero de columas y filas. Para un LCD 16x4: 16 columnas y 4 filas.
  lcd.display(); //Enciende el display
}

void loop() {

Ingrese_Contrasena_Admnistrador();

if ((Ingresar_Contrasena[0] == '\0') || (Ingresar_Contrasena[1] == '\0') || (Ingresar_Contrasena[2] == '\0') || (Ingresar_Contrasena[3] == '\0') || (Ingresar_Contrasena[4] == '\0') || (Ingresar_Contrasena[5] == '\0') || (Ingresar_Contrasena[6] == '\0') || (Ingresar_Contrasena[7] == '\0') || (Ingresar_Contrasena[8] == '\0') || (Ingresar_Contrasena[9] == '\0')){

   if((cnt<3) && (strcmp (Contrasena1, Ingresar_Contrasena)==0) && (Estado == 0)){
                Menu=1;
        }
 
         //Si estado es 1 y las teclas pulsadas coinciden con la contraseña guardada en la memoria eeprom     accede al menu

         else if ((cnt<3) && (strcmp (Ingresar_Contrasena_Adm, Ingresar_Contrasena)==0) && (Estado == 1)){
                    Menu=1;
         }

          //Si ninguna de las contraseña es correcta muestra el mensaje incorrecto
          else{
                cnt++;
                lcd.clear(); //Limpia pantalla
                lcd.setCursor(2,1);lcd.print("INCORRECTO");    
                delay(100);
                goto borrar;                                                 //------------------------------------Goto
                
           }
                                        
            //Si el usuario ingreso mal 3 veces la contraseña muestra el mensaje
            
            if(cnt==3){
                cnt=0;
                lcd.clear(); //Limpia pantalla
                lcd.setCursor(4,2);lcd.print("PELIGRO");     //Imprime en la LCD
                digitalWrite(Peligro, HIGH);
                delay(1000);
                digitalWrite(Peligro, LOW);
             }

             //---------------------------Menu del admnistrador-----------------------------
                                        
              if(Menu==1){
                    lcd.clear();  //Limpia pantalla
                    lcd.setCursor(1,0);lcd.print("1. Ingresar");      //Imprime en la LCD
                    lcd.setCursor(1,2);lcd.print("2. Usuarios");      //Imprime en la LCD
                    lcd.setCursor(1,3);lcd.print("3. Cambiar Pass");   //Imprime en la LCD
                    
                   delay(100);  //Tiempo que muestra el menu.
                   //Aqui va otro switch

            }

  }


}


void Ingrese_Contrasena_Admnistrador(){
  
   lcd.clear();//Limpia Pantalla
   lcd.setCursor(1,0);lcd.print("Administrador");     //Imprime en la LCD
   lcd.setCursor(1,1);lcd.print("Ingresar Pass");     //Imprime en la LCD
  
   for( i=0; i < sizeof(Ingresar_Contrasena); i++){

            kp = Teclado ();
            Ingresar_Contrasena[i]=kp;      
            
            if(Ingresar_Contrasena[i]=='#'){
                Ingresar_Contrasena[i] = '\0'; //Sustituir por el caracter nul    
                break;
             }
        
             else{ //Si presiona * borra pantalla
                if(Ingresar_Contrasena[i]=='*'){
                   Ingrese_Contrasena_Admnistrador();   //Sustituí la funcion por el goto
                 }
             }
        
            if(i == (sizeof(Ingresar_Contrasena)- 1)){
              i--;
            }

      lcd.setCursor(3+i,3); lcd.print('*'); //Imprime en la lcd
   }
}



Parecia que iba a funcionar remplazando el goto por la función Ingrese_Contrasena_Admnistrador();

Code: [Select]


 else{ //Si presiona * borra pantalla
        if(Ingresar_Contrasena[i]=='*'){
            Ingrese_Contrasena_Admnistrador();   //Sustituí la funcion por el goto
         }
}



pero da errores al momento de validar la contraseña.
10
I'm not sure if there is a pin 16 ...



Would you guys help me to see if there is a mistake, or am I missing something?

Pages: [1] 2 3 ... 10

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy