Inhaltsverzeichnis:

NOCAR (Notificación De Carga): 5 Schritte
NOCAR (Notificación De Carga): 5 Schritte

Video: NOCAR (Notificación De Carga): 5 Schritte

Video: NOCAR (Notificación De Carga): 5 Schritte
Video: 1 HORA DE COSAS QUE NO SABÍAS! 👀⏰ [XpressTV] 2024, November
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Abstrakt

Wir entwickeln jedes Jahr neue Technologien und Techniken. In der Vergangenheit war die Dampfmaschine der erste Schritt zu etwas, das wir Industrielle Revolution nannten. Der Mensch hat sich seitdem nicht aufgehalten. Wir haben Maschinen entwickelt, die unser Leben einfacher machen, und versuchen jedes Mal, die Dinge und Prozesse, die wir bereits gemacht haben, zu verbessern.

Das moderne Auto wurde erstmals 1886 vorgestellt. Seitdem hat es in vielerlei Hinsicht eine große Entwicklung erfahren. Vom Tempolimit bis zur Gewichtskontrolle hat es sich verändert und viele Wege beschritten. Eine neue Technologie machte das Auto ohne fossile Brennstoffe aus: das Hybridauto. Diese Methode hat jedoch eingeschränktere Grenzen. Ein Nachteil ist die Zeit zum Aufladen. Es ist nicht so einfach, zur Tankstelle zu gehen und den Tank in ein paar Minuten zu füllen. Manche Autos brauchen Stunden, um das Aufladen abzuschließen. Viele jedoch, wenn sich die Tankstelle in der Nähe einer Erholungszone oder Einkaufszone befindet. Und es macht Sinn, wenn es länger dauert, den Akku zu füllen, hat es keinen Sinn, die ganze Zeit dort zu sein, also gibt es Ihnen die Möglichkeit, in der Zwischenzeit dorthin zu gehen, wo Sie möchten. Sobald das Auto jedoch aufgeladen ist und Sie Ihr Auto nicht aus der Ladestation genommen haben, wird Ihr Auto mit einer Geldstrafe belegt. Das Ziel dieses Produkts ist es, ein normales Problem in zukünftigen Hybridautos zu lösen (Hybridautos haben eine große Wette auf den Tisch). Wir implementieren ein Schaltungssystem mit einem Dragonboard 410c. Es sendet Ihnen eine E-Mail, um Sie darauf hinzuweisen, dass die Energieladung Ihres Autos bis zu einem bestimmten Prozentsatz liegt. Auf diese Weise können Sie Ihren Aktivitäten nachgehen, ohne sich Gedanken darüber machen zu müssen, ob Ihr Auto noch aufgeladen wird oder ob es bereit ist (und wahrscheinlich eine Geldstrafe bekommt). Auch wenn hier in Mexiko ein solches Problem nicht aufzutreten scheint, werden neue Systeme früher als erwartet die fossilen Brennstoffe ersetzen, und die Hybridautos werden eine wichtige Rolle spielen. Neue Gesetze wurden erlassen, und Geldstrafen sind jetzt eine Tatsache, keine ferne Idee.

Bildquelle: Clipper Creek: Ladestationen für Elektrofahrzeuge

Schritt 1: Materialien

  • DragonBoard 410c
  • Zwischengeschoss für 96Boards
  • Protoboard
  • Überbrückungskabel
  • Druckknopf
  • Widerstand 10 Ohm
  • Potenziometer 10k Ohm
  • Kondensator 150 pF
  • Chip ADC0804

Schritt 2: Code

#enthalten

#enthalten

#enthalten

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

unsigned int GPIO_PIN1;

unsigned int GPIO_PIN2;

unsigned int GPIO_PIN3;

unsigned int GPIO_PIN4;

unsigned int GPIO_TRANSIS;

unsigned int GPIO_SELECT;

unsigned int GPIO_ENTER;

unsigned int GPIO_LEDTEST;

int-Flag;

int valorBoton;

int valorLEDTest;

int pin1_state=0;

int pin2_state=0;

int pin3_state=0;

int pin4_state=0;

int last_touch_pin1;

int last_touch_p1;

int last_touch_pin2;

int last_touch_p2;

int last_touch_pin3;

int last_touch_p3;

int last_touch_pin4;

int last_touch_p4;

int select_state=0;

int enter_state=0;

int transis_state=0;

int last_touch_b;

int last_touch_l;

int led_state = 0;

int Summer_State = 0;

int läuft = 1;

_Attribut_((Konstruktor)) statisch void _init()

