Programmieren – die besten Beiträge

Arduino LED "gleichmäßiger" pulsieren lassen?

Bei dem einfachen Sketch für eine pulsierende LED ist es immer so, dass die helligkeit am Anfang sehr schnell ansteigt, dann immer langsamer, sodass es aussieht als würde sich die helligkeit fast gar nicht verändern? Hat jemand eine idee wie man das lösen könnte?

Meine idee wäre gewesen, die zählervariable in der Schleife, die die helligkeit angibt und immer mit 1 addiert wird, jedes mal zu quadrieren, oder eben hoch *irgendeine andere zahl*, sodass die helligkeit nach oben hin immer schneller ansteigt, aber es so aussieht als würde sie gleichmäßig ansteigen.

Das funktioniert aber irgendwie nicht. Wenn ich die variable in int speichere und z.b. hoch 2 rechne, geht es, das ist aber zu schnell. Mit dezimalzahlen gibt es immer eine fehlermeldung.

Wenn ich die Variable in int speichere:

Test:27:26: error: invalid operands of types 'int' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'int' and 'double' to binary 'operator^'

Das könnte wegen den 1,5 sein. Aber wenn ich die Variable in double speichere:

Test:27:26: error: invalid operands of types 'double' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'double' and 'double' to binary 'operator^'

Es ändert sich nichts. Wo liegt hier der Fehler?

FROHE WEIHNACHTEN!!!
Computer, Technik, Elektronik, programmieren, Elektrotechnik, Mikrocontroller, Arduino, LED, Technologie

Weiterleitung nach erstem Login?

Guten Tag und frohe Weihnachten. Meine Frage: ich habe vor ein paar Tagen schon einmal von einer Personengrenze in PHP gesprochen. Jedoch bin ich mit meinem Latein am Ende, da ich eher front-end Entwickler bin. Hätte vielleicht jemand einen Code-schnipsel mit dem ich nach einem Login ein timeout setze dass sich für 30 Sekunden niemand anmelden kann? Sollte dann logischerweise auf eine andere Seite weitergeleitet werden für Load-balance.
login:

<?php
include "config.php";

if(isset($_POST['but_submit'])){

    $uname = mysqli_real_escape_string($con,$_POST['txt_uname']);
    $password = mysqli_real_escape_string($con,$_POST['txt_pwd']);

    if ($uname != "" && $password != ""){

        $sql_query = "select count(*) as cntUser from users where username='".$uname."' and password='".$password."'";
        $result = mysqli_query($con,$sql_query);
        $row = mysqli_fetch_array($result);

        $count = $row['cntUser'];

        if($count > 0){
            $_SESSION['uname'] = $uname;
            header('Location: show.php');
        }else{
            echo "Falscher PIN-Code. Bitte versuche es nocheinmal oder lass es.";
        }

    }

}
?>

Crypt Seite:

 <?php
include "config.php";
$timeout = 10;

//Set the maxlifetime of the session

ini_set( "session.gc_maxlifetime", $timeout );

//Set the cookie lifetime of the session

ini_set( "session.cookie_lifetime", $timeout );

// Check user login or not
if(!isset($_SESSION['uname'])){
    header('Location: login.php');
}

// logout
if(isset($_POST['but_logout'])){
    session_destroy();
    header('Location: login.php');
}
session_start();

//Set the default session name

$s_name = session_name();


//Check the session exists or not

if(isset( $_COOKIE[ $s_name ] )) {



    setcookie( $s_name, $_COOKIE[ $s_name ], time() + $timeout, '/' );


}

else

    header("Location: login.php");

?>
programmieren, PHP

Meistgelesene Beiträge zum Thema Programmieren