How to echo a different field if another field is empty?

You might try to replace the foreach( $myCarousel as $carousel ) with:

foreach($myCarousel as $carousel){
    $myimg = get('projectdetails_image',1,$carousel);
    if ( !$myimg ) {
        // use this if you want to show a default image when no image is available in the post
        $myimg = get_template_directory_uri().'/images/default_banner.jpg';
    }
    if ( $myimg ) {
        echo "<div class="item".( $counter == 0 ? " active' : '' )."'>";
        echo '<img src="';
        echo $myimg;
        echo '"/>';
        echo "</div>";
        $counter++;

        $videos = get_order_field('video_vimeo');
        foreach($videos as $video){
            if ( get('video_vimeo',TRUE) ) {
                echo "<div class="item black"><div id='video-wrap'>";
                echo get('video_vimeo',1,$video);
                echo "</div></div>";
            }
        }
    }
}