Table des matières:

NOCAR (Notificación De Carga): 5 étapes
NOCAR (Notificación De Carga): 5 étapes

Vidéo: NOCAR (Notificación De Carga): 5 étapes

Vidéo: NOCAR (Notificación De Carga): 5 étapes
Vidéo: Samsung No Carga - Limpiar Entrada del Cargador 100% 2024, Juillet
Anonim
NOCAR (Notification De Carga)
NOCAR (Notification De Carga)

Résumé

Nous créons de nouvelles technologies et techniques chaque année. Dans le passé, la machine à vapeur était la première étape de quelque chose que nous appelions la révolution industrielle. L'être humain ne s'est pas attardé depuis lors. Nous avons créé des machines pour nous faciliter la vie, et à chaque fois, nous essayons d'améliorer les choses et les processus que nous avons déjà créés.

La voiture moderne a été introduite pour la première fois en 1886. Depuis lors, elle a connu un grand développement sur de nombreux aspects. De la limitation de vitesse, au contrôle du poids, il a changé et pris de nombreux chemins. Une nouvelle technologie a rendu la voiture sans carburant fossile: la voiture hybride. Cependant, cette méthode a des limites plus restreintes. Un inconvénient est le temps qu'il faut pour recharger. Ce n'est pas si facile que d'aller à la station-service et de remplir le réservoir en quelques minutes. Certaines voitures ont besoin d'heures pour se recharger. Beaucoup si la station-service est à proximité d'une zone de loisirs ou d'une zone commerciale, cependant. Et cela a du sens, si cela prend plus de temps pour remplir votre batterie, cela ne sert à rien d'être là tout le temps donc cela vous donne la possibilité d'aller où vous voulez en attendant. Cependant, une fois la voiture rechargée, si vous n'avez pas sorti votre voiture de la borne de recharge, une amende sera infligée à votre voiture. L'objectif de ce produit est de résoudre un problème normal dans les futures voitures hybrides (les voitures hybrides ont un grand pari sur la table). Nous implémentons un système de circuit utilisant une Dragonboard 410c. Il vous envoie un e-mail pour vous avertir que la charge énergétique de votre voiture atteint un certain pourcentage. De cette façon, vous pouvez faire vos activités sans avoir à vous soucier de savoir si votre voiture est toujours en charge ou si elle est prête (et susceptible d'être condamnée à une amende). Bien qu'ici au Mexique, ce genre de problème ne semble pas se poser, plus tôt que prévu, de nouveaux systèmes prendront le pas sur les combustibles fossiles, et les voitures hybrides joueront un rôle important. De nouvelles lois ont été établies et les amendes sont désormais un fait, et non une idée lointaine.

Crédit d'image: Clipper Creek: bornes de recharge pour véhicules électriques

Étape 1: Matériaux

  • DragonBoard 410c
  • Mezzanine pour 96Planches
  • Protoboard
  • Cavalier
  • Bouton
  • Résistance 10 ohms
  • Potenciomètre 10k ohm
  • Condensateur 150 pF
  • Puce ADC0804

Étape 2: Coder

#comprendre

#comprendre

#comprendre

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

int GPIO_PIN1 non signé;

int GPIO_PIN2 non signé;

int GPIO_PIN3 non signé;

int GPIO_PIN4 non signé;

int GPIO_TRANSIS non signé;

int non signé GPIO_SELECT;

int GPIO_ENTER non signé;

int GPIO_LEDTEST non signé;

indicateur entier;

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 état_transis=0;

int last_touch_b;

int last_touch_l;

int led_state = 0;

int état_buzzer = 0;

int en cours d'exécution = 1;

_attribute_((constructeur)) static 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))

{

aller à l'échec;

}

libsoc_gpio_set_direction(gpio_pin1, INPUT);

libsoc_gpio_set_direction(gpio_pin2, INPUT);

libsoc_gpio_set_direction(gpio_pin3, INPUT);

libsoc_gpio_set_direction(gpio_pin4, INPUT);

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, SORTIE);

if((libsoc_gpio_get_direction(gpio_pin1) != ENTRÉE)

|| (libsoc_gpio_get_direction(gpio_pin2) != ENTRÉE) || (libsoc_gpio_get_direction(gpio_pin3) != ENTRÉE) || (libsoc_gpio_get_direction(gpio_pin4) != ENTRÉE)

|| (libsoc_gpio_get_direction(gpio_transis) != ENTRÉE) || (libsoc_gpio_get_direction(gpio_select) != ENTRÉE) || (libsoc_gpio_get_direction(gpio_enter) != INPUT) || (libsoc_gpio_get_direction(gpio_ledtest) != SORTIE))

{

aller à l'échec;

}

en courant)

{

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)

{

valeurBoton++;

if(valorBoton==4)

{

valeurBoton=0;

}

}

if(valorBoton==3)

{

valeurTestLED=1;

libsoc_gpio_set_level(gpio_ledtest, valorLEDTest);

}

}

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

{

printf("l'application de la ressource gpio échoue !\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);

}

renvoie EXIT_SUCCESS;

}

Étape 3: Circuit électrique

Circuit électrique
Circuit électrique
Circuit électrique
Circuit électrique
Circuit électrique
Circuit électrique
Circuit électrique
Circuit électrique

Ce circuit fonctionne comme un convertisseur analogique-numérique. Il prend le signal d'un potenciomètre qui vient dans une valeur comprise entre 0 et 5 volts, puis le convertisseur le transforme en un signal numérique entre 0 et 255 bits et l'envoie aux ENTRÉES DragonBoard.

Étape 4:

Développé par:

Alfredo Fontes

Mauricio Gomez

Jorge Jiménez

Gérard Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Conseillé: