Recent Posts

Pages: [1] 2 3 ... 10
Device Hacking / Re: eBay Power Bank Sellers
Last post by Coding Badly - Today at 07:38 pm
I can assure you that I am not encouraging anyone to commit a serious crime.  In fact I am clearly pointing out eBay sellers are the ones committing the crime here.
Stealing from a thief is still stealing.

If I were the one committing a crime eBay would have already banned me or had me arrested as I communicate with them very often about this very issue.
That is the dictionary definition of specious reasoning.

Deutsch / Re: Hilfe zur Verdrahtung bzw....
Last post by uwefed - Today at 07:37 pm
Das Bild sagt wenig aus.

9 Eingänge und 3 Ausgänge sind 11 Pins. Der Arduino UNO hat 20 (alle Pins auch die Analogen sind digitale Ein/Ausgänge verwendbar)
Jetzt weiß ich nicht welches Display Du hast und wieviele Pins Du dafür brauchst.

Die Näherungsschalter sind NPN, +/-/S .. wäre es sauber diese direkt mit Pull_Up im UNO anzuhängen?
Ja. Die Massen müssen verbunden sein.
Grüße Uwe
General Electronics / Re: Log distance Signal
Last post by MarkT - Today at 07:36 pm
For that long a run an optocoupler is wise, to prevent spikes destroying either Arduino when there is nearby lightning or heavy mains switching transients.
random does not produce random numbers. random reads from a list of random numbers. random will always produce the same numbers in the same order, because it always reads from the same list

if you want somewhat randomish numbers you have to tell random to select from some random location in the list

Code: [Select]

it does not have to be A0. any analog pin that is not connected may be used
I would like to transfer this project made with a PIC microcontroller into an Arduino Nano:

The link contains both the PIC code and the circuitboard.
This sounds like there is a much easier route to get a working project.
Français / carte uno ' servos 8 BP
Last post by Philppe - Today at 07:31 pm
Code: [Select]
bonjour ,
j'ai arrange le code mais le servo 4  est sur la pin 13 ne fonctionne pas
j'ai une autre question j'ai impression que les pin 0,1 et 13 ne fonctionne pas
si j'alimente mes servos séparément avec une lipo 7,7 en branchant sur les servos parce que 5 volt ne suffises pas comment 'alimente la carte ? normalement avec la prise alim ou la pile je voudrais pas détruire ma carte
j'espère bien avoir respecter les règles d'écriture du message

#include <Servo.h>
// global variables
int bp1 = 2;
int bp2 = 3;
int bp3 = 4;
int bp4 = 5;
int bp5 = 6;
int bp6 = 7;
int bp7 = 8;
int bp8 = 9;

int initial_position1 = 90;
int initial_position2 = 90;
int initial_position3 = 90;
int initial_position4 = 90;
/* control servo */
Servo monServomoteur1;
Servo monServomoteur2;
Servo monServomoteur3;
Servo monServomoteur4;

int position1 = 90;
int position2 = 90;
int position3 = 90;
int position4 = 90;
void setup()
  // Bouton poussoir
  pinMode(bp1, INPUT_PULLUP);
  pinMode(bp2, INPUT_PULLUP);
  pinMode(bp3, INPUT_PULLUP);
  pinMode(bp4, INPUT_PULLUP);
  pinMode(bp5, INPUT_PULLUP);
  pinMode(bp6, INPUT_PULLUP);
  pinMode(bp7, INPUT_PULLUP);
  pinMode(bp8, INPUT_PULLUP);

  // Attache le servomoteur
  monServomoteur1.write (initial_position1);
  monServomoteur2.write (initial_position2);
  monServomoteur3.write (initial_position3);
  monServomoteur4.write (initial_position4);

void loop()
  // Récuperer valeur de bp
  int b1 = digitalRead(bp1);
  int b2 = digitalRead(bp2);
  int b3 = digitalRead(bp3);
  int b4 = digitalRead(bp4);
  int b5 = digitalRead(bp5);
  int b6 = digitalRead(bp6);
  int b7 = digitalRead(bp7);
  int b8 = digitalRead(bp8);

  // Si Appuie BP1
  if (b1 == LOW) {
    position1 = position1 + 10;
    if (position1 > 180) {
      position1 = 180;

  // Si Appuie BP2
  if (b2 == LOW) {
    position1 = position1 - 10;
    if (position1 < 0) {
      position1 = 0;

  // Si Appuie BP3
  if (b3 == LOW) {
    position2 = position2 + 10;
    if (position2 > 180) {
      position2 = 180;
  // Si Appuie BP4
  if (b4 == LOW) {
    position2 = position2 - 10;
    if (position2 < 0) {
      position2 = 0;
  // Si Appuie BP5
  if (b5 == LOW) {
    position3 = position3 + 10;
    if (position3 > 180) {
      position3 = 180;

  // Si Appuie BP6
  if (b6 == LOW) {
    position3 = position3 - 10;
    if (position3 < 0) {
      position3 = 0;
    // Si Appuie BP7
    if (b7 == LOW) {
      position4 = position4 + 10;
      if (position4 > 180) {
        position4 = 180;

    // Si Appuie BP8
    if (b8 == LOW) {
      position4 = position4 - 10;
      if (position4 < 0) {
        position4 = 0;
  Serial.print("Position du servo1 : "); Serial.println(position1);
  Serial.print("Position du servo2 : "); Serial.println(position2);
  Serial.print("Position du servo3 : "); Serial.println(position3);
  Serial.print("Position du servo4 : "); Serial.println(position4);
Thank you for the information! It works perfectly now. Thanks a lot!  :)  :)
If your stuck on an Arduino problem, you can as a last reort read the reference page for the function you are having problems with, a Google search on;

'Arduino softwareserial reference'

Should point to the reference page for SoftWareSerial.

That page will tell you that SoftwareSerial RX is not supported on pins 3 or 4 of a Mega;

Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).

I can t find a library for the RTC M41T00 it has the same adresse as the DS1307 can i make some changes in this library and use it for the M41T00? Does anyone has an experience working with M41T00?
helppp pleaseeeee :smiley-confuse:
ho una scheda Arduino Uno e sto provando a realizzare un programmino che simuli un antifurto tramite laser, fotoresistenza, buzzer, etc. Nel momento in cui il buzzer comincia a suonare il valore della variabile flag passa da 0 a 1; quando il sistema (tramite bottone) viene spento, arduino deve connettersi ad un server locale (avendo usato XAMPP si fa riferimento al mio pc), mediante pagina php salvata opportunamente in 'htdocs' esso va a scrivere i dati nel database creato con mysql (ho usato sempre XAMPP). Il problema sorge nel momento in cui provo a instaurare una connessione con il server (il cui indirizzo IP è ovviamente quello del mio pc): la funzione client.connect(server,80) restituisce 0 come valore di ritorno e la connessione, ovviamente, non avviene. Ho provato in più modi a risolvere ma tutto inutile! Allego codice in seguito e ringrazio anticipatamente per le risposte!

Code: [Select]

#include <SPI.h>
#include <Ethernet.h>
#include <Dhcp.h>

byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x3F, 0x5C};   //MAC ADDRESS: serve per inizializzare il controller e la connessione Ethernet

IPAddress server(192, 168, 1, 3);  //indirizzo server web (locale)
IPAddress ip(192, 168, 1, 200);  //indirizzo ip dell'Arduino che uso se fallisce il tentativo DHCP
                              //indirizzo ip che dipende dalla mia sottorete
EthernetClient client;      //utilizzo la classe per poter comunicare con un server attraverso una socket
String strURL = "";
float temp = 0;

// Definiamo delle costanti 
const int rosso = 9;
const int verde = 8;
const int pulsante = 7;
const int laser = 5;
int stato=0; // All`apertura il sistema è spento
int val=0; // Memorizza il valore dello stato tra un ciclo e l'altro
int luce;
int flag=0;

void setup() {      // All'interno della funzione 'setup' inserisco il codice di inizializzazione. Inizializza tutte le impostazioni e le istruzioni della
                    // scheda (gli INPUT e OUTPUT) prima che il ciclo principale del programma si avvii.
                     // In base alla scelta I/O successivamente utilizzerò write/read
  pinMode(verde, OUTPUT);   // Imposta il pin verde (il numero 8 in questo caso) come Output. --> E' una operazione di inizializzazione
  pinMode(rosso, OUTPUT);
  pinMode(pulsante, INPUT);
  pinMode(laser, OUTPUT);

      Ethernet.begin(mac, ip);    //eseguo inizializzazione con indirizzo IP inserito su

void loop() {      // All'interno della funzione 'loop' inserisco il codice principale del programma. Contiene una serie di istruzioni che possono essere ripetute
                   // una dopo l'altra fino a quando non spegniamo la scheda Arduino.
 val = digitalRead(pulsante); // Legge lo stato di un input Pin, ritorna HIGH se il Pin riceve della tensione oppure LOW se non c'è tensione applicata. Salvo nella variabile 'val'
 delay(5);      // Mette in pausa il programma per un numero di millisecondi specificato.
 if (val == HIGH) {     //  Controllo se il pulsante è accesso
    stato = 1 - stato;     // Conservo il valore della scelta fatta col pulsante.
 if (stato == HIGH) {     // Se premo il pulsante accendo il sistema
    digitalWrite(rosso, LOW);  // Spengo il pin rosso (il numero 9 in questo caso)
    digitalWrite(verde, HIGH);   // Accendo il pin verde
    digitalWrite(laser, 1);  // Accendo il laser
    luce = analogRead(A0); // Leggo il valore dal pin analogico passato alla funzione e lo salvo nella variabile 'luce'
      // La funz. legge la tensione applicata a un ingresso analogico e ritorna un numero tra 0 e 1023 che rappresenta le tensioni tra 0 e 5 V.
    if (luce<100) {
        tone(3, 500);    // Genera un'onda quadra alla frequenza specificata. Sintax: tone(pin,frequenza). L'onda viene generata sul pin passato alla funzione
else {     // Se premo il pulsante accendo il red rosso e spengo il sistema
 noTone(3);     // Disattivo la funzione 'tone' utilizzata prima. (=spengo il buzzer)
 digitalWrite(verde, LOW);
 digitalWrite(rosso, HIGH);
 digitalWrite(laser, 0);
 UpdateTemp();     // chiamata alla funzione UpdateTemp

 while(client.available()){ // con il metodo available verifico che ci siano dati da leggere
    char c =;   // leggo i dati mediante il metodo read. leggo un byte alla volta

    if (!client.connected()){ // con il metodo connected controllo che il server non abbia chiuso la connessione
        client.stop();      // stop del client
  delay (1000);

void UpdateTemp(){
client.connect(server, 80);
if (client.connect(server, 80)){

    strURL = "GET/arduino/finale.php?flag="; //creo l'url utilizzando una stringa
    strURL+= "HTTP/1.1";

    //invio la richiesta al server
    client.println("Connection: close");

    client.stop();//chiudo la connessione
    else {
        Serial.println("Errore connessione");
I wanna use a HDMI switch to change the input channels inside my arcade cabinet, i wanna use the existing 3 way switch of the arcade cabinet to set every state to a chosen input. inside is a HDMI Switch µC (PI3HDMI 336) that communicates with an IC or µC true I²C (Ic or µC doesn't have a name)

Because i'm Still on the Noob Level With Coding (i have used I²C only for master slave, arduino to arduino.) i wanna use the Unknown component to change the input channel. this IC is the changer and reacts to a button to change 1 by 1, and a IR receiver to change to a specific channel. i wanna replace the IR receiver with an Arduino so i can let the arduino change the channel.

the IR codes are
chnl 1 = FF906F
chnl 2 = FFE01F
chnl 3 = FF02FD

i know there are a lot of problems bypassing the IR Receiver but i hope that there is a way.

if you guys can make something of the i²c communication than that would be even better but like i said its out of my knowledge.

there is still a problem that when you change to a channel that doesn't have an active connection it doesn't change. so the hdmi wont switch at that point.

It switches by it self when a new channel activates but i wanna bypass this by sending the channel code on a loop.

what i know about the unknown component is:


pin1 = Vcc??
pin2 = I²C
pin3 = I²C
pin4 = (goes to HDMI Output)
pin5 = Unconnected
pin6 = IR receiver
pin7 = Button
pin8 = gnd

the HDMI Switch it self is an: Maxxter 3 port HDMI interface switch Udc=5v, IMax=1A

Thanks in regards
Pages: [1] 2 3 ... 10