Recent Posts

Pages: [1] 2 3 ... 10
1
Français / Simple Probleme
Last post by Tazio5060 - Today at 12:58 pm
Bonjour, je suis débutant, et j'ai un message d'erreur lorsque je vérifie ce code :
Code: [Select]
int pinBouton, pinLed;
boolean etatAllumage
void setup(){
  Serial.begin(9600);
  pinBouton=2;
  pinLed=4;
  etatAllumage=0;

  pinMode(pinBouton, INPUT_PULLUP);
  pinMode(pinLed, OUTPUT);
}
  // put your setup code here, to run once:

void loop(){
  Serial.print(etatAllumage);
  if (etatAllumage)
  {
    digitalWrite(pinLed, HIGH);
  }
  else
  {
    digitalWrite(pinLed,LOW);
  }
  boolean etatPinBouton=digitalRead(pinBouton);
  Serial.println(etatPinBouton);

  if(!etatPinBouton)
  {
    if (etatAllumage)
    {
      etatAllumage=0;
    }
    else
    {
      etatAllumage=1;
    }
  }
  delay(200);
  // put your main code here, to run repeatedly:

}


Ils me mettent :
"expected initializer before 'void'"

Merci pour votre aide !
2
Hardware / Re: Informazioni sul HC-06
Last post by DarkShadows - Today at 12:56 pm
Il codice di Patrick funziona però il led sembra "lampeggiare" , non so se capite cosa intendo...
3
I was using OrCad during the University years and later at work.
Its a professional package, very expesnsive and out of reach for a hobbyist

As a hobby  I ve been using Eagle -free version for a few years now and I am quite happy with its limitations.

I particularly like the fact that when you add a component in the schematic view, it automatically appears in the PCB view for you to place it. Something which doesnt apply for KiCAD :(

However, since the change of its ownership to Autodesk and the new licensing policy imposed, I want to switch to KiCad which is sure to remain always free. However I seem to always postpone putting the effort to learn another package!

I know I  have to make the switch at sometime.
I am still using an older version of Eagle before the new changes took effect.
4
Hardware / Re: Informazioni sul HC-06
Last post by brunello22 - Today at 12:52 pm

Code: [Select]
if (x=='H' && stato=="HIGH"){
   .........
    if (x=='H' && stato=="LOW"){


Forse se togliessi quelle virgolette su HIGH e LOW funzionerebbe meglio
5
Deutsch / Re: Wall Clock (WAnduhr)
Last post by Falke1166 - Today at 12:51 pm
also im sketch zeigt er keine uhr zeit und keine vernünftigen zahlen
6
Project Guidance / Re: Alarm clock project
Last post by snirboomi - Today at 12:51 pm
OK thank you, I'll try some things with your advice.
7
Deutsch / Re: Arduino Micro I2C Problem
Last post by combie - Today at 12:51 pm
Quote
Die maximale Bus-Kapazität wird mit 400pF angegeben
Maximal!

Quote
Daher sollte es der Hardware eigentlich nichts ausmachen (bezüglich der max. Stromanstiegsrate) , wenn die 1nF über den 100R Widerstand mit dem Ausgang verbunden sind.
Du verwendest 1000pF, direkt an einem Ausgang.

Sage nicht nein, oder "das ist kein Ausgang".
Denn die Ausgangsstufen von Slave und Master sind identisch aufgebaut.

Und auch der Slave zappelt aktiv an den Leitungen. Genannt sei dazu das Clockstretching.


Frage:
Woher hast du die Idee, I2C Leitungen so entstören zu wollen?
Das würde mich wirklich interessieren....

Tipp:
PCA9600
MAX14937
8
Portugues / Re: Interligar dois arduinos
Last post by penguim - Today at 12:50 pm
Ao ver os valores que enviei para o monitor de serie, reparei que quando eu clico no ecrã touch par acionar o motor, a variavel valor fica sempre com o valor de 1 após clicar no botão, já coloquei a variavel valor a 0 no final do void loop() mas o valor permanence 1 após clicar no botão do ecrã touch.
Ao ver os valores que enviei para o monitor de serie, reparei que quando eu clico no ecrã touch par acionar o motor, a variavel valor fica sempre com o valor de 1 após clicar no botão, já coloquei a variavel valor a 0 no final do void loop() mas o valor permanence 1 após clicar no botão do ecrã touch
9
Maybe there are minor differences between arduino types, I was using a Mega for that.

There is no way to get the claimed results (for example the single 'o') with the code you posted.

You could only send as much data as there is (up to the max of 32) and add the string delimiter in the receiver.

You should at least make shure that you don't write outside the transmit buffer.
10
Portugues / Re: Interligar dois arduinos
Last post by penguim - Today at 12:45 pm
Para eu queria saber como posso enviar mais do que um valor de um arduino para o outro, é que eu vou ter 3 microswitchs e 3 sensores pir, e queria enviar os valores que der. É que eu tive a verificar quantos bytes estão disponiveis para ler, e acho que não está correto a programação ou o valor.
Master
Code: [Select]

#include <Wire.h>
#include <Stepper.h>
#define SLAVE 0x1
#define microswitch 7
int ler_microswitch;
unsigned char ret=0;
byte ler=0;
int valor;
const int steps_motor_porta = 400;
Stepper Stepper_porta(steps_motor_porta,8,10,9,11);
void setup()
{
 Serial.begin(9600);
 Wire.begin();
 pinMode(microswitch,INPUT);
 Stepper_porta.setSpeed(60);
}

void loop()
{
  ler_microswitch=digitalRead(microswitch);
  Serial.print("Valor:");
  Serial.println(ler_microswitch);
  Wire.beginTransmission(SLAVE);
  Wire.write(ler_microswitch);
  ret=Wire.endTransmission();
  Serial.print("Retorno:");
  Serial.print(ret);
  Wire.requestFrom(SLAVE,3);
  ler=Wire.available();
  Serial.print("Nºbytes:");
  Serial.println(ler);
  valor=Wire.read();
  if(valor==1)
  {
    Stepper_porta.step(-512);
  }
  Stepper_porta.step(0);
  valor=0;
}


Caso eu leia os bytes disponíveis no master, o valor que mostrará será o nº de bytes configurado na função wire.requestfrom().
Slave
Code: [Select]


#include <Wire.h>
#include "TouchScreen.h"//biblioteca para touch
#include <Adafruit_GFX.h> // Biblioteca Gráfica Adafruit
#include <MCUFRIEND_kbv.h> // Bibllioteca para controle do lcd

//serve para alterar o tipo de letra
#include <Fonts/FreeMonoBold9pt7b.h>
#include <Fonts/FreeSerifBold9pt7b.h>
#include <Fonts/FreeSerifBoldItalic9pt7b.h>
#include <Fonts/FreeSansBold9pt7b.h>
#define YP A1  
#define XM A2  
#define YM 7  
#define XP 6  
//Coordenadas do display
#define TS_MINX 112
#define TS_MINY 103
#define TS_MAXX 972
#define TS_MAXY 961
//Definir a pressão do touch minima e maxima
#define MINPRESSURE 10
#define MAXPRESSURE 1000
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);//(300)sensibilidade

//------Cores a utilizar-----
#define PRETO    0x0000
#define AZUL     0x001F
#define VERMELHO 0xF800
#define VERDE    0x07E0
#define CIANO    0x07FF
#define AMARELO  0xFFE0
#define BRANCO   0xFFFF
#define CINZENTO 0x7BEF
#define LARANJA  0xFD20
#define CINZENTO_C 0xC618

//-----Criação de objeto de comunicação com o display----
MCUFRIEND_kbv tft;
#define i2c_address 0x1
int led = 27;
int microswitch;
int valor=0;
byte ler=0;
void setup()
{
  Serial.begin(9600);
  pinMode(led,OUTPUT);
  Wire.begin(i2c_address);
  Wire.onReceive(receber_dados);
  ler=Wire.available();
  uint16_t ID = tft.readID();//leitura do controlador do display
  tft.begin(ID);
  Wire.onRequest(mandar_dados);
}

void receber_dados()
{
  microswitch = Wire.read();
}

TSPoint waitTouch()
{
  TSPoint p;
  do {
    p = ts.getPoint();
    pinMode(XM, OUTPUT);
    pinMode(YP, OUTPUT);
  } while((p.z < MINPRESSURE )|| (p.z > MAXPRESSURE));
  p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
  p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);
  return p;
 }
void loop()
{
  Serial.print("Nºbytes:");
  Serial.println(ler);
 tft.setRotation(1);
 tft.fillRect(20,40,270,50,CINZENTO_C);
  tft.setFont(&FreeSerifBold9pt7b);
  tft.setCursor(102,68);
  tft.setTextColor(AZUL);
  tft.setTextSize(2);
  tft.print("PISO 0");
  tft.setCursor(90,84);
  tft.setTextSize(1);
  tft.setTextColor(AZUL);
  tft.print("Sala de jogos/Bar");
   if(microswitch==1)
 {
  tft.setCursor(60,160);
  digitalWrite(led,HIGH);
  tft.println("Led ligado!");
 }
 else
 {
  tft.setCursor(60,190);
  digitalWrite(led,LOW);
  tft.println("Led desligado!");
 }
  TSPoint p = waitTouch();
 if((p.x>20) && (p.x<=290) && (p.y>40) && (p.y<=110))
    {
        tft.fillScreen(PRETO);
        valor=1;//abre a porta
        tft.fillScreen(PRETO);
        tft.setFont(&FreeMonoBold9pt7b);
        tft.setCursor(30,60);
        tft.setTextSize(2);
        tft.setTextColor(VERDE);
        tft.print("PORTA ABERTA");
        }
 valor=0;
}
void mandar_dados()
{
  Wire.write(valor);
}

caso leia no slave o valor é 0, por isso não sei se a programação está mal... a variavel que usei foi LER, estou a ler em ambas as partes, mas apenas enviei para ler os bytes uma parte, ou a do master ou a do slave.
Pages: [1] 2 3 ... 10