{

board_config *config = libsoc_board_init();

GPIO_PIN1 = libsoc_board_gpio_id(config, "GPIO-A");

GPIO_PIN2 = libsoc_board_gpio_id(config, "GPIO-B");

GPIO_PIN3 = libsoc_board_gpio_id(config, "GPIO-C");

GPIO_PIN4 = libsoc_board_gpio_id(config, "GPIO-D");

GPIO_TRANSIS = libsoc_board_gpio_id(config, "GPIO-E");

GPIO_SELECT = libsoc_board_gpio_id(config, "GPIO-G");

GPIO_ENTER = libsoc_board_gpio_id(config, "GPIO-H");

GPIO_LEDTEST = libsoc_board_gpio_id(config, "GPIO-I");

libsoc_board_free(config);

}

int main()

{

gpio *gpio_pin1, *gpio_pin2, *gpio_pin3, *gpio_pin4, *gpio_transis, *gpio_select, *gpio_enter, *gpio_ledtest;

int touch_pin1;

int touch_pin2;

int touch_pin3;

int touch_pin4;

int touch_transis;

int touch_select;

int touch_enter;

int touch_ledtest;

libsoc_set_debug(0);

gpio_pin1 = libsoc_gpio_request(GPIO_PIN1, LS_SHARED);

gpio_pin2 = libsoc_gpio_request (GPIO_PIN2, LS_SHARED);

gpio_pin3 = libsoc_gpio_request (GPIO_PIN3, LS_SHARED);

gpio_pin4 = libsoc_gpio_request (GPIO_PIN4, LS_SHARED);

gpio_transis = libsoc_gpio_request(GPIO_TRANSIS, LS_SHARED);

gpio_select = libsoc_gpio_request(GPIO_SELECT, LS_SHARED);

gpio_enter = libsoc_gpio_request(GPIO_ENTER, LS_SHARED);

gpio_ledtest = libsoc_gpio_request(GPIO_LEDTEST, LS_SHARED);

if((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))

{

ich muss scheitern;

}

libsoc_gpio_set_direction(gpio_pin1, EINGANG);

libsoc_gpio_set_direction(gpio_pin2, EINGANG);

libsoc_gpio_set_direction(gpio_pin3, EINGANG);

libsoc_gpio_set_direction (gpio_pin4, EINGANG);

libsoc_gpio_set_direction(gpio_transis, INPUT);

libsoc_gpio_set_direction(gpio_select, INPUT);

libsoc_gpio_set_direction(gpio_enter, INPUT);

libsoc_gpio_set_direction(gpio_ledtest, AUSGANG);

if((libsoc_gpio_get_direction(gpio_pin1) != EINGANG)

|| (libsoc_gpio_get_direction(gpio_pin2) != EINGANG) || (libsoc_gpio_get_direction(gpio_pin3) != EINGANG) || (libsoc_gpio_get_direction(gpio_pin4) != EINGANG)

|| (libsoc_gpio_get_direction(gpio_transis) != EINGANG) || (libsoc_gpio_get_direction(gpio_select) != EINGANG) || (libsoc_gpio_get_direction(gpio_enter) != EINGANG) || (libsoc_gpio_get_direction(gpio_ledtest) != AUSGABE))

{

ich muss scheitern;

}

während dem Rennen)

{

touch_pin1 = libsoc_gpio_get_level (gpio_pin1);

touch_pin2 = libsoc_gpio_get_level (gpio_pin2);

touch_pin3 = libsoc_gpio_get_level (gpio_pin3);

touch_pin4 = libsoc_gpio_get_level(gpio_pin4);

touch_enter = libsoc_gpio_get_level(gpio_enter);

touch_select = libsoc_gpio_get_level(gpio_select);

touch_transis = libsoc_gpio_get_level(gpio_transis);

touch_ledtest = libsoc_gpio_get_level(gpio_ledtest);

if(touch_select == 1)

{

valorBoton++;

if(valorBoton==4)

{

valorBoton=0;

}

}

if(valorBoton==3)

{

valorLEDTest=1;

libsoc_gpio_set_level(gpio_ledtest, valorLEDTest);

}

}

Fehler: if(gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf("Fehler beim Anwenden der gpio-Ressource!\n");

libsoc_gpio_free (gpio_pin1);

libsoc_gpio_free (gpio_pin2);

libsoc_gpio_free(gpio_pin3);

libsoc_gpio_free(gpio_pin4);

libsoc_gpio_free(gpio_transis);

libsoc_gpio_free(gpio_select);

libsoc_gpio_free(gpio_enter);

libsoc_gpio_free(gpio_ledtest);

}

EXIT_SUCCESS zurückgeben;

}

Schritt 3: Stromkreis

Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf
Elektrischer Kreislauf

Diese Schaltung arbeitet als Analog-Digital-Wandler. Es nimmt das Signal eines Potenziometers, das einen Wert zwischen 0 und 5 Volt hat, dann wandelt der Wandler es in ein digitales Signal zwischen 0 und 255 Bit um und sendet es an die DragonBoard INPUTS.

Schritt 4:

Entwickelt von:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivon Sandoval

Empfohlen